mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
Desktop sessions can switch provider and model while a CLI subprocess is already alive, so the server now serializes runtime restarts and marks provider-managed launches to prevent stale settings env from overriding the selected provider. Provider settings also write API key env consistently and clear stale managed keys before syncing. This includes the related desktop/docs brand asset refresh and keeps the desktop locale default in Chinese, with tests updated to match the current provider semantics. Constraint: Session-scoped model selection must win over cc-haha/settings.json and inherited ANTHROPIC_* values. Rejected: Store the selected model as a global provider activeModel | chat runtime selection is per session. Confidence: high Scope-risk: moderate Directive: Do not remove CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST without validating Desktop provider switching against stale settings env. Tested: bun test src/server/__tests__/conversation-service.test.ts src/server/__tests__/conversations.test.ts src/server/__tests__/providers.test.ts src/server/__tests__/providers-real.test.ts Tested: cd desktop && bun run test src/stores/settingsStore.test.ts Tested: cd desktop && bun run lint Tested: git diff --check Not-tested: Full desktop production package/signing.
27 lines
1.3 KiB
XML
27 lines
1.3 KiB
XML
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
|
|
<defs>
|
|
<radialGradient id="g1" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(592 402) rotate(90) scale(130)">
|
|
<stop stop-color="#FFD56A"/>
|
|
<stop offset="1" stop-color="#F6B23E"/>
|
|
</radialGradient>
|
|
<filter id="glow" x="470" y="280" width="244" height="244" filterUnits="userSpaceOnUse">
|
|
<feGaussianBlur stdDeviation="18" result="blur"/>
|
|
<feColorMatrix in="blur" type="matrix" values="1 0 0 0 0.95 0 1 0 0 0.63 0 0 1 0 0.14 0 0 0 0.7 0"/>
|
|
<feBlend in="SourceGraphic"/>
|
|
</filter>
|
|
<linearGradient id="accent" x1="684" y1="298" x2="834" y2="726" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#F6B34C"/>
|
|
<stop offset="1" stop-color="#FF8A2A"/>
|
|
</linearGradient>
|
|
</defs>
|
|
|
|
<g>
|
|
|
|
<path d="M310 350 L510 512 L310 674" stroke="#F5F0E6" stroke-width="64" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<rect x="440" y="690" width="120" height="48" rx="20" fill="#F5F0E6"/>
|
|
<path d="M684 298 H834 V726 H684" stroke="url(#accent)" stroke-width="64" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<g filter="url(#glow)"><path d="M592 334L608.8 385.2L660 402L608.8 418.8L592 470L575.2 418.8L524 402L575.2 385.2L592 334Z" fill="url(#g1)"/></g>
|
|
</g>
|
|
</svg>
|