Files
deepseek-harness/packages/credentials
Yichen Jiang 33e3871c77 Merge remote-tracking branch 'origin/master' into claude/unified-environment-credentials-c8841a
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.zh.md
#	.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.i18n.yaml
#	apps/cli/package.json
#	apps/cli/src/web.ts
#	examples/mcp-memory/README.i18n.yaml
#	packages/cordis/repository-plugin/README.i18n.yaml
#	packages/credentials/credentials-local/README.i18n.yaml
#	packages/credentials/credentials-local/README.zh.md
#	packages/llm/llm-deepseek/README.i18n.yaml
#	packages/web/web-search-deepseek/README.i18n.yaml
2026-08-05 12:40:20 +08:00
..

credentials/

English | 中文

The credential capability seam, as three-package shape dictates (interface / implementation / consumers):

Package Role
credentials/ Abstract ctx.credentials: branded CredentialRef references, per-operation resolve, UI-safe describe, fail-loud set/unset, the credentials/updated commit event
credentials-local/ File/environment provider: the live process environment (read-only, wins) layered over $DSH_HOME/.credentials.yaml (writable, comment-preserving edits, hot-reloaded)

Configuration files carry references to secrets (apiKeyEnv: DEEPSEEK_API_KEY), never the secrets: the settings document stays safe to sync and render, and rotating a value touches no configuration. The LLM adapters are the first consumers — they resolve their reference once per model request, which is what makes a key stored moments ago reach the very next request without restarting anything.

The seam shape leaves room for keyring-, helper-command-, and KMS-backed providers.