dsh-artifact
by dsh-external
文件交付协议:send_artifact 工具经 tool/result meta 携带结构化描述子
File-delivery protocol: a send_artifact tool carrying structured descriptors via tool/result meta.
安装
dsh plugin --profile web add github:dsh-external/dsh-artifactGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
dsh 的文件交付协议。模型写完文件 ≠ 用户拿到文件——本插件补上这最后一步。
注册一个 send_artifact(path, caption?) 工具:模型产出文件后调用它正式交付。插件校验文件、构造结构化描述子,随 tool/result 事件的 meta 字段进入 dsh 标准事件流——任何消费 events.mux 的客户端都能拿到并按自己的方式呈现:桌面壳弹预览卡片、IM 桥直接转发文件、headless 客户端记录路径。不引入任何自定义传输通道。
模型: (写完 report.md)→ send_artifact(path="/work/report.md", caption="周报")
← "Delivered report.md (markdown, 4096 bytes) to the user."
客户端: 在 tool/result 的 meta 里收到 ↓ 并渲染
描述子(meta 形状)
{
"kind": "artifact",
"artifactKind": "markdown",
"path": "/work/report.md",
"name": "report.md",
"mimeType": "text/markdown",
"caption": "周报",
"sizeBytes": 4096
}
artifactKind: image | video | audio | pdf | markdown | html | text | other(按扩展名分类,未知类型安全回退 other)。
同时注入一段 system prompt,教模型"产出文件后调用 send_artifact 交付;只写盘不交付用户看不到;终稿交付一次,不发中间产物"。
安装
原生挂载(默认)——dsh 主程序自带 ~/.dsh/config.yaml 个人覆盖层,三步完成,不依赖任何第三方管理器:
# 1) 取码(放哪都行)
git clone https://github.com/dsh-external/dsh-artifact ~/dsh-plugins/dsh-artifact
# 2) 链接宿主依赖(pnpm 布局下必需,背景见 marisa#2)
CHECKOUT="$(cd "$(dirname "$(readlink -f "$(command -v dsh)")")/../../.." && pwd)"
mkdir -p ~/dsh-plugins/dsh-artifact/node_modules/@deepseek-ai
ln -sfn "$CHECKOUT/packages/core/tools" ~/dsh-plugins/dsh-artifact/node_modules/@deepseek-ai/dsh-tools
# 3) 挂载并重启 dsh
cat >> ~/.dsh/config.yaml <<EOF
- insert:
- id: dsh-artifact
name: '$HOME/dsh-plugins/dsh-artifact/lib/index.js'
EOF
用 DSH Companion 的话零安装——已随应用自带。
dshx install dsh-artifact https://github.com/dsh-external/dsh-artifact && dshx verify dsh-artifact
或 dsh registry install ./dsh-artifact && dsh registry enable dsh-artifact。注意 marisa#2 修复前,装完仍需按上面第 2 步手工链接宿主依赖。
客户端接入指南
监听 mux 流的 session/event,事件 type == "tool/result" 且(经 tool/call 配对得到的)工具名为 send_artifact 时,event.data.meta 即上述描述子。kind: "artifact" 是判别字段。
开发
./scripts/build.sh # 用 dsh 检出的 tsc 编译(产物入库)
<dsh-checkout>/node_modules/.bin/vitest run --root . # 4 个 spec:真实 Cordis 组合
License
BSD-3-Clause
原始 README: https://github.com/william-jin-cmu/dsh-artifact/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent