DeepSeek Harness Plugin

fieldnote-ops/keyringseam

Stars ★ 1 Category Models & Providers Added 2026-08-15

macOS Keychain credential provider that replaces the local-file provider and uses a signed, notarized universal helper.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:fieldnote-ops/keyringseam

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).

README

Self-test

KeyringSeam is an experimental macOS Keychain-backed implementation of the DeepSeek Harness ctx.credentials seam. Its bundle disables the base credentials row with the exact expected package-name guard, then inserts one KeyringSeam provider row. It keeps a non-empty launch environment value as the read-only highest-priority source and stores managed values as generic-password items in the user's default Keychain.

简体中文

KeyringSeam is an independent, AI-assisted open-source project by FIELD NOTE. It is not affiliated with, sponsored by, or endorsed by DeepSeek or Apple. DeepSeek Harness is named only to describe compatibility; macOS and Keychain are Apple trademarks.

Unit tests cover the provider contract with a fake store. A disposable macOS Keychain write/read/describe/delete lifecycle and a clean-profile DeepSeek Harness 0.1.0-rc.6 replacement boot both passed locally on 2026-08-14. The hosted consumer matrix uses HarnessProof to install locked dependencies in an isolated plugin copy before checking DSH rc.6, latest, and experimental next. The package carries a universal arm64 + x86_64 helper built from the included Swift source, so consumer machines do not need Swift, Xcode, or the Apple command-line developer tools. The exact helper is signed with Developer ID Application, Hardened Runtime, and a secure timestamp; Apple notarization submission 4a707bd7-4d84-4310-acf1-71d37c3dcebb was accepted with no issues and covers both architecture CDHashes. Independent security review, independent-user adoption, and non-macOS backends are not claimed.

Proof at a glance

Surface Verified behavior
Secret transport A fixed bundled helper reads a bounded JSON request from stdin; the secret is not placed in a shell command or process argument.
Consumer runtime The universal helper directly calls Apple's Security framework. Consumer machines do not need Swift, Xcode, Apple command-line developer tools, or the /usr/bin/security CLI.
Binary provenance The exact arm64 + x86_64 helper is Developer ID signed with Hardened Runtime and a secure timestamp; its matching Apple notarization ticket is accepted.
Harness integration The bundle replaces the exact credentials row and preserves a non-empty environment value as the read-only highest-priority source.
Compatibility evidence A disposable real-Keychain lifecycle, a clean-profile DSH rc.6 boot, and hosted rc.6/latest/next consumer jobs have passed.

Install

dsh plugin --profile web add github:fieldnote-ops/keyringseam#15b33d29796cfb2417f9cb8cca940c805f5fc9f6

The full commit above is the last publicly verified runtime revision. Inspect main for ongoing development, but pin a reviewed commit when real credentials are in scope.

KeyringSeam intentionally replaces the credentials bundle row. Review the generated profile diff before using it with real credentials. The current release supports macOS 13 or newer only.

Security design

  • The secret is never placed in a shell command or process argument. A bundled native helper reads a JSON request from stdin and calls Apple's Security framework directly.
  • The executable path is fixed inside the package, shell is disabled, no arguments are passed, output is capped, and calls time out.
  • The helper targets macOS 13 or newer and contains both Apple Silicon and Intel slices. npm run build:helper reproduces it from src/keychain-helper.swift; release packaging verifies both architectures and the code signature.
  • New managed items are non-synchronizable, device-only, and available only while the user Keychain is unlocked. Requests are capped at 64 KiB; v0.1 credentials are capped at 16 KiB of single-line UTF-8.
  • v0.1 rejects multiline credentials because the prompt transport is line-oriented.
  • resolve holds the returned secret in the host process long enough to return it to the requesting adapter. Same-user processes, the harness host, and other plugins remain inside the trust boundary.
  • Environment values shadow Keychain items and make set/unset fail loud.

No claim of cross-platform support, independent security review, independent-user adoption, purchase validation, or income is made.

Maintainer build

npm ci
npm run build:helper
npm run check

Release signing takes one explicit Developer ID identity and verifies Hardened Runtime immediately:

./scripts/sign-helper.sh "Developer ID Application: Legal Name (TEAMID)"

Notarization uses a locally stored notarytool Keychain profile and produces both the result and full Apple submission log:

./scripts/notarize-helper.sh keyringseam-notary /absolute/output-directory

The verifier matches the Apple ticket's arm64 and x86_64 CDHashes to the exact helper. Apple publishes tickets for standalone binaries online, but currently does not support stapling a ticket directly to a standalone Mach-O; see Customizing the notarization workflow.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →