noname-dsh-plugin:把項目記憶做成可審覈的 DSH 工作流資產

前言

在 DeepSeek Harness(DSH)裏做多輪 agent 協作時,常見問題是:上一會話裏的關鍵決定、理由和進度,下一回合未必能穩定接上;工具輸出堆在上下文裏,也不等於經過確認的長期記憶。社區插件 noname-dsh-plugin(維護者 yuchenlogin,GitHub 倉庫 yuchenlogin/noname-dsh-plugin,分類爲工作流)把 NoName Agent Harness 的記憶基座接到 DSH:證據追加寫入、記憶分版本、品味單獨審覈、批准流程留本地賬本。下面介紹它是什麼、能做什麼,以及如何安裝與走通一條典型流程。

這是什麼

一句話定位:NoName Agent Harness 的 DSH 插件——context as an asset:append-only 證據、版本化記憶、品味作爲一等公民、經審覈的批准(見倉庫 package.json 描述與 README)。

實現上,TypeScript 插件連接本機 Python sidecar;Python 基座僅用標準庫與 SQLite,不需要另配模型 API key。插件是記憶與證據適配層:DSH 仍負責模型、工具執行、權限和調度;NoName 獨立 runtime 的執行審批門與沙箱不會自動接管 DSH。

當前插件版本 0.6.0,許可證 MIT(內核遵守原 NoName 倉庫許可)。

核心功能

記憶分層與「什麼該記」

README 用表格歸納了內容去向,要點如下:

內容 合適的去處
項目約束、關鍵決定及原因 noname_remember 的 high 候選,確認後成爲項目記憶
階段成果、阻塞與下一步 mid 候選,保留可繼續工作的最小信息
用戶明確表達的判斷與例子 自述品味;必須來自用戶明確要求
從模型表現中觀察到的喜好 品味候選,用戶明確採納後生效
普通工具輸出、暫時想法、每一輪聊天 需要時留作證據,不逐條變成長期規則

決定變更時複用同一邏輯鍵(例如 storage 從 SQLite 改爲 PostgreSQL);新候選確認後取代當前版本,舊決定仍留在來路里。品味是軟影響,不是事實或永久命令。

工具結果留證,不等於長期記憶。 自動留證(autoIngest)、提出候選、人工確認是三個階段。

面向 agent 的工具集

工具 用途
noname_record 留下決定、發現或約束作爲證據;返回來源事件 ID(evt_…)
noname_remember 由證據提出項目決定或工作進度候選;不會自動批准
noname_package 組裝項目記憶、偏好與相關證據,供新會話接續
noname_search 查找證據與記憶
noname_state 查看已批准狀態;可選 layer,不填則返回 high 與 mid
noname_inbox 查看候選及其來源
noname_taste_add / noname_taste_propose / noname_taste_review 品味自述、提議與 adopt / edit / pause / resume / retire
noname_card_queue 需要複覈的品味卡
noname_ledger 本地可審覈頁面與離線 HTML 快照
noname_verify 賬本完整性及哈希覆蓋範圍
noname_extract 默認預覽抽取;create_candidates: true 才創建待審候選

noname_remember 必填:layer(high / mid)、穩定主題 key、可讀 text、一個 source_event 事件 ID,以及 reason。可選 next_step。須先 noname_record 再引用真實 ID。

本地交互式賬本

noname_ledger 返回本機 live ledger URL 與離線 HTML 路徑。頁面分區包括:此刻、等你判斷、品味與偏好、來路與變化、活動檔案。項目決定與工作進度支持接受、拒絕、暫緩、修改後接受;簽署人和理由寫入同一賬本。

服務僅監聽 127.0.0.1,URL 帶訪問令牌,不要公開分享。一小時無活動後自動退出;遠程 DSH 需把返回 URL 的端口轉發到本機相同端口(README 示例:ssh -L 45678:127.0.0.1:45678 your-host)。當前 DSH host 插件不能註冊 client 的 sidebarRightTabs,賬本通過瀏覽器打開。

配置與數據位置

字段 默認 說明
pythonPath python3 本機 Python;建議絕對路徑
dbDir 空 默認 <項目>/.noname;指定後固定目錄
autoIngest true 將宿主工具結果寫入證據流;跳過 NoName 自身工具避免回聲
timeoutMs 30000 Python sidecar 調用超時(毫秒)

一個工作區一本賬,多會話共享;無法解析工作區時回落到 $DSH_HOME/noname。建議將 .noname/ 加入 .gitignore。不同 profile 若指向同一工作區,可能共用賬本;需隔離時顯式配置不同 dbDir。

安裝與啓用

環境要求:DeepSeek Harness、Node.js 18+、Python 3.10+(見 package.json 的 engines)。

從源碼安裝時 README 給出的步驟如下。注意必須執行 npm run build,使 dist/ 與當前 TypeScript 一致;DSH 安裝與 profile 細節見 DSH 官方指南。

git clone --recursive https://github.com/yuchenlogin/noname-dsh-plugin.git
cd noname-dsh-plugin
npm install
npm run build
dsh plugin --profile web add /absolute/path/to/noname-dsh-plugin

插件目錄頁:SkillHub — yuchenlogin/noname-dsh-plugin(社區目錄站點,與 DeepSeek / 幻方無官方從屬關係)。

安裝前請自行審閱倉庫源碼與 MIT 許可證。插件以當前 dsh 進程權限運行,能訪問其配置的工作區與本機 Python sidecar;不要在未信任的環境盲目啓用。

典型用法:從空賬本到下一回合接續

啓用插件後,在 DSH 項目工作區內可按 README「快速開始」走通一遍:

  1. 讓 agent 調用 noname_package 查看當前項目。初次會創建空賬本,空記憶不會僞裝成已記住內容。
  2. 正常討論一個決定(例如「首版用 SQLite,因爲只在本地運行」),用 noname_record 留下決定和理由,取得 evt_… 來源 ID。
  3. 用 noname_remember 提出候選:穩定鍵 storage、人能讀懂的決定、來源 ID 和保留理由。
  4. 調用 noname_ledger,打開 live ledger URL,查看來源並簽署。
  5. 在新會話讓 agent 再調 noname_package,確認已批准內容與來源出現在上下文包中。

README 也明確:記憶審覈在本地網頁由人簽署;插件沒有後臺 LLM 自動提煉,也不保證宿主每次會話開始都會自動調用 noname_package。

適用場景與邊界

適合誰: 需要在 DSH 工作流裏保留「決定 + 理由 + 來源」、並希望人工批准後再進入長期上下文的團隊或個人;重視品味與偏好但要求與用戶明示、審覈生命週期分開處理的場景。

邊界(README「信任與現有邊界」):

  • autoIngest 捕獲工具結果,不是全量聊天歸檔;長輸出保留受限摘要,有價值內容仍應主動 noname_record。
  • 完整性校驗:noname_verify 的 hash_coverage 會報告 v1 / v2 哈希覆蓋差異;數據在本機,不表示自動加密或脫敏。
  • 開發側:npm run build、npm test、npm run check:kernel 用於構建與內核快照一致性;運行時依賴 vendor/noname_harness_pkg/ 快照。

結尾

noname-dsh-plugin 把 NoName 的「可追溯項目記憶」接到 DSH:證據追加、候選提議、本地賬本簽署、下一回合用 noname_package 接續。目錄頁見 SkillHub 插件頁,源碼與完整工具說明見 GitHub 倉庫 README。

羽毛球分组比赛记分
小程序二维码

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

小夜