前言¶
DSH 的会话里经常聊得很热闹,最后真正要动手的几件事散在历史消息里,要么手动记到别的工具里,要么下一轮再让模型复述一遍。dsh-gor-tasks 就是为这个缺口做的:它给 DSH 左侧栏加一个「待办任务」入口,任务挂在项目下管理,也能在对话里直接增删,还能把一条助手回答一键拆成多条待办。插件由 gorwayne 维护,当前版本 1.2.0,License 是 MIT。
下面先介绍它是什么,再走一遍功能、安装和用法。
一、定位¶
一句话:这是 DSH 的客户端插件,把项目化的待办管理嵌进界面和对话里,数据存在本机。
它和「让助手记住别忘了某件事」的做法差别在于,任务是条目化的对象,有所属项目、状态、优先级、截止日期,可以过滤、检索、批量导入导出,而不是留在对话文本里。
二、核心功能¶
界面。侧栏多一行「待办任务」,行尾红圈数字是「快到期」的未完成任务数。面板是三栏:左边项目列表,中间任务列表,点任务从右侧滑出编辑抽屉。窄窗口下自动折叠。
任务字段包括标题、说明、状态、优先级、截止日期。状态四种:待办、进行中、受阻、已完成。
项目分类。任务必须挂在项目下,默认项目是「收集箱」。项目可以新建、改名、改色、删除,还可以拖拽排序,顺序即显示顺序,收集箱也能拖。删除项目前会提示连带删掉多少个任务。
过滤与检索。可以按全部任务或单个项目看,按进行中 / 全部 / 已完成筛,也能按关键字搜索。
两种视图。列表视图按状态分页签;看板视图四列分别对应四种状态,卡片可以直接拖到别的列改状态,选择会记住。
对话里管理。插件向模型暴露 9 个工具,覆盖项目和任务的增删改查,另有一个批量建任务的 task_bulk_add。
回答拆成任务。每条助手回答的操作条上(复制、点赞那排)有一个「拆成任务」按钮,可以选择用你自己配置的模型把回答拆成多条任务,也可以不调模型、按行或标点粗拆。
主题。配色全部取自 DSH 主题变量,跟随 DSH 的浅色 / 深色设置(含跟随系统)自动切换,没有单独的配置项。
数据可带走。系统设置里可以导出 JSON(项目 + 任务 + 设置),文件名带时间戳;换台机器导入即可还原。导入会覆盖当前全部数据,导入前有二次确认并显示文件里的条数。
三、安装与启用¶
需要先说明现状:插件还未上架应用市场。README 的说法是「应用市场:待上架后,在 DSH 的插件市场里搜『待办任务』一键安装即可」。也就是说目前没有一条开箱即用的安装命令,只能走开发态挂载。
开发态的做法是把仓库 clone 到本机,在 profile 里用符号链接挂上去,改代码后刷新页面即可生效,不用重装。
git clone git@github.com:gorwayne/dsh-gor-tasks.git
然后在 cordis.patch.yml 里写插入点:
- insert:
- id: dsh-gor-tasks
name: "@local/dsh-gor-tasks"
并在 profile 的 package.json 里把路径换成实际 clone 位置:
{
"dependencies": { "@local/dsh-gor-tasks": "link:/path/to/dsh-gor-tasks" }
}
插件的包名和声明来自 package.json:@gorwayne/dsh-gor-tasks,dsh.bundle 指向 ./cordis.patch.yml,dsh.client 声明了 web 平台和三个 client 依赖注入。
有一点值得记住:Host 侧(index.js)改完要停用再启用插件,或者重启 DSH;只改 client.js 的话刷新页面就够了。
四、典型用法¶
进入界面后点侧栏「待办任务」,三栏界面里操作:
- 「+ 新建任务」:标题必填,项目、状态、优先级、截止日期可选;
- 项目行 hover 出现
✎(改名)、✕(删除)、⋮⋮(拖动); - 顶栏右侧齿轮是系统设置。
不想切界面时,可以直接在对话里让助手调工具。下面这段是 README 里的示例:
帮我在「产品改版」项目下加三条任务:整理竞品截图、写改版说明、约设计评审,最后一条要在这周五前完成。
把「写改版说明」标成进行中。
列出这个项目还没做完的任务。
工具清单如下:
| 工具 | 作用 |
|---|---|
project_list / project_create / project_update / project_delete |
项目的查、建、改、删 |
task_list / task_create / task_update / task_delete |
任务的查、建、改、删 |
task_bulk_add |
一次加多条(拆分的落库就走它) |
「拆成任务」第一次点会问要不要用你自己配置的模型来拆,同意后记住这个选择,之后直接拆;拒绝则按行 / 标点粗拆,草稿可以手改,不消耗额度。拆出来的每行一条,底部选项目,保存后进入对应项目,notes 里会记下来源消息。想关掉模型拆分,去「系统设置 → 任务拆分」关掉开关,之后连询问都不会再出现。
五、系统设置¶
点顶栏齿轮打开,所有设置立即保存:
| 设置 | 默认 | 说明 |
|---|---|---|
| 使用我配置的模型拆分任务 | 开 | 关掉后只做按行粗拆,不调用任何模型 |
| 在左侧图标上显示红圈数字 | 开 | 角标数字 = 未完成且「已逾期」或「N 天内到期」的任务数 |
| 提前 N 天算「快到期」 | 3 | 范围 0–30,0 表示只看逾期和今天到期 |
| 导出 JSON | — | 项目、任务、设置一次性导出,文件名带时间戳 |
| 导入 JSON | — | 覆盖当前全部数据,导入前二次确认并显示条数 |
六、数据与存储¶
数据全部在本机,一个 JSON 文件:
$DSH_HOME/integrations/gor-tasks/tasks.json
写入采用「临时文件 + 原子重命名」并做了串行化,避免并发写坏。文件格式:
{
"version": 1,
"projects": [{ "id": "p_inbox", "name": "收集箱", "color": "#8b8fa3", "order": 0 }],
"tasks": [{ "id": "t_x1", "projectId": "p_inbox", "title": "写周报", "status": "todo", "priority": "normal", "due": "2026-11-08" }],
"settings": { "useModelSplit": true, "dueReminder": true, "dueSoonDays": 3 }
}
导出文件用 format: "dsh-gor-tasks/export" 标记,导入时认这个形状;缺项目引用的任务会自动归到收集箱。
七、适用场景与注意¶
适合这类人:日常用 DSH 对话推进工作,任务散落在会话里,希望就近落成条目,不愿意再开一个专门的任务工具。
需要注意几点。第一,插件以当前 DSH 进程的权限运行,Host 侧会读写本机 $DSH_HOME 下的数据并暴露 RPC 工具,安装前应先打开源码核对,确认工具和存储行为符合预期,MIT License 见仓库根目录。第二,目前还没有应用市场安装路径,得按上面的开发态方式挂载。第三,导入 JSON 会覆盖现有全部数据,只有导出备份时才能回退。
目录结构方面,Host 逻辑在 index.js(存储、RPC、9 个工具),界面在 client.js(侧栏图标、任务面板、拆分弹窗、设置),另有 locale/、icon.svg 和 README 截图目录。
小结¶
dsh-gor-tasks 做的事很单纯:给 DSH 补上一个条目化的待办入口,让任务有项目归属、有状态、有检索,并且可以从对话和回答里直接落库。它目前还没上架市场,要用得自己 clone 挂载,但本机 JSON 存储加上导入导出,数据不依赖这套界面。
目录页:https://www.skillhub.cn/plugins/gorwayne/dsh-gor-tasks
仓库:https://github.com/gorwayne/dsh-gor-tasks