deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
为 DeepSeek Harness Web GUI 开发的音效播放器插件,
所有操作都集成在设置菜单中(设置 → 音效播放器)。发布为 DSH 客户端插件(dsh.client),支持 GitHub / npm / tarball 分发。
本插件是「音效播放器」,在用户进行对话时,可以在各种阶段(对话终止,请求权限,子代理完成等)发出提示音,提醒用户处理相应状况。
设置页音效播放器(设置 → 音效播放器)
【√】发送消息时播放【提示音1】;内置默认音效(开箱即用,七种默认情况已预绑定)
[合成] / [系统],不可删除,随时可重新绑定。内置情况
turn-end)user-message)approval-requested)ask_user_question,question-requested)stream-error)subagent-complete,任意子代理跑完)last-subagent-complete,当前会话树内所有运行中的子代理全部完成)供其他插件使用的 API(ctx.get("soundPlayer") 或 window.__dshSoundPlayer__)
importAudioFile(file) / importAudioFiles(files) / importAudioDir(files)addSituation({ label, trigger, audioId?, enabled? }) → 返回 idtriggerSituation(id) / trigger(id)setSituation(id, patch)、setSituationEnabled(id, b)、setSituationAudio(id, audioId)、removeSituation(id)listSounds() / listSoundsMeta() / deleteSound(id) / listSituations() / getState() / setEnabled / setVolume / setOnlyCurrentSession / subscribe(fn) / stopAll()| trigger | 含义 |
|---|---|
turn-end |
对话完成(AI 结束一轮回答) |
user-message |
发送消息时 |
approval-requested |
权限请求时 |
question-requested |
被提问时 |
stream-end |
服务终止时 |
subagent-complete |
子代理运行完成 |
last-subagent-complete |
最后一个子代理运行完成 |
manual |
手动触发(由插件调用 triggerSituation(id)) |
插件可通过 addSituation 注册自己的情况,并用 triggerSituation(id) 触发;把
自定义 trigger 值传给 addSituation 后,需由插件自己在合适的时机调用
triggerSituation(id) 播放(框架只识别上面列出的内置 trigger 事件)。
要求已安装 dsh CLI(dsh --help 存在)。
dsh plugin add github:LaoQianwocao/dsh-sound-player
第一次安装若 pnpm 提示需要允许构建脚本,把打印出的包 key 填入
profile 的 pnpm-workspace.yaml 的 allowBuilds,然后重跑 add。
pnpm pack
dsh plugin add ./dsh-sound-player-0.2.0.tgz
在 profile 的 cordis.patch.yml 中插入:
- insert:
- id: sound-player
name: dsh-sound-player
之后无需改动任何官方文件,重启 dsh web 服务并刷新浏览器页面,即可在设置菜单看到「音效播放器」。
本仓库打上 GitHub topic:dsh-plugin(在仓库 Settings → Topics 添加),即可被
dshfind.com 收录 —— 它索引 topic 为 dsh-plugin 的公开仓库。
package.json — 声明 dsh.client(platform: web)与 dsh.bundle(自注册行)cordis.patch.yml — 注册本插件的宿主端行(plugin row)lib/index.js — 宿主端(Node half)占位client.js — 浏览器端全部功能(存储 / 音效引擎 / 事件监听 / API / 设置页 UI)dsh.client.inject 声明的包级依赖为:
@deepseek-ai/dsh-client-connection、@deepseek-ai/dsh-client-runtime。
运行时服务依赖(exports.inject):connection、sessions、slots。
dsh-sound-player 库),配置保存在 localStorage,
均只对本浏览器生效;清浏览器数据会清掉音效库。sessions 列表中 origin=subagent 会话的
running 状态翻转检测;「最后一个子代理运行完成」在当前会话树内运行中的
子代理数量从 ≥1 降到 0 时触发。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。