Skip to content
dsh.fish
Bundle

meow-dsh-task

dsh 插件:跨会话、离线、git 共享的任务追踪 + 任务管理 UI(双面插件包:node 半 storage/webServer 路由 + browser 半 slot 注入)

Source
meimiaoji-creator
stars
1 stars
License
MIT
Updated
Updated 11 hours ago

Readme

# meow-dsh-task

> **dsh-plugin** for DeepSeek Harness(DSH):跨会话、离线、git 共享的任务追踪 + 任务管理 UI(双面插件包)。

[![Listed on dsh-plugin.org](https://dsh-plugin.org/badges/listed.svg)](https://dsh-plugin.org/plugins/meimiaoji-creator/meow-dsh-task)

meow-dsh-task 给 DSH 会话补上"团队任务追踪"这一层:任务、研发计划、检查点、评审、issue、交接清单全部落盘为 JSON 真相层(`.dsh-task/`),并自动渲染成团队可读的 markdown(`docs/tasks/`)随仓库共享。模型侧通过 15 个 `meow_dsh_task_*` 工具读写;人类侧通过 `/meow-dsh-task` 命令组与内置的任务管理页(`/meow-task`)查看。与 dsh 原生任务体系(todo_write / plan / goal)并行共存,独立存储独立前缀,零 dsh 源码改动(纯 Cordis 注入)。

---

## 界面展示
<img width="2549" height="1242" alt="current-task" src="https://github.com/user-attachments/assets/947e36eb-3159-4dfb-8e24-ebd03c6b8ebd" />
<img width="2549" height="1242" alt="tash-config" src="https://github.com/user-attachments/assets/be6100bf-76af-44bf-857b-6631c1da9b89" />


## 安装

通过 dsh 官方插件管理器安装(profile = web,npm 源):

```bash
dsh 插件 --profile web add meow-dsh-task
```

如果想直接装 GitHub 仓库的 main 分支:

```bash
dsh 插件 --profile web add github:meimiaoji-creator/meow-dsh-task
```

本地调试(仓库目录内):

```bash
dsh 插件 --profile web add link:./
```

安装完成后,重启 dsh:输入框右端出现 **任务** 按钮,点击即打开任务面板(内嵌 `/meow-task` 页,含任务清单与「高级配置」tab,可按工作区设置 taskRoot 覆盖)。

---

## 功能

### 15 个 `meow_dsh_task_*` 工具(模型侧)

任务生命周期全覆盖,全部从当前会话工作区自动解析存储实例:

| 工具 | 用途 |
|---|---|
| `meow_dsh_task_init` | 初始化任务清单(新任务/新阶段起点) |
| `meow_dsh_task_list` | 列出当前计划的任务("暂无任务"触发引导协议) |
| `meow_dsh_task_claim` | 认领任务(仅"待开始"且未被认领,带并发保护) |
| `meow_dsh_task_status_update` | 更新任务状态 |
| `meow_dsh_task_checkpoint_append` | 追加检查点日志(断点续跑依据) |
| `meow_dsh_task_todo_update` | 维护任务内子待办 |
| `meow_dsh_task_review_start` / `review_close` | 开启/关闭评审里程碑 |
| `meow_dsh_task_issue_report` / `issue_resolve` | 上报/解决评审 issue |
| `meow_dsh_task_handoff_write` | 写交接清单(5 字段,供接盘者恢复上下文) |
| `meow_dsh_task_plan_create` / `plan_list` / `plan_switch` / `plan_close` | 研发计划管理(任务按计划分组,`.dsh-task/plans/<planId>/`) |

### `/meow-dsh-task` 命令组(人类侧)

```
/meow-dsh-task <plan|init|list|claim|status|checkpoint|todo|review|issue|handoff> ...
```

不加子命令或传 `help` 显示用法。

### 任务管理页 + JSON API(web 侧)

- `/meow-task`:任务管理页(按 `?workspace=` 参数切换工作区;含任务清单与「高级配置」tab,配置按工作区保存)
- `/api/meow-task/*`:JSON API(读请求携带的 workspace 参数,或默认工作区)
- 输入框右端 **任务** 按钮打开任务面板(覆盖会话视图),纯 React + 内联样式,无第三方 UI 依赖

![meow-dsh-task 任务管理页](docs/screenshots/task-page.png)

> 截图占位:在本地 dsh(web profile)跑起来后,打开 `/meow-task` 页截一张真实图覆盖 `docs/screenshots/task-page.png` 即可。

### 系统提示词注入

五协议按 order 110–114 注入(`ctx.systemPrompt.section`):

| 协议 | order | 触发时机 |
|---|---|---|
| `meow-dsh-task:bootstrap` | 110 | `.dsh-task/` 无任务文件时教模型先初始化 |
| `meow-dsh-task:startup` | 111 | 开工/接盘前先读记忆恢复上下文 |
| `meow-dsh-task:exec` | 112 | 执行期纪律(认领、检查点、不直接改文件) |
| `meow-dsh-task:complete` | 113 | 阶段性完成/关键决策时记检查点 |
| `meow-dsh-task:review` | 114 | 评审与 issue 回流 |

### 多工作区 + git 共享

- taskRoot 解析链:插件配置显式指定 > 环境变量 `MEOW_DSH_TASK_ROOT` > 当前会话工作区(`session.header.cwd`)> `process.cwd()`;每个工作区各自缓存存储实例
- 真相层 `<taskRoot>/.dsh-task/plans/<planId>/`(JSON/JSONL)自动渲染为 `<taskRoot>/docs/tasks/` markdown,正文没变就跳过写,缩小团队合并冲突面

---

## 工具输出示例

### `meow_dsh_task_claim`

```
已认领 T-07《标准化 README》→ engineer(runId a1b2c3…)
下一步:先读 docs/02 现状,再动手改。
```

### `meow_dsh_task_checkpoint_append`

```
检查点已追加(T-07 #2):五协议接线完成,渲染 notifier 组合挂到 storage.onCreate。
```

### `meow_dsh_task_handoff_write`

```
交接清单已写入:目标/已完/半成品/卡点/下一步 5 字段齐全,接盘者可凭 runId 续聊原实现者。
```

---

## 权限与运行时行为

### 会做

- **写文件**(仅限三处):
  - `<taskRoot>/.dsh-task/` —— 任务真相层(JSON/JSONL,模型不直接编辑,全部走工具)
  - `<taskRoot>/docs/tasks/` —— 渲染产物(团队可读 markdown,纳入 git)
  - `$DSH_HOME/meow-dsh-task/workspace-config.json`(无 `DSH_HOME` 时 `~/.dsh/`)—— 高级配置(taskRoot 覆盖等)
- **注册工具**:15 个 `meow_dsh_task_*`(`ctx.tools.register`)
- **注册命令**:`/meow-dsh-task`(`ctx.commands.register`)
- **注入系统提示词**:5 个 section,order 110–114(`ctx.systemPrompt.section`)
- **注册 Web 路由**:`/meow-task`、`/meow-task/static`、`/api/meow-task`(`ctx.webServer.register`)
- **注入 client 槽位**:`conversation.input.right`(任务按钮)、`shell.overlay`、`conversation.view`(任务面板)

### 不会做

- ❌ 不读聊天记录 / 会话历史 / 其他插件配置
- ❌ 不调用任何 DSH 之外的第三方 API,完全离线(无 telemetry、不向外发请求)
- ❌ 不修改 DSH 源码(零源码改动,纯 Cordis `apply(ctx)` 注入)
- ❌ 不持久化任何用户隐私(落盘内容只有任务/计划/检查点等协作元数据)

---

## 兼容性

| 项目 | 要求 |
|---|---|
| **DSH profile** | 仅 `web`(强依赖 `webServer` 服务) |
| **DSH runtime** | `@deepseek-ai/cordis ^0.1.0` |
| **运行平台** | Node 18+,ESM only |

### 已知不兼容

- ❌ TUI / CLI profile(client 槽位与 web 路由均不可用)
- ❌ 旧版 cordis API(`inject`/`apply` 形态)

---

## 依赖与 peer

- `peerDependencies`:`@deepseek-ai/cordis ^0.1.0`
- `client.inject`:`@deepseek-ai/dsh-client-runtime`、`@deepseek-ai/dsh-client-ui-conversation`、`@deepseek-ai/dsh-client-ui-layout`
- 运行时零第三方依赖(仅 Node 内置模块:`node:os`、`node:path`、`node:fs`)

---

## 开发

本仓库以**编译产物**形态维护:`lib/`(ESM)+ `cordis.patch.yml`(bundle 组合层,只插入一行 `meow-dsh-task`)就是运行与发布的全部内容,插件行为以 `lib/` 为准。

- 本地调试安装:`dsh 插件 --profile web add link:./`
- 配置示例(`cordis.patch.yml` 中取消注释即可):`taskRoot` 显式指定、`repoMap` 多仓库前缀映射

---

## License

[MIT](./LICENSE) © meimiaoji-creator

Install

dsh plugin --profile web add github:meimiaoji-creator/meow-dsh-task

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source