feat(web): mount the config plane in dsh web and pin the Models page keyless

apps/cli/cordis.yml gains settings-local, credentials-local, and the bare
dormant llm-pi-ai row (manifest deps added for the resolver contract);
llm-deepseek drops its !!js apiKey inline for per-request credential
resolution. Both adapters tag apiKeyEnv role('credential-ref') so the
form mounts the credential control. The web e2e scaffold isolates a
harness home per run — an in-process boot must never touch the
developer's real ~/.dsh — and the new models-settings scenario pins the
whole loop through the shipped app: dormant directory as add vocabulary,
schema-driven editor apply landing in settings.yaml, the route
registering live (topology frame), and a write-only key landing in the
temp .env with the configured badge converging. A hermetic test-owned
reference name keeps a developer's real provider keys from flipping the
badge. schema-form joins the platform module table (seed + externals)
so client bundles share one instance.
This commit is contained in:
Yichen Jiang
2026-07-30 09:29:40 +08:00
parent 686e40ebf6
commit 0d96676f35
19 changed files with 347 additions and 36 deletions

12
pnpm-lock.yaml generated
View File

@@ -209,6 +209,9 @@ importers:
'@deepseek-ai/dsh-compact-basic':
specifier: workspace:^
version: link:../../packages/compact/compact-basic
'@deepseek-ai/dsh-credentials-local':
specifier: workspace:^
version: link:../../packages/credentials/credentials-local
'@deepseek-ai/dsh-frontend':
specifier: workspace:^
version: link:../web
@@ -236,6 +239,9 @@ importers:
'@deepseek-ai/dsh-llm-deepseek':
specifier: workspace:^
version: link:../../packages/llm/llm-deepseek
'@deepseek-ai/dsh-llm-pi-ai':
specifier: workspace:^
version: link:../../packages/llm/llm-pi-ai
'@deepseek-ai/dsh-llm-retry':
specifier: workspace:^
version: link:../../packages/llm/llm-retry
@@ -263,6 +269,9 @@ importers:
'@deepseek-ai/dsh-session-title-first-message-llm':
specifier: workspace:^
version: link:../../packages/session-title/session-title-first-message-llm
'@deepseek-ai/dsh-settings-local':
specifier: workspace:^
version: link:../../packages/settings/settings-local
'@deepseek-ai/dsh-skill':
specifier: workspace:^
version: link:../../packages/skill/skill
@@ -1612,6 +1621,9 @@ importers:
'@deepseek-ai/dsh-client-modules':
specifier: workspace:^
version: link:../modules
'@deepseek-ai/dsh-client-schema-form':
specifier: workspace:^
version: link:../schema-form
'@deepseek-ai/dsh-client-ui-primitives':
specifier: workspace:^
version: link:../ui-primitives