Introduction¶
The core philosophy of DeepSeek Harness (DSH) is “Everything is a plugin.” reatcat/l123-harness packages a field-tested agent methodology as a plugin, providing capability components such as context injection, gate approvals, event logging, and memory distillation. This plugin supports both Claude Code and DeepSeek Harness, and provides an L1-L2-L3 three-tier memory system.
The design of this plugin follows the principle that “the host is the kernel, and plugins only provide capability components.” It does not include project knowledge; instead, it uses setup scripts to help a project build a local memory skeleton. Subsequent project knowledge is accumulated by the project itself.
Core Features¶
The plugin provides the following capabilities:
- L1-L2-L3 three-tier memory system: L1 is resident in
CLAUDE.md, L2 is the index, and L3 is the details. - Gate approvals: an approval process for protected files.
- Non-judgmental event log: objectively records tool errors and command output without subjective inference.
- Weekly review distillation: refines the event log and puts candidate conclusions into the inbox.
- TDD execution flow: uses the red-green test cycle as the stop condition.
- Dual host support: compatible with both the Claude Code plugin and DeepSeek Harness (dsh).
Installation and Activation¶
In a DeepSeek Harness environment, install it with the following command:
dsh plugin --profile web add github:reatcat/l123-harness
Local Development Notes¶
During local development, if you use the dsh plugin add <local path> command, the system will use pnpm link and will not install the bridge dependencies declared by the plugin. This will cause hooks to degrade (only skills are available, with a warning at startup). For local validation, it is recommended to use a tarball, or run pnpm install inside the plugin directory first.
How It Works¶
The plugin bridges lifecycle events through hooks to implement memory and gate features:
| Layer | Carrier | Characteristics |
|---|---|---|
| L1 resident | CLAUDE.md |
A small, stable cache prefix: principles, priorities, safety baselines, and routing tables |
| L2 index | .agents/INDEX.md |
symptom → one-line rule → L3 pointer; automatically injected by the SessionStart hook |
| L3 details | .agents/** |
knowledge / pitfalls / runbooks / current / events / inbox |
After setup, users can use skill commands to perform initialization and weekly reviews.
Typical Usage¶
/l123-harness:init-harness # 新项目装机:生成 L1/L2/L3 骨架 + 门禁清单
/l123-harness:event-review # 周审:读事件日志 → 候选进 inbox → 陪同分流
The everyday automation parts (L2 injection, gate interception, and event logging) are automatically run by hooks bridged at the corresponding lifecycle points.
Notes¶
- Pure JS with no build required: the project itself does not need build tools.
- Project knowledge accumulation: the plugin only provides the skeleton; project knowledge is accumulated by the project itself.
- Hook limitations: in the hook bridge, the
PreCompactandSessionEndevents are not yet implemented. - Permissions and source: the plugin runs with the permissions of the current dsh process. It is recommended to check the source code and license (MIT) before installation.