前言¶
在 DeepSeek Harness(DSH)裏做智能體或日常對話時,會話裏常會 present 出圖片、視頻或文件,鏈接和參考資料也會散落在不同線程裏。這些內容默認跟會話走,換會話或隔幾天再找,往往要在歷史記錄裏翻。若你希望「所有會話交付過的東西」有一個統一入口,並在側邊欄按類型檢索,就需要把產物從會話上下文裏抽出來,單獨建索引和存儲。
下面介紹社區插件 dsh-artifacts(維護者 modusensus,GitHub 倉庫 modusensus/dsh-artifacts)。它在 DSH 左側邊欄增加「產物」入口,按內容 SHA-256 去重,支持自動收集、手動收藏,以及模型可調用的 save_artifact 工具。社區目錄 skillhub.cn 上的條目 將其歸類爲「記憶」類插件;DSH 生態側重「一切皆插件」,該目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-artifacts 是 DSH 的「全局產物收藏夾」:跨會話收納圖片、視頻、文件和鏈接。npm 包名 dsh-artifacts,當前版本 0.2.1(見倉庫 package.json),許可證 MIT,運行環境要求 Node.js >= 22。
解決的問題可以概括爲:把分散在各會話裏的交付物彙總到 ~/.dsh/artifacts/(默認,可配置),用索引和分類 UI 查詢,而不是每次回到原會話裏找。
核心功能¶
下列能力均來自倉庫 README 說明。
瀏覽與檢索¶
側邊欄面板提供五個分類:全部 / 圖片 / 視頻 / 文件 / 鏈接,各分類帶計數,並支持關鍵詞搜索。
自動收集¶
會話中通過 present 交付的圖片、視頻、文件會自動入箱,按 SHA-256 內容去重;同一份內容多次交付,磁盤只存一份。
視頻展示¶
視頻卡片顯示首幀縮略圖,點開可在燈箱中播放。
歷史回填¶
首次啓動時可在後臺掃描歷史會話日誌,把過去 present 過、且磁盤上仍存在的文件一併收入產物庫。回填策略與範圍可通過配置控制(見下文)。
手動收藏¶
支持收藏鏈接、Ctrl+V 粘貼圖片、上傳文件。README 註明:上傳走 base64,單文件上限 25MB;present 自動收集與回填的尺寸上限爲:圖片 / 文件 ≤ 50MB,視頻 ≤ 200MB。
模型工具 save_artifact¶
插件向宿主註冊工具 save_artifact,模型可在會話中主動把鏈接或工作區文件收進產物;同一鏈接或同一份內容不會重複入庫。
卡片操作¶
支持打開(圖片燈箱 / 鏈接新標籤 / 文件查看)、複製、下載、刪除。瀏覽器無法預覽的類型會轉爲下載。
安裝與啓用¶
官方推薦從 npm 安裝到 DSH profile(profile 常用 pnpm 管理,npm 亦可)。<profile> 一般爲桌面版的 ~/.dsh/profiles/desktop。
# 1. 裝進 profile(profile 用 pnpm 管理,npm 亦可)
cd <profile> # 例如 ~/.dsh/profiles/desktop
pnpm add dsh-artifacts
# 2. 在 profile 的 package.json 裏把包登記進 bundle 列表
# dsh.profile.bundles 數組追加一項 "dsh-artifacts"
# 3. 重啓 DSH
裝完後 dsh-artifacts 落在 <profile>/node_modules/ 下,無需額外軟鏈。
若從源碼部署,README 給出 git clone、在 node_modules 下建立目錄鏈接,並在 package.json 的 dependencies 與 dsh.profile.bundles 中登記 dsh-artifacts 的步驟;完成後執行 pnpm install --ignore-scripts 並重啓 DSH。安裝前建議閱讀倉庫源碼與 MIT 許可證:插件在 當前 DSH 進程權限 下運行,會讀寫配置的存儲目錄並掃描會話日誌。
配置¶
在 profile 使用的 cordis.patch.yml 中,找到 dsh-artifacts 項,在其 config 下設置:
| 鍵 | 默認值 | 說明 |
|---|---|---|
root |
~/.dsh/artifacts/ |
存儲目錄 |
backfill |
once |
歷史回填:once 首次啓動掃一次 / always 每次啓動都掃 / false 關閉 |
backfillDays |
0 |
只掃最近 N 天會話日誌,0 表示不限 |
backfillMaxFiles |
500 |
單次回填最多掃描多少個會話日誌(按 mtime 降序) |
示例:
- id: dsh-artifacts
name: dsh-artifacts
config:
root: ~/.dsh/artifacts/
backfill: once
backfillDays: 30
存儲佈局(README):
~/.dsh/artifacts/
├── index.json # 元數據索引
├── files/
│ └── <sha256><ext> # 按內容哈希落盤
└── backfill.json # 回填進度標記
宿主還註冊 HTTP 路由:GET /api/dsh-artifacts(列表、統計、添加鏈接、上傳、改注、刪除)與 GET /api/dsh-artifacts/file/<id>(內容訪問;白名單校驗,僅索引中登記的文件可讀)。
典型用法¶
讓模型收藏鏈接或工作區文件¶
在會話中,模型可調用 save_artifact,參數示例(來自 README):
// 收藏一條鏈接
{ "kind": "link", "url": "https://example.com/doc", "title": "參考文檔", "note": "第 3 章有用" }
// 收藏工作區裏的文件
{ "kind": "file", "path": "reports/summary.md", "title": "週報" }
人工側欄操作¶
安裝並重啓後,在左側邊欄打開「產物」:用分類和搜索瀏覽自動入庫的 present 交付物;需要時粘貼圖片、上傳文件或添加鏈接。首次啓用且 backfill 爲 once 時,後臺會把符合條件的歷史交付補進庫(仍要求文件在磁盤上存在)。
適用場景與注意¶
適合誰:長期在 DSH 裏產出圖表、報告、鏈接參考資料,並希望跨會話統一檢索的開發者或智能體使用者;需要模型在對話中「順手歸檔」時,可依賴 save_artifact。
邊界(README 已知限制):
- 自動收集只覆蓋
present交付;聊天裏直接貼出但未present的圖片不會自動入箱,可讓模型調用save_artifact。 - 回填只收錄磁盤上仍存在的文件,已被清理的交付不會入庫。
- 上傳與自動收集有不同的體積上限(見上文)。
安裝插件即擴展 DSH 的文件與網絡訪問面,請在信任維護者與審閱代碼後再用於敏感環境。
結尾¶
dsh-artifacts 把 DSH 會話交付物和手動收藏集中到側邊欄「產物」裏,用去重存儲和歷史回填降低「找上次那張圖 / 那個文件」的成本。若要查看分類與簡介,可打開 SkillHub 目錄頁;安裝、配置與 API 細節以 GitHub 倉庫 README 爲準。