DeepSeek Harness plugin

dsh-danmaku

将轨迹功能输出以弹幕形式显示在对话页面

Jump to install

Source facts

Repository
BiggerMax/dsh-danmaku
Latest update
Aug 22, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/BiggerMax/dsh-danmaku
Plugin: dsh-danmaku
Author: BiggerMax

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-danmaku

将 DeepSeek Harness 轨迹功能(trajectory) 的输出以弹幕形式实时显示在对话页面中——工具调用、轮次切换、助手回复等事件会像视频弹幕一样从右向左飞过屏幕。

架构

纯客户端插件,全部逻辑在浏览器半区:

Session 轨迹事件 → Node Definitions → DanmakuBus → overlay.tsx (shell.overlay)
  • 注册 5 个 ConversationNodeDefinition,匹配 user/messageassistant/messagetool/calltool/resultturn/startturn/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