Organize folders and sessions into projects with shared PROJECT.md memory and AGENTS.md instructions injected into every session, plus a project tree sidebar.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:lanyun077/dsh-project
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
DeepSeek Harness 的「项目」插件:把多个文件夹 + 多个会话 + 一份共享记忆/指令收敛到一个项目实体,作为叠加层补齐 DSH 缺失的"项目"概念(不改内核)。
能力
- 收纳性:侧边栏「项目」入口 → 项目树(项目 → 文件夹 → 会话)。一个项目可挂多个文件夹(每个自动注册为工作区),会话可拖入/移出。
- 项目内新建会话:在项目的任意文件夹里一键新建会话(复用
workspaces.connectWorkspace)。 - 记忆互通:项目级
PROJECT.md共享记忆——本项目所有会话开始时整体注入;agent 用project_memory_write工具追加、project_context读概览。 - 项目指令:项目级
AGENTS.md注入本项目每个会话的 system-prompt 段(热重载)。 - 工具:
project_memory_write、project_context。
架构
| 半 | 文件 | 说明 |
|---|---|---|
| host | index.js |
cordis 插件:/api/dsh-project/* 路由、工具注册、project:context system-prompt 段 + agent/pre-step 记忆注入、公告 |
| host | store.js |
ProjectStore:~/.dsh/projects/<id>/(project.json + AGENTS.md + PROJECT.md),原子写 |
| browser | client.js |
ModuleLoader bundle:侧边栏入口(DOM 注入)+ center-column 项目面板(独立 React 根)+ fetch API |
数据模型
~/.dsh/projects/<id>/
├── project.json # { id, name, description, folders:[{path,workspaceId}], sessionIds, archived, ... }
├── AGENTS.md # 项目指令(注入系统提示)
└── PROJECT.md # 项目共享记忆(会话开始整体注入)
注入
project:contextsystem-prompt 段(text为函数,按context.scope(agent)动态渲染当前项目):项目名/简介/文件夹/AGENTS.md。agent/pre-step:把PROJECT.md快照 prepend 到会话第一条用户消息。
安装
本地插件,参考 DSH 插件装载约定(cordis.patch.yml + profile node_modules 解析):
- 让
dsh-project可被 profile 解析(如file:../dsh-project依赖或 node_modules 软链)。 - 在 profile 的
cordis.patch.yml加:- insert: - id: project name: 'dsh-project' - 重启 DSH web(
dsh web)。
限制 / 已知取舍
- 会话显式归属项目(在「项目」面板创建/加入),不按目录自动推断。
PROJECT.md为整体注入(无向量检索),保持精简;结构化检索留待 v2。- v1 不做项目级 MCP/技能/默认模型/跨会话子任务派发。
Links
More in this category
volcengine/OpenViking#examples/dsh-memory-plugin★ 28649
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
vectorize-io/hindsight#coding-agents★ 20034
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
dsh-engramory★ 154
The Engramory curated-memory discipline as an installable plugin ([npm: dsh-engramory](https://www.npmjs.com/package/dsh-engramory)): a deterministic 200-line / 25 KB cap on the `MEMORY.md` index via `ctx.tools.guard()` — growth denied, a shrinking rewrite always passes — plus the protocol registered as a runtime skill. The store is plain markdown, one file per fact, shared with Claude Code, Codex, Kiro, and OpenClaw.
bowenliang123/dsh-context★ 107
Context insight panel: see what the model's context window is made of and how it evolves — composition vs. window size, per-request history, compression/injection events, and per-message token stats.
Co-Engram/Co-Engram★ 68
Self-evolving team memory as plain Markdown in git: a native Cordis plugin that registers 38 bare-name memory tools plus a prompt-signals section re-evaluated at every assembly, with RPE reinforcement, decay and sleep consolidation; shares one data repo with its Claude Code (MCP) and OpenClaw hosts; verified against DSH 0.1.0-rc.6.
omdsh-dev/dsh-mnemon★ 55
Cross-agent, local-first persistent memory plugin for DeepSeek Harness (DSH), powered by Mnemon. It shares long-term memory across Mnemon-enabled agents and adds runtime memory, searchable project documents, semantic recall, knowledge graph, and a Sidebar UI.