irisnb/dsh-credentials-keyring2

dsh-credentials-keyring

OS-keychain credentials provider (Windows Credential Manager / macOS Keychain / Linux Secret Service) for the DeepSeek Harness credential seam

包名
dsh-credentials-keyring
版本
0.1.0
许可证
MIT
最近更新
2026年8月16日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 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

FieldDefaultMeaning
servicecom.deepseek.dshKeychain 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, undefined when absent or empty.
  • describe(ref){ configured, source?, writable }never the value.
  • set(ref, value) → stores; rejects an empty value (use unset).
  • unset(ref) → deletes; deleting an absent entry is a no-op.
  • set / unset emit credentials/updated after committing, like every provider.