DeepSeek Harness 插件

dsh-satori

Satori protocol adapter for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Hoshino-Yumetsuki/dsh-satori
最近更新
2026年8月20日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Hoshino-Yumetsuki/dsh-satori
插件名:dsh-satori
作者:Hoshino-Yumetsuki

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-satori

DeepSeek Harness(DSH)的 Satori 协议适配器,通过 Satori Events WebSocket 接收事件,并通过 HTTP API 回复消息

Transport

  • 连接 ${eventsUrl}/v1/events,发送 Satori IDENTIFY
  • 处理 READYEVENTPINGPONG,服务端支持时使用最新事件序号 sn 恢复连接
  • 通过 POST ${apiUrl}/v1/message.create 回复消息,并携带 Satori 平台与用户请求头

传输层接收 Satori 事件;只有 message-created 事件创建 Agent 交互,其余事件不创建会话或回复。WebSocket 入站负载上限为 1 MiB。

安装

dsh plugin --profile web add dsh-satori

配置

字段默认值说明
apiUrlhttp://127.0.0.1:5140Satori HTTP API base URL
eventsUrlws://127.0.0.1:5140Satori Events WebSocket 地址
tokenRefSATORI_ACCESS_TOKEN访问令牌的 DSH credential ref
platformsatoriSatori 平台名称
userIdSatori 账号用户 ID
reconnectInterval5000重连间隔(毫秒)
requestTimeout30000HTTP API 请求及图片下载超时(毫秒)
heartbeatInterval30000WebSocket 心跳间隔(毫秒),0 禁用
commandPrefix非空时要求此前缀,并从 prompt 移除
respondToPrivatetrue响应私聊
respondToGrouptrue响应群聊
groupMentionOnlytrue群聊要求提及机器人
userAccessModedisableddisabledallowlistblocklist
userIds[]用户 ID 列表
groupAccessModedisableddisabledallowlistblocklist
groupIds[]群 ID 列表

数组在设置 UI 中每行一个 ID,保存时去空白并且去重。token 存入 DSH credentials,配置只保存引用名称。

- id: satori
  name: dsh-satori
  config:
    apiUrl: http://127.0.0.1:5140
    eventsUrl: ws://127.0.0.1:5140
    tokenRef: SATORI_ACCESS_TOKEN
    platform: satori
    userId: ''
    reconnectInterval: 5000
    requestTimeout: 30000
    heartbeatInterval: 30000
    commandPrefix: ''
    respondToPrivate: true
    respondToGroup: true
    groupMentionOnly: true
    userAccessMode: disabled
    userIds: []
    groupAccessMode: disabled
    groupIds: []

消息与回复

  • 访问控制顺序为私聊/群聊开关、用户名单、群消息的群名单,最后是提及与前缀。ID 转为字符串后进行匹配;空 allowlist 拒绝全部会话,空 blocklist 允许全部会话
  • 回复由会话作用域内的 satori_reply 提交候选;同一轮多次调用时以后一次为准,仅在 Agent 本轮进入 idle 后向当前来源发送一次文本回复。插件只开放 message.create,不会转发 agent loop 的中间助手文本
  • satori_reply 支持引用入站消息。当前版本不上传出站图片;若候选包含图片则记录警告并继续发送其中的文本
  • 入站图片只接受公网 http(s) URL 或带媒体类型的 data: URL,限制重定向、总下载时间和字节数后经 DSH attachments 保存 durable ref;不读取 Satori 服务端本地路径,单独 base64:// 因缺少可信媒体类型而拒绝
  • 有 session persistence 时,先以 list() 精确判断存在再恢复会话,否则创建一个新会话;恢复会话错误时不会回退。Satori API 无法删除 DSH 会话历史,历史需在 DSH 侧管理

开发

yarn install
yarn lint
yarn build

许可证:MPL-2.0