DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-livechat

Verified Sessions & messages ★ 11 0.6.14

Bilibili-style live-chat danmaku overlay for DeepSeek Harness Web: preset packs (general/coding/casual), optional LLM-generated quips with smart/interval/tool-call wake modes, draggable control ball, per-session danmaku pools with history replay + archive/restore, heat bar, and a full settings card. / 给 DeepSeek Harness Web 对话区叠加 B 站风格弹幕:预设包、可选 LLM 吐槽(智能/间隔/工具调用唤醒)、拖球、分会话弹幕库(历史回放+归档/恢复)、热度条与完整设置卡。

What it is

Bilibili-style live-chat danmaku overlay for DeepSeek Harness Web: preset packs (general/coding/casual), optional LLM-generated quips with smart/interval/tool-call wake modes, draggable control ball, per-session danmaku pools with history replay + archive/rest…

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add dsh-livechat@0.6.14

DSH versions accepted

Undeclared

Author and traction

huashenglian · ★ 11 · Updated 2026-10-28

About this plugin

dsh-livechat

给 [DeepSeek Harness](https://github.com/deepseek-ai)(dsh)Web 对话区叠加 B 站风格弹幕的插件。

围观 agent 工作:用户消息、回复完成、工具调用、任务完成时,预设弹幕(可选 LLM 生成)横向飘过对话区——就像看直播一样。

中文 · [English](./README.en.md)

[安装](#安装) · [功能](#功能) · [模块文档](#模块文档) · [架构](#架构)

---

安装

插件是 bundle:自带 cordis.patch.yml,自我激活——一条命令,无需手动改 patch。

# 本地目录安装
dsh plugin --profile web add ./dsh-livechat

# npm 安装(预构建,免 allowBuilds 构建授权)
dsh plugin --profile web add dsh-livechat

# GitHub 安装
dsh plugin --profile web add github:huashenglian/dsh-livechat

# tarball 安装(pnpm pack / npm pack 打包后)
dsh plugin --profile web add ./dsh-livechat-0.2.0.tgz

重启 dsh web 后打开 。弹幕覆盖层与浮动控制球会出现在对话区上方。

> [!NOTE]

> bundle 自带 cordis.patch.yml 自我激活(insert id: livechat)。不要在 profile 的 patch 里重复 insert——二次 insert 启动时会报 duplicate loader entry id: livechat。

若还没有 dsh CLI,可直接启动 web 服务:

npx @deepseek-ai/dsh web

快速健康检查

curl http://127.0.0.1:3080/api/danmaku/health
# {"ok":true,"name":"dsh-danmaku","version":"0.6.14"}

---

它做什么

当 agent 发送消息、回复完成、调用工具或完成任务时,一串弹幕飘过对话列——就像看直播。预设包覆盖通用 / 编程 / 闲聊氛围,可选 LLM 按节流生成即时、贴合上下文的吐槽。拖球提供快捷控制;设置卡可调一切。

agent 工作时弹幕飘过对话区——多轨道、加权配色、右上浮动控制球。

---

功能

| 模块 | 覆盖内容 | 文档 |

|---|---|---|

| 覆盖层与渲染 | shell.overlay 挂载、DOM 渲染器、多轨道防碰撞、防遮挡渐隐、渲染后端链 | [overlay-and-rendering.zh-CN.md](docs/overlay-and-rendering.zh-CN.md) |

| 预设包与 LLM | 三套预设包、事件触发抽样、疲劳去重、预设功能总开关(关闭后仅剩 LLM)、可选 LLM 生成(smart/interval/toolcall 唤醒)、风格模板 | [presets-and-llm.zh-CN.md](docs/presets-and-llm.zh-CN.md) |

| 交互 | 拖球、悬停暂停、点击详情(复制/屏蔽/删除)、手发弹幕、热度条、欢迎与任务完成效果 | [interaction.zh-CN.md](docs/interaction.zh-CN.md) |

| 分会话弹幕库 | 分会话 .jsonl 弹幕池、历史回放(衰减+点赞加权)、归档/恢复、应用内池编辑器 | [session-pools.zh-CN.md](docs/session-pools.zh-CN.md) |

| 礼物特效 | 三栏大模态(左礼物库 / 中素材库 / 右配置,分界线可拖动且尺寸长期记忆)、左列搜索 + 单分类下拉(bilibili / 自定义,父子同浮窗)、中栏工具条(房间号提取 + 导入▾ + 图标大小 + 新建文件夹 + 清空素材)、素材即加即用(无需绑定)、素材卡点击显示特效位置(点网格空白取消选中)、右栏基础含全局/当前素材动画大小、「+」/红色「×」、默认 3 张礼物卡(总开关默认关、隐私零房间号) | [gift-effects.zh-CN.md](docs/gift-effects.zh-CN.md) |

| 配置与 API | 设置卡 UI、全部配置字段(默认值+范围)、完整 HTTP API 参考 | [configuration.zh-CN.md](docs/configuration.zh-CN.md) |

亮点

  • 三种布局:滚动、顶部固定、底部固定——按权重生成
  • 防遮挡:阅读时覆盖层变暗,热闹时亮起
  • LLM 安全降级:生成失败→静默降级预设,无报错弹窗(预设总开关关闭时不再降级,只剩 LLM)
  • AI 专属分会话记忆:只有 LLM 弹幕会入池/回放/可点赞;预设保持现场生成;删除会话自动清理池
  • Chromium 优先:为 Edge / Chrome 调优;translate3d、页面 hidden 暂停、同屏上限
  • 暂停不消失:悬停/详情锁定的弹幕会一直留在画面,直到恢复滚动并离开范围
  • 关弹幕即关插件:关掉「启用弹幕」后任何弹幕、礼物特效、礼物提示都不再触发,正在播放的礼物动画立即删除;礼物特效另有自己的 giftEnabled 闸门
  • 配置不再重置:每次保存同时写本地镜像($DSH_HOME/danmaku-config.json)与 settings.yaml 里的精简 danmaku: 段;启动按「镜像 → settings → 默认」解析,重启不会丢配置
  • 会话显名称:弹幕库编辑器用 dsh 的真实会话名标注每个弹幕池,不再是截断的 sessionId

---

最近迭代更新

> 完整版本历史见 [docs/version-history.md](https://github.com/huashenglian/dsh-livechat)。以下是 0.6.x 的主要迭代:

| 版本 | 主要变化 |

|---|---|

| 0.6.14 | 隐私 + Emoji 渲染修复(本地已改,未发布):① LLM 弹幕生成模型不再读取用户隐私信息——会话文本、思考片段、工具名、警告与统计在进入缓冲区时先经 redactSecrets() 脱敏(sk-/rk-、GitHub/Slack/AWS/Google 密钥、JWT、Bearer、apiKey=…/token: …/密码:…、PEM 私钥块、32+ 位 hex / 40+ 位 base64、C:Users、/home/ 一律替换为 [已隐藏]),提示词拼装时再脱敏一次(buildLlmPrompt 对所有动态字段兜底),触发器预览同样脱敏;② 非 DOM 后端(webgl2 / webgl2-worker)的 Emoji 恢复原色——原先文本一律白烘焙 + 着色器按 t.r/t.a 着色,而彩色 Emoji 是位图、忽略 fillStyle,于是被染成弹幕同色并出现镂空;现在含 Emoji 的行改为按自身颜色烘焙并走 vSc「保留烘焙色」分支,纯文本行仍走共享白色烘焙 + 逐实例着色(atlas 复用不变),三后端视觉一致;③ 悬浮球快捷面板的输入框可突破滑块上限(sliderField 新增 numMin/numMax)——同屏上限滑块仍是 5–80,输入框改成与设置卡一致的 1–200,滑块停在端点、数值照常生效,调高不用再开完整设置卡;④ 满屏弹幕:轨道数从硬编码 16 改为按宿主高度实时计算(上限 64,floor(高度/行高)),且选轨改为按布局分流的 B 站算法:滚动/反向在实况带内随机落轨(候选 = 带内可进入的行;带子满了才向下长、且在前 2 个空闲行里随机 → 带子连续无空洞,但行不按填充顺序复用,不会排成平行斜线;前车走完 0.25 屏后该行可复用 → 每行约 3 条;box 宽度 + 间隙 + 追尾预判,同轨永不重叠),顶置贴顶、底部贴底按序号逐行堆叠;生成速率 3/6/8/10 条每秒的预算(density 1–2 / 3–5 / 6–8 / 9–10),但每拍只出 1 条,且间隔不低于当前显示区域的吸收能力(rows / 行复用周期)——显示区域越小自动越慢,否则多余的 spawn 被丢弃、幸存者扎堆成"一波一波";GPU 单批实例上限 48→200(与同屏上限的 200 上限对齐,超出部分原先直接不画);density 上限 5→10,同屏上限钳 1–200;⑤ 设置卡分区线对比度:虚线 → 实线,颜色改为跟随主题文字色的 color-mix(… 28%)(暗色卡上实测对比度 1.29:1 → 2.43:1),并去掉整块 opacity:.85 的连带变暗 | git log |

| 0.6.13 | 单条字数上限成为真实硬上限——此前 5 处池/解析路径各自硬编码 48,超长行会被静默截断且设置改不上去;新增 contentMaxChars(8–2000,默认 200),「基础」分区的单条字数上限与悬浮球快捷面板都改它,池写入 / 点赞 / 改写 / LLM 解析统一按它截断;LLM 分区保留 「LLM 弹幕字数上限」(styleMaxChars,默认 24,仅写进提示词、不截断);预设包编辑器的 文本/列表 改成全局记忆(localStorage dsh-danmaku-preset-view,切换预设包 / 重开窗口 / 重启 dsh 都保持;>500 行仍强制列表,避免 1MB textarea);分会话弹幕池改为 LLM 专属——只缓存/回放 source:'ai',预设与手发不再写池,预设点赞为 no-op(旧池文件保留,读取时过滤) | git log |

| 0.6.0 | 礼物模块 UX 重构:单入口大模态(素材仓库 / 特效位置 / 基础 / 测试),默认 3 张礼物卡 |

| 0.6.1 | 权重编辑即时生效 + 刷新写失败上报 |

| 0.6.2 | 悬浮球越界坐标夹取修复——持久化位置不再隐藏悬浮球 |

| 0.6.5 | 礼物模态三栏重构:可拖动分界线 + 尺寸长期记忆、素材库改中栏工具条面板 |

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
dsh-purge kingcharleslzy-ai 6.3K 1.6.86 2026-11-08
dsh-unrestricted yexi-by 1.1K 0.2.8 2026-11-05
dsh-univer-office dream-num 707 0.4.0 2026-11-03
dsh-synapse liangmianya 697 0.5.7 2026-11-04
dsh-qqbot tencent-connect 570 0.5.5 2026-11-08