dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Project record system for DeepSeek Harness: node-based progress board, decision ledger, and right-sidebar UI.
把「项目结构 + 待办 + 决策」收进一套可追踪的记录系统:一棵节点树、两份文件、右侧栏一键查看。
简体中文 | English

这套系统用三个约束解决:
## 20 首页,节点 = 持久的产品面/领域,不是任务、不是阶段;dsh plugin --profile web add @notoonex/dsh-project-board
从源码安装:
dsh plugin --profile web add github:Notoonex/dsh-project-board
重启 DSH 后,右侧栏会出现「项目看板」。
插件会自动把 skill 安装到 ~/.dsh/skills/project-board/,并托管本地 board server。
在 dsh-skills-marketplace 里添加本仓库,稀疏路径填 skill。
Skill 本身不依赖插件,只要有 markdown 和 Node 就能用。
| 环境变量 | 默认 | 说明 |
|---|---|---|
DSH_PROJECTS_DIR | ~/Documents/Projects | 项目根目录,每个子目录一个项目 |
DSH_PROJECT_BOARD_PORT | 自动 | 可选;不设时从 8791 起自动找空闲端口 |
如果你的项目在别的目录,启动 DSH 前设置
DSH_PROJECTS_DIR。 不设端口时,server 会自动找空闲端口,前端也会自动探测,不需要手动配。
$DSH_PROJECTS_DIR/
└── my-app/
├── my-app 进度看板.md
├── my-app 决策台账.md
├── 踩坑.md # 可选,只放教训
└── README.md # 可选,定位/背景
规则:
* 进度看板.md 和 * 决策台账.md;project: 必须等于 stem;---
schema: project-board/1
project: my-app
archetype: web-app
nodes:
"00": 治理
"10": 全局与架构
"20": 首页
"90": 归档
---
## 20 首页
> 范围:首屏 / 导航 / 视觉
- [ ] 首屏文案定稿 · 验收: 3 秒内说清产品是什么 · 关联: D-20-01
- [ ] [[首屏是否放演示视频]] 等 owner 拍板
- [x] ~~四屏结构定型~~ `abc1234`
---
schema: decision-log/1
project: my-app
---
### D-20-01 首屏采用单 CTA
- 节点: 20 首页
- 状态: 生效
- 日期: 2026-10-24
- 可逆性: 可逆
- 理由: 首屏只保留一个动作,降低选择成本
- 备选: 双 CTA / 无 CTA
- 影响: 20
- 复审: 上线两周看转化率
决策 ID 自带节点:D-20-01 = 节点 20 的第 1 条。台账扁平按 ID 排序,天然按节点分组,不需要复制章节骨架。
Skill 在 skill/:
references/init.md:首次接入与迁移;references/operate.md:日常写任务/决策;references/schema.md:完整字段与编号规则;references/packs/:web / business / life 域包;scripts/lint.mjs:跨文件校验;scripts/scan-legacy.mjs:旧看板只读扫描,输出 mapping 草稿。node "$DSH_SKILL_DIR/scripts/lint.mjs" "$DSH_PROJECTS_DIR/my-app"
127.0.0.1,公网访问不到;dsh-app:// 属于本机应用来源,单独放行;project 参数按目录白名单校验,拒绝路径穿越;* 进度看板.md / * 决策台账.md;~/.dsh/project-board/token(权限 600);client/client.js;X-Project-Board-Token;/api/health 不校验 token,只用于端口探测;这是一次性自动配置,不需要你输入任何东西。 只有一种情况会失败:插件安装目录本身是只读的(例如全局 npm 安装)。用
dsh plugin add装到 profile 目录通常是可写的。
kept local skill edit);~/.dsh/skills/project-board/ 或其中的 .manifest.json,重启 DSH。侧栏勾选不再按行号硬写:
[T-<节点>-<序号>] → 按 ID 找;~~删除线~~,不改任务原文(链接、反引号、加粗都保留)。npm test
测试包含:
lint 正常/异常 fixture;上架步骤见 PUBLISHING.md。
MIT
DSH Project Board turns project structure, todos and decisions into one trackable system: a node tree, two Markdown files, and a right-sidebar view.
Three constraints:
## 20 Home; a node is a durable product surface or domain, not a task or a phase.As a DSH plugin (recommended):
dsh plugin --profile web add @notoonex/dsh-project-board
Source install:
dsh plugin --profile web add github:Notoonex/dsh-project-board
Restart DSH; a "Project Board" tab appears in the right sidebar. The plugin installs the bundled skill into ~/.dsh/skills/project-board/ and manages the local board server.
Skill only: add this repo to dsh-skills-marketplace with sparse path skill.
| Variable | Default | Description |
|---|---|---|
DSH_PROJECTS_DIR | ~/Documents/Projects | Project root; one subdirectory per project |
DSH_PROJECT_BOARD_PORT | auto | Optional fixed port; otherwise 8791–8800 are probed |
DSH_PROJECT_BOARD_SKILL_DIR | ~/.dsh/skills/project-board | Advanced: override the skill install path |
$DSH_PROJECTS_DIR/
└── my-app/
├── my-app 进度看板.md
├── my-app 决策台账.md
├── 踩坑.md # optional
└── README.md # optional
The file suffixes are Chinese by design (进度看板.md, 决策台账.md). The project: frontmatter must equal the file stem.
---
schema: project-board/1
project: my-app
archetype: web-app
nodes:
"00": 治理
"20": 首页
---
## 20 首页
> 范围:首屏 / 导航 / 视觉
- [ ] 首屏文案定稿 · 验收: 3 秒内说清产品是什么 · 关联: D-20-01
- [ ] [[首屏是否放演示视频]] 等 owner 拍板
- [x] ~~四屏结构定型~~ `abc1234`
---
schema: decision-log/1
project: my-app
---
### D-20-01 首屏采用单 CTA
- 节点: 20 首页
- 状态: 生效
- 日期: 2026-10-24
- 可逆性: 可逆
- 理由: 首屏只保留一个动作,降低选择成本
- 备选: 双 CTA / 无 CTA
- 影响: 20
- 复审: 上线两周看转化率
Field names are Chinese (节点, 状态, 日期, ...) because the parser and the skill use them.
~/.dsh/project-board/token (mode 600).client/client.js.X-Project-Board-Token; /api/health is public for port probing.kept local skill edit).~/.dsh/skills/project-board/ or its .manifest.json.[T-<node>-<seq>] are preferred; otherwise the server matches by node plus task text.~~; links, code spans and bold are preserved.127.0.0.1 only.Origin is rejected with 403.project is validated against the directory whitelist; path traversal is rejected.* 进度看板.md / * 决策台账.md inside the project directory.npm test
Covers lint fixtures, board and decisions APIs, 401, 403, path traversal, content-based toggle and markdown preservation.
See PUBLISHING.md.
MIT