DeepSeek Harness plugin

dsh-experience-flywheel

dsh-experience-flywheel · DSH 经验飞轮插件 — agent cross-session experience memory + dual-acceptance gates (auto query/inject via agent/pre-step middleware; exit-1 gate scripts)

Jump to install

Source facts

Repository
XZDYM/dsh-experience-flywheel
Latest update
Aug 16, 2026
Category
Workflow & Automation
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/XZDYM/dsh-experience-flywheel
Plugin: dsh-experience-flywheel
Author: XZDYM

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

dsh-experience-flywheel · DSH 经验飞轮插件

> Give your DeepSeek Harness agent a cross-session "muscle memory": > it automatically queries past lessons before each step and injects hits, > automatically verifies claimed file writes, and wraps deterministic > exit-1 gate scripts (plan-gate / close-gate / verify-claims) as slash commands. > > 给 DeepSeek Harness agent 装上跨会话"经验肌肉记忆":每轮动手前自动查经验并注入命中, > 写完文件自动校核"声称写了"是否真写了,并把确定性的 exit-1 闸门脚本 > (plan-gate / close-gate / verify-claims)包成 slash 命令。 > > Status: v0.1.0 released — see [DESIGN.md](./DESIGN.md).

Why / 为什么造它

Pure-text LLM agents wake up fresh every session: yesterday's pitfalls, preferences, decisions are gone. This plugin turns "learn from experience" from "hope the model remembers" into server-side automation: the agent/pre-step middleware runs the experience query every turn without the model choosing to, the same seam dsh-repeat-tool-reminder already uses.

How / 怎么工作

  • ctx.on("agent/pre-step") → auto query store, inject top-K hits as a system message.
  • ctx.on("tools/post-execute") → after file-write tools, auto-run verify-claims.
  • Claims hygiene (F2/F3): per-agent claimed-write set is bounded — verified paths are

removed after a PASS, capped at maxClaimsPerAgent (default 50), and pruned by claimsTtlMs (default 24h), so long sessions never re-verify history forever. Claimed paths are extracted by tool-name whitelist + path-shape checks (extractClaimedPaths), so non-write tools (e.g. browser element refs) never trigger false-positive verifies.

  • Session-safety (F4): injected plugin messages carry a UUID message.id (local

createUserMessage factory mirroring @deepseek-ai/dsh-llm), because DSH session events of type user/message must satisfy assertMessageEventShape (data.message.id required, dsh-session lib/index.js:1248) — bare messages corrupt the whole session log.

  • Search quality (F1): markdown search is word-boundary aware — standalone tokens

(独立词) score 1.0, embedded-only matches (e.g. 经验 inside 经验库) are demoted to 0.3, so noisy substring hits rank below precise ones while recall is preserved.

  • slash commands /flywheel-search /flywheel-remember /plan-gate /close-gate /verify wrap exit-1 scripts.
  • Backend: local markdown folder by default (zero deps); set OPENVIKING_URL to upgrade to vector retrieval.
  • Honest limit (软硬): rc.6 event listeners that throw are warned, not fatal — a true

kernel-level "exit 1 prevents delivery" veto is not supported; the gate's exit 1 is injected as a hard blocking instruction + visible trajectory marker instead. See DESIGN §8.

Install / 安装

dsh plugin --profile web add github:<owner>/dsh-experience-flywheel

Then restart DSH web. GitHub topic: dsh-plugin.

Decoupled / 去私货

No OpenViking hard-binding, no hardcoded paths, no personal rules. The kernel is the flywheel protocol + gate contracts; your private AGENTS.md stays yours. An optional examples/agents.md.fragment is provided for users who want to wire the protocol into their own instructions.

License

MIT.