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 PreCompact and SessionEnd events 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.