DDDPG/dsh-plugins--plugins-dsh-plan-keeper ↗★ 0
dsh-plan-keeper
DSH Web 插件:计划持久化与工作区记忆系统。将计划捕获至本地,维护渐进式工作区记忆,并在每轮对话中注入记忆(6KB 预算),提供“产物”对话视图。
AI 分析
核心用途是持久化保存 AI 生成的计划并自动维护工作区记忆。适合需要跟踪项目交付物、让 AI 记住历史反馈和参考资料的用户。在会话页面的“产物”标签页展示。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DDDPG/dsh-plugins#543d4b046af0c67602be6d16cba7f6ed94239247&path:plugins/dsh-plan-keeper说明文档
阅读完整 README ↗dsh-plan-keeper
A DeepSeek Harness plugin: plan persistence + workspace memory, presented as a Deliverables (产物) conversation view.
Part of the dsh-plugins collection.
Layout
/.dsh-outputs/ # per-workspace outputs root (session.header.cwd)
├── plans//
│ ├── plan.md # latest plan
│ ├── revisions/NN.md # immutable snapshots
│ └── meta.json
└── memory/
├── MEMORY.md # rebuild injection index
├── meta.json # { enabled, budgetBytes, entryCount }
├── user/-.md
├── feedback/-.md
├── project/-.md
└── reference/-.md
The output root follows the session workspace (session.header.cwd), not
the deployment root.
Install
./scripts/install.sh web plugins/dsh-plan-keeper
or, as a bundle-layer package:
dsh plugin --profile web add ./plugins/dsh-plan-keeper
Then refresh the browser page and open the Deliverables (产物) tab in any session header (after Trace (轨迹)).
Note for sessions that ran the dynamic (in-session) version: the dynamic plugin registers the same
deliverablesview id with a lower shadowing priority, so it wins while it is running.cordis_stop(or undefine) the dynamicplank-1plugin before installing this package to use the packaged version.
Architecture
- Host half (
lib/index.js): plan capture & sync (tools/result,agent/turn-stopping), memory storage & index,systemPrompt.sectioninjection, thememory_writemodel tool (tools.register), and a local HTTP RPC routePOST /api/dsh-plan-keeper(webServer.register,{ method, args }JSON). - Client half (
lib/client.js): the Deliverables (产物) view — Memory (记忆) ring and Plan (计划) ring — via same-originfetchRPC.
Security note
The HTTP route is unauthenticated and bound to the harness web server
(same-origin, local development setups). It validates sessionId against
[A-Za-z0-9-]+ and only touches files under the session workspace's
.dsh-outputs/. Do not expose the harness web port beyond localhost.
Model tool
memory_write (type / topic / content) — the model is instructed to record
corrections, preferences, project decisions and external references, and not
code details, transient task state, or anything already in AGENTS.md /
CLAUDE.md. Entries are plain markdown; the user can edit or delete them in the
Deliverables (产物) view at any time.
License
MIT — see LICENSE.