irisnb/dsh-credentials-keyring ↗★ 2
dsh-credentials-keyring
OS-keychain credentials provider (Windows Credential Manager / macOS Keychain / Linux Secret Service) for the DeepSeek Harness credential seam
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗Usage
The provider implements CredentialProvider, so it plugs into the credentials seam and stores one value per credential reference (a POSIX identifier such as DEEPSEEK_API_KEY).
import { Context } from '@deepseek-ai/cordis'
import { KeyringCredentialProvider } from 'dsh-credentials-keyring'
const ctx = new Context()
await ctx.plugin(KeyringCredentialProvider, { service: 'com.your-app.desktop' })
// Consumers then resolve through the seam as usual:
const hit = await ctx.credentials.resolve(credentialRef('DEEPSEEK_API_KEY'))
// { value: 'sk-…', source: 'keyring' } | undefined
Config
| Field | Default | Meaning |
|---|---|---|
service | com.deepseek.dsh | Keychain service namespace. Set it to your app's identifier so your secrets never collide with another app's. |
Every other value lives in the keychain under (service, account), where account is the credential reference.
Semantics
resolve(ref)→{ value, source: 'keyring' }when stored,undefinedwhen absent or empty.describe(ref)→{ configured, source?, writable }— never the value.set(ref, value)→ stores; rejects an empty value (useunset).unset(ref)→ deletes; deleting an absent entry is a no-op.set/unsetemitcredentials/updatedafter committing, like every provider.