dsh-danmaku
by BiggerMax
DeepSeek Harness插件:在对话页显示轨迹输出为弹幕
DeepSeek Harness plugin: display trajectory output as danmaku on the conversation page
安装
dsh plugin --profile web add github:BiggerMax/dsh-danmakuGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
将 DeepSeek Harness 轨迹功能(trajectory) 的输出以弹幕形式实时显示在对话页面中——工具调用、轮次切换、助手回复等事件会像视频弹幕一样从右向左飞过屏幕。
架构
纯客户端插件,全部逻辑在浏览器半区:
Session 轨迹事件 → Node Definitions → DanmakuBus → overlay.tsx (shell.overlay)
- 注册 5 个
ConversationNodeDefinition,匹配user/message、assistant/message、tool/call、tool/result、turn/start、turn/end事件 - 通过
ConversationViewDefinition(target:danmaku)将节点增量喂给弹幕总线 - 弹幕层注册到
shell.overlay槽位(点击穿透,覆盖全页面)
弹幕类型
| 类型 | 图标 | 边色 | 说明 |
|---|---|---|---|
| 用户消息 | 👤 | 黄色 | 仅直接人类输入,跳过合成上下文 |
| 助手回复 | 🤖 | 绿色 | 最终消息内容摘要 |
| 工具调用 | ⚙️ | 蓝色 | 工具名 + 参数摘要 |
| 工具结果 | ✅/❌ | 绿/红 | 成功/失败结果 |
| 轮次 | 🚀/🏁 | 紫色 | 第 N 轮开始/结束 |
控制面板
右上角胶囊形控件(可拖拽):
- 弹幕开关:精致的滑动开关,一键切换总开关(开启时绿色渐变 + 辉光)
- 速度滑块:60–350 px/s,实时调节滚动速度
- 贴边自动收纳:拖到屏幕边缘 48px 内松手即贴边收起为小标签,悬停/点击自动展开;位置与收纳状态持久化到 localStorage
设置持久化到 localStorage(key: dsh.trajectory-danmaku.settings)。
构建
npm install # 安装 dev 依赖(typescript, tsdown, @types/react)
npm run build # host tsc + client tsdown → lib/
npm pack # 打包 tgz
安装与注入
方式一:dev_inject_plugin(运行时注入,免重启)
dev_inject_plugin /path/to/dsh-danmaku
方式二:dev_install_package(持久化到 bundles,重启后自动装配)
dev_install_package /path/to/dsh-danmaku
注入后刷新页面即可看到弹幕效果。
技术细节
- 弹幕轨道:14 轨道,
argmin调度(选最早空闲轨道,匀速无碰撞) - CSS 动画:
translateX(100vw) → translateX(-110%),时长 = 距离 / 速度 - 去重:
buildViewNode返回的 key 在 View Builder 中去重,初始/历史回填不弹 - 性能:
useSyncExternalStore+pointer-events: none层,不干扰应用交互
开发
dsh-danmaku/
├── src/
│ ├── index.ts # host 半区(no-op)
│ └── client/
│ ├── index.tsx # 客户端入口(注册定义 + 视图 + overlay)
│ ├── bus.ts # 弹幕事件总线
│ ├── definitions.ts # 5 个轨迹事件 → 弹幕节点定义
│ ├── format.ts # ContentBlock → 文本提取
│ ├── settings.ts # 持久化设置
│ ├── overlay.tsx # React 弹幕层组件
│ └── types.ts # 弹幕项类型
├── lib/ # 构建产物
├── tsconfig.json
├── tsdown.config.ts # 客户端 bundle 配置(__ModuleLoader__ banner)
├── scripts/build.sh
└── package.json
原始 README: https://github.com/BiggerMax/dsh-danmaku/blob/main/README.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥