Repository navigation
feat: BYOK settings, editable preview, and quiet installer - #15
Merged
Merged
Conversation
Allow clients to override the upstream provider for a single request via X-LLM-API-Key, X-LLM-Base-URL, and X-LLM-Model headers. Omitted headers fall back to the QINIU_* configuration. Validate key and base URL length, require an http(s) scheme, and honour VULCAN_ALLOW_CUSTOM_LLM_BASE_URL so a shared server can refuse client-supplied endpoints. Add BYOK tests and update the existing app tests for the new keyword arguments. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Store server URL, shared token, and BYOK provider settings in %APPDATA%\Vulcan\settings.json. Encrypt ServerToken and LlmApiKey with Windows DPAPI for the current user. Add a code-only settings window with test-connection and log-folder buttons, and make ApiClient resolve the server URL and token from explicit arguments, saved settings, then environment variables. Forward BYOK values as X-LLM-* headers and add a health check for the dialog. Reference System.Security and compile the new files. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Open every generated feature tree in an editable JSON window and write to SolidWorks only after the user confirms. Validate that the edited JSON still contains a feature type or feature list with params, surface parse errors in the dialog, and allow cancelling without touching the document. Add a settings button to the main panel and build a fresh ApiClient per request so saved settings apply immediately. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Relaunch install.bat and uninstall.bat through PowerShell with RunAs when the shell is not elevated, so a double-click no longer requires a manual admin prompt. Add a /quiet mode that suppresses pause and reports failures through the exit code, and pass /quiet from the Inno Setup [Run] and [UninstallRun] entries for a silent install and uninstall. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add capability rows for bring-your-own-key, the editable preview, and quiet install/uninstall. Replace the client environment-variable section with the settings dialog, the resolution order, the settings file path, and the X-LLM-* headers. Update the quick start, API reference, troubleshooting tables, roadmap, and project structure in English, Chinese, and French. Note the DPAPI storage and the shared-server override switch in SECURITY.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
X-LLM-API-Key,X-LLM-Base-URL, andX-LLM-Model. Validate length and scheme, honourVULCAN_ALLOW_CUSTOM_LLM_BASE_URL, and fall back toQINIU_*.%APPDATA%\Vulcan\settings.jsonwith DPAPI-encrypted secrets; test-connection and log-folder buttons; server URL/token resolution is argument → settings → environment.install.bat/uninstall.batself-elevate via PowerShellRunAsand support/quiet; Inno Setup runs them silently.Testing
pytestinrelease/server: 46 passed, 88.79% coverage (CI gate 85%).msbuild Vulcan.SolidWorksClient.sln -p:Configuration=Release -p:Platform=x64.SettingsStoreDPAPI round-trip exercised against the built assembly; the settings file contains no plaintext key or token.🤖 Generated with Claude Code