前言¶
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