mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Every release member now declares publishConfig.access: public, so the scope no longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored framework and the native packages. check-workspace-constraints drops the per-sequence expectation and holds every release member to public, which is what stops a member from drifting back. Access is a property of the package, not of a version: the dsh packages already published as restricted become world-readable at their next publication.
hooks/ — hook bridges + shared protocol
English | 中文
The hooks subsystem lets users extend the agent at lifecycle points the way Claude Code and Codex do — by pointing a bridge plugin at an existing hooks.json (or settings) so those external shell hooks run faithfully. The canonical extension surface itself is the harness's typed interception points (the interception extension-points Agent Note); a "native hook" is just an ordinary Cordis plugin on those extension points. These packages are the bridges that translate the external shell-hook protocol onto that same surface, plus the shared wire-protocol library they build on.
| Package | Role | Shape |
|---|---|---|
hook-protocol/ |
Shared shell-hook protocol library | library |
hooks-claude-code/ |
Claude Code hook bridge | plugin |
hooks-codex/ |
Codex hook bridge | plugin |
The shared library owns common protocol behavior; each bridge owns its dialect-specific event mapping. The child READMEs document those contracts.