dsh-tongwen:九檔收納與雙份交接的 DSH 記憶插件

前言

在 DSH 裏做多輪任務時,產物往往散落在工作區各處,下一 session 要靠聊天記錄或人工整理才能接上。常見做法是自建文件夾約定或手寫 README,但路徑不統一、機器可讀與用戶可讀各寫一套,跨會話協作仍要人當中轉。dsh-tongwen(書同文·車同軌)把「一個盤」當成檔案館:只收納、只登記、只報告,不改文件內容;同一類進固定類型目錄,所有會話走同一套交接格式。下面介紹它是什麼、怎麼裝、怎麼用。

這是什麼

dsh-tongwen 是維護者 wx-holmes 發佈的 DSH 插件,社區目錄分類爲「記憶」。簡介:書同文·車同軌 — 九檔統一收納、機器/用戶雙份交接與會話變更報告。當前 package 版本爲 0.3.21,許可證 MIT。

  • 書同文:同類進同一類型目錄,物理名 ASCII 小寫短橫線,中文僅作顯示名。
  • 車同軌:機器版交接給 DSH 讀,用戶版給人讀,路徑與格式固定。

插件以當前 dsh 進程權限運行;安裝前請自行查看 GitHub 源碼 與許可證。

九檔與五條硬規則

頂層只有九個白名單目錄,常量不可增刪;需要新分類時在檔內建二級目錄,不新增第十檔。空檔不刪,用到才建目錄。

# 目錄 中文名 放什麼
1 handoff/ 交接 交接文件、索引、方向譜系、未閉環項、項目白板、請求信箱
2 created/ 創造 dsh 幹活產出的東西
3 downloads/ 下載 聯網拉回來的東西
4 incoming/ 外來 投餵或外部導入
5 scratch/ 臨時 中間產物、可棄草稿
6 archive/ 歸檔 軟刪落點、版本備份、恢復
7 logs/ 日誌 只追加的審計
8 config/ 配置 插件版本、快照、清單
9 self/ 自身 AI 自己的文件;只收納和報告,不解析內容

五條硬規則(摘要):

  1. 頂層只有 9 檔,不新建。
  2. 寫文件前路徑不確定,先調 locate / inspect_handoff 查證,不猜。
  3. 每次任務結束,機器版和用戶版交接同時產出。
  4. 刪除一律軟刪進 archive/trash/;scratch/ 真刪要先問你。
  5. 本次方向與上次衝突時掛起問你,不自行選擇。

核心功能:十五個工具

交接與任務

工具 幹什麼
locate 按關鍵詞找已有實例,返回候選(檔、類型、實例名、交接路徑)
inspect_handoff 讀一份交接:結構化字段 + 原文,可讀歷史版本
list_handoffs 列出實例,可按類型/狀態/時間篩、分頁
update_handoff 整節替換機器版交接第 3~6 節,自動留舊版備份
begin_task 登記任務:定檔、定類型、定實例名,返回冪等鍵
end_task 結束任務:校驗產物、寫雙份交接、版本化、更新索引、寫審計
heartbeat 報一次心跳
restore 從 archive/trash 或 archive/versions 恢復文件
archive_handoff 交接實例整份軟刪進 archive/trash,並從索引摘掉

跨會話

工具 幹什麼
project_upsert 建或更新項目白板(目標、參與會話、分工、決定、當前一棒、待辦、優先級 P0–P3);status: "done" 時移入 projects/done/
project_read 讀一塊白板(已歸檔的也能讀)
project_list 列出所有白板(帶優先級;已歸檔標 archived)
inbox_send 給某會話或 any 廣播留一條請求
inbox_list 看自己的信箱(默認未處理)
inbox_close 標記請求處理完

交接文件形態

每個實例兩份,固定名,按日期分目錄;舊版進 archive/versions/:

handoff/
├── machine/YYYY-MM-DD/<實例>.machine.md    # 六節:身份 / 產物清單 / 目標與狀態 / 方向錨點 / 事實 vs 假設 / 建議入口
└── user/YYYY-MM-DD/<實例>.user.md          # 五段大白話,含「別當真」

用戶版不出現字段名、哈希、ID 或路徑。

跨會話協作

一個會話幹活、另一個接着幹,靠三樣:

  1. 項目白板 handoff/projects/<項目id>.md — project_upsert / project_read;優先級 P0–P3,默認 P2;做完 status: "done" 自動進 handoff/projects/done/。
  2. 請求信箱 handoff/inbox.jsonl — 只追加;inbox_send / inbox_list / inbox_close。
  3. 開場簡報 — 每輪系統提示帶交接根目錄、總目錄、當前一棒、項目數、待處理請求等。

begin_task 可加 project: "<項目id>";end_task 可加 next: [{to:"any", request:"..."}] 排下一棒。

handoff/README.md 爲交接總目錄,啓動與歸檔後自動重寫,按權重七段(文件 → 插件 → 工具 → A 盤 → 在辦 → 清單 → 已歸檔);新會話先讀這一頁。

安裝與啓用

在本插件目錄執行(資料原文命令):

dsh plugin --profile <profile> add <本目錄絕對路徑>

或用插件管理器:

plugin_manager { action: "install_bundle", target: "<本目錄絕對路徑>" }

裝完重啓 dsh 纔會生效。換機器後第一件事是改根路徑配置(見下節)。

配置

cordis.patch.yml 中 root 決定九檔建在哪:

- insert:
    - id: tongwen
      name: dsh-tongwen
      config:
        # 改成你自己的目錄。留空("")則落在 <用戶主目錄>/tongwen。
        # 填的路徑建不出來時也會自動回退到 <用戶主目錄>/tongwen,並在簡報裏說一句。
        root: "A:\\tongwen"

不要直接填盤根(如 "A:\\"),Windows 上對盤根創建會報 EPERM。其餘運行參數在 config/plugins/tongwen-tonggui/settings.json(插件只讀),字段與默認值見倉庫 lib/config.js。

selfScan.scope 可選 handoff(默認)或 self,決定會話變更筆記統計範圍;切換時會重建基線並在筆記中註明。

典型用法

  1. 任務開始:路徑不確定時先 locate 或 inspect_handoff;需要新實例則 begin_task(可掛 project)。
  2. 任務結束:end_task 產出 machine/user 雙份交接,更新索引與審計;需要接力時用 next 或 inbox_send。
  3. 多會話:project_upsert 維護白板與 P 級;對方 session 靠開場簡報與 inbox_list 接棒。
  4. 誤刪:restore 從 trash 或 versions 找回;整份交接廢棄用 archive_handoff。

倉庫提供四套冒煙腳本(均在臨時目錄跑,不碰真實盤根):

node scripts/smoke-core.mjs
node scripts/smoke-tools.mjs
node scripts/smoke-session.mjs
node scripts/smoke-cross-session.mjs

或 npm run smoke 一次跑齊。

適用場景與注意

適合:希望 DSH 任務產物有固定九檔結構、每次任務有機器/用戶雙交接、多 session 用白板與信箱協作而不靠人轉述的開發者。

注意:插件不評價、不解析 self/ 內容;軟刪與版本在 archive/;與上次任務方向衝突時會掛起詢問。DeepSeek Harness 生態是「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-tongwen 用九檔白名單和固定雙份交接,把「收納 + 登記 + 報告」做成可復現約定;十五個工具覆蓋任務生命週期與跨會話白板、信箱。進一步瞭解:

  • 目錄頁:https://www.skillhub.cn/plugins/wx-holmes/dsh-tongwen
  • 源碼與 README:https://github.com/wx-holmes/dsh-tongwen
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜