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 为准。

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

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

小夜