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 — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
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
vectorize-io/hindsight#coding-agents★ 60916
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
volcengine/OpenViking#examples/dsh-memory-plugin★ 42209
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.
MemTensor/MemOS#memos-local-plugin★ 12392
Local-first memory plugin for DeepSeek Harness: layered L1/L2/L3 memory with automatic capture, manual memos_* retrieval tools, and a built-in memory viewer.
agentscope-ai/ReMe#dsh★ 3799
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2873
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 1544
Cross-session memory and context recovery across forty-five other coding agents (45+) on this machine, reading session files they already wrote before install (Claude Code, Codex, Cursor, Windsurf, Trae, Antigravity, VS Code Copilot Chat, opencode, OpenClaw, Hermes, Kimi, Qoder, Cline, Zed, Magpie and more): six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall injected into runtime context. Local BM25 CLI/MCP index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.