dsh-artifacts:DSH 全局產物收藏夾

前言

在 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 爲準。

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

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

小夜