warrenop/open-preset-harness
DeepSeek Harness: Everything is a Plugin.
项目介绍Project Overview
open-preset-harness 是 DeepSeek Harness 的项目级记忆插件,在 .dsh/memory/ 建立跨预设、跨会话的共享知识库,按领域组织决策与经验,并提供 recall、remember、memory_status 工具按需读写。适合多角色团队需要沉淀安全、API、入职等可复用事实,避免每次重建上下文时使用。注意:它扩展而非替换 Harness,默认不自动写入,记忆需通过工具或注入进入会话。
open-preset-harness is a project-memory plugin for DeepSeek Harness. It creates a shared, cross-preset, cross-session knowledge base under .dsh/memory/, organizing decisions and learnings by domain, with recall, remember, and memory_status tools for on-demand access. Use it when multi-role teams need reusable facts such as security notes, API changes, or onboarding knowledge instead of rebuilding context each session. It extends Harness rather than replacing it, and automatic writing is off by default.
请帮我了解并安装插件:【open-preset-harness】【https://github.com/warrenop/open-preset-harness】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add "github:warrenop/open-preset-harness#main&path:packages/tool-project-memory"
把 warrenop/open-preset-harness 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
open-preset-harness
Project memory for multi-role AI agents — one knowledge base, every preset reads.
English | 中文
DSH Profile Bundle:
dsh-tool-project-memory· Category: Memory · Install · DSH1024 checklist
Agents forget between sessions. Teams don't.
open-preset-harness adds a project-scoped organizational memory layer on top of DeepSeek Harness: any role (preset) can contribute experience; any role can recall it when needed.
Why this exists
DeepSeek Harness separates preset (who the agent is — tools, persona, prompts) from session log (what happened in one conversation). That split is right for engineering — but team knowledge lives at the project level, not inside a single preset or session.
Without shared memory:
- A security review preset rediscovers the same auth pitfalls every sprint
- A new contributor preset repeats questions answered three months ago
- Product decisions vanish when the PM's session ends
- Token spend grows because every role rebuilds context from scratch
open-preset-harness makes project experience compound over time — like a team wiki that agents actually use, wired into the harness session log.
What it is (and is not)
| Is | Open-source project organizational memory for Harness presets |
| Is | Domain-organized, recall-on-demand, auditable contributions |
| Is not | A replacement for DeepSeek Harness (we extend it) |
| Is not | Per-preset silos or a generic vector DB demo |
| Is not | Claiming to invent "AI memory" — we integrate it correctly for multi-role teams |
Relationship to DeepSeek Harness
DeepSeek Harness (upstream, MIT)
│
├── preset = role shell (tools + persona)
├── session = episodic log (one conversation)
│
└── open-preset-harness (this project)
└── project memory = shared team experience (cross-preset, cross-session)
- Upstream: DeepSeek Harness — plugin-based agent harness on Cordis
- Our approach: Prefer plugins + conventions over a hard fork; track upstream releases
- License: MIT — we preserve upstream copyright in NOTICE
- Naming: This is an independent community project, not an official DeepSeek product
We upstream-friendly fixes when possible; project-memory features live here until (if ever) they graduate upstream.
See docs/architecture.md and docs/phase-0-memory-api.md.
Core concepts
┌─────────────────────────────────────────────────────────┐
│ Project Memory (shared) │
│ index · domains · decisions · distilled learnings │
└────────────────────────▲────────────────────────────────┘
│ write (distill) / read (recall)
┌───────────────────┼───────────────────┐
│ │ │
Preset A Preset B Preset C
(any role) (any role) (any role)
│ │ │
Session 1 Session 2 Session N
(episodic log) (episodic log) (episodic log)
- Preset — role/capability shell (unchanged Harness semantics)
- Session log — full history of one conversation (unchanged)
- Project memory — stable, distilled, searchable facts the whole team reuses
Design rules
- One memory pool per project — all presets read (governance controls write)
- Organize by domain/topic, not by preset id (e.g.
security,api,onboarding) - Index + recall on demand — don't dump the whole library every turn
- Model-visible ⟺ logged — Harness invariant; memory enters via inject/tools/session events
Default layout:
<projectRoot>/.dsh/memory/
├── index.md
├── domains/
│ ├── engineering.md
│ ├── product.md
│ └── …
└── decisions/
└── YYYY-MM-slug.md
Scenarios
| Scenario | Who writes | Who reads | Value |
|---|---|---|---|
| Cross-functional delivery | Any function | Any other preset | Decisions don't die in someone else's session |
| Engineering ↔ QA | Dev preset after API change | QA preset before test plan | Fewer alignment loops |
| Product ↔ Engineering | PM preset after scope call | Eng preset during implementation | "Why we chose B" stays attached |
| Security / compliance | Review preset after audit | All presets | Constraints propagate |
| Onboarding | Senior presets over time | New hire's preset day one | Context without senior interrupt |
| Open-source maintainers | Triage preset | Release preset | Known issues and release norms |
| Agency / client work | Account preset | Delivery preset | Client preferences travel with the repo |
| Research → writing | Literature preset | Drafting preset | Findings become citable facts |
| SRE / incidents | Postmortem preset | Debug preset | Incident learnings reduce repeats |
| Design systems | Design preset | Frontend preset | Tokens and exceptions stay aligned |
| Localization | Translator preset | Dev preset | Terminology stays consistent |
| Data / ML pipelines | EDA preset | Modeling preset | Data quirks persist |
More in docs/scenarios.md.
Status
v0.3.0 — Phase 1 distill reminder (Tier 1a) shipped; v0.2.0 supersede and v0.1.0 core remain compatible. Feedback welcome via Issues.
| Milestone | Status |
|---|---|
| Memory API spec | ✅ phase-0-memory-api.md |
.dsh/memory/ on-disk convention |
✅ |
dsh-tool-project-memory bundle |
✅ packages/tool-project-memory |
| Supersede governance (Phase 1) | ✅ phase-1-supersede.md · #4 |
| Session distill hook (Phase 1) | ✅ phase-1-distill.md · #5 |
| Dual-preset demo | 📝 deferred · #3 · walkthrough |
Roadmap
Capability-oriented, demand-driven from Issues and scenario feedback — no fixed dates.
Shipped (v0.3.0)
- Distill reminder (Tier 1a): opt-in
agent/turn-stoppinginject to callremember— default off, no auto-write
Shipped (v0.2.0)
- Supersede governance:
remember(supersedes)back-patches old entries; recall/index show active entries only expires_at/ recallexpiredwarnings- Harness smoke + CI (
scripts/smoke.sh)
Shipped (v0.1.0)
- Profile Bundle install via
dsh plugin add - Tools:
recall,remember,memory_status - Blank-session
index.mdinject (bounded) - Domain-organized memory under
.dsh/memory/
Planned (when users need them)
- Expanded scenario library and demo materials
- Distill Tier 1b (compaction reminder) and assisted/auto distill tiers
- Optional semantic search over memory
- Domain-level write governance
See docs/scenarios.md and Scenario Issues to influence priorities.
Quick start
DSH Memory plugin: packages/tool-project-memory ·
npm run checkpassing
Install (Profile Bundle — recommended)
dsh plugin --profile web add "github:warrenop/open-preset-harness#main&path:packages/tool-project-memory"
dsh --profile web --dump-config | grep dsh-tool-project-memory
Headless / CI:
dsh plugin --profile headless add "github:warrenop/open-preset-harness#main&path:packages/tool-project-memory"
From a local clone:
dsh plugin --profile web add ./packages/tool-project-memory
Develop locally
- Harness integration — link plugin into local Harness
- Dual-preset demo —
standardwrites,codereads - Open a Scenario Issue — tag
en-scenarioorcn-scenario
chmod +x scripts/link-harness.sh
./scripts/link-harness.sh /path/to/deepseek-harness-master
DSH1024 marketplace
| Field | Value |
|---|---|
| Category | Memory |
| Package | dsh-tool-project-memory |
| Install | dsh plugin --profile web add "github:warrenop/open-preset-harness#main&path:packages/tool-project-memory" |
| Listing | DSH1024 (discovery via GitHub topic dsh-plugin) |
Contributing
See CONTRIBUTING.md.
High-impact contributions right now:
- Add a scenario to docs/scenarios.md
- Review docs/phase-0-memory-api.md
- Chinese + English doc fixes
Community
- Issues — bugs, ideas, scenario requests
- Discussions — enable when repo is public
- Tag Issues with
[cn-scenario]or[en-scenario]to help us track market signals
License
MIT — see LICENSE and NOTICE.
DeepSeek Harness is © DeepSeek; modifications © contributors.
ruvnet/ruflo
amruthpillai/reactive-resume
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase
Tencent/WeKnora