Repository navigation
Releases: Yuuyuko-uu/dsh-tts-bridge
Releases · Yuuyuko-uu/dsh-tts-bridge
Release list
v1.3.2
1.3.2 — 2026-10-29
DSH NEXT 把插件路由整片拦成 403 → 扩展改走插件自己的本机通道
- 🐛 根因:DSH NEXT(2.0.19-next 起)的桌面宿主给每一个插件注册的 HTTP 路由都套了「浏览器访问」闸 ——
请求里没有 Electron 渲染进程的x-dsh-desktop-renderer、设置里又没开「允许浏览器访问」时,
一律403 Browser access is disabled。扩展是普通浏览器客户端,拿不到那个令牌,
所以/state、/next全是 403;/where走的是插件自己 listen 的端口,不归那道闸管,一直通。 - ✅ 宿主:在问路端口(19387 / 39871 / 39872)上再开一份「本机小门」,把扩展要用的接口也挂上去
(/state、/next、/ack、/playing、/auto、/say、/hello)。
只 listen127.0.0.1、只认chrome-extension://来源(网页连 403 都读不到),
除/where外都要带每次启动新发的令牌;令牌只在内存里,不写日志、不落盘。 - ✅ 扩展:
403不再当成「不是它」—— 先记成「被拦」,去问19387的/where拿新地址和令牌,
带上令牌重试;问路每轮最多问一次,同一波 403 最多 5 秒重找一次,不会把重找做成死循环。 - ✅
/where保留原来的base(老扩展照旧能用),新增bridge(本机通道)和token。 - ✅ 扩展在后台跟每个窝打个招呼(
/hello):卡片能分清「没装扩展」和「装了但 DeepSeek 页面没开」。 - 🔧 新增
lib/local-gate.js(本机小门,能单测)。 - 测试:新增
test/local-gate.test.mjs12 项、test/find-gated.test.mjs4 项
(真的起两个 HTTP 服务,在 vm 里加载真的extension/find.js);连同原有 35 项,共 51 项全过。 - ⚠ 宿主半边改完要重启一次 DSH;扩展要在
chrome://extensions里重载(⟳),再刷新 DeepSeek 页面。两半都要更新。
v1.3.1 · 正文和「这一轮结束」落在两次轮询之间时,不再丢掉朗读
正文和「这一轮结束」落在两次轮询之间时,不再丢掉朗读
- 🐛 扫描是每 1.5 秒读一次会话新增的事件。正文(
assistant/message)和turn/end落在两次扫描里时,
第一次攒到的正文随扫描结束就没了;第二次只看到「结束」、没有正文 → 这一轮干脆不念。 - ✅ 每个会话每个回合的正文改成跨扫描保留,
turn/end时才拼起来念;
失败/中断/空回合也照常释放缓冲,不会越攒越多。 - ✅ 顺手修了会话序号变小(重开、换一份存档)之后游标卡死不再前进的问题;重看时以当前序号为基线,不补念历史。
- 🔧 扫描逻辑抽成
lib/turn-scanner.js(能单测)。 - 测试:
node --test tests/turn-scanner.test.mjs9 项全过。
安装 / 升级
dsh plugin --profile desktop add github:Yuuyuko-uu/dsh-tts-bridge装过的直接重装一次就行(配置和记忆都在 ~/.dsh/,不会被覆盖);装完重启一次 DSH 生效。