dsh-web-speech-input
leozou320-ai
Voice-to-text for the DeepSeek Harness Web UI — live, editable, never auto-sends. | DeepSeek Harness 网页语音输入
PROJECT TOPICS
PROJECT README
一个 deepseek-harness 的 Node-host 插件:AI 工作时弹出一个独立窗口陪你「摸鱼」,AI 停下等你输入时把窗口最小化并挂起整个进程树(视频与声音冻结、不占 CPU),你继续对话时再从冻结帧恢复播放。
仅 Windows。媒体不限抖音——任意视频 / 直播 URL 皆可,每个站点各自保存登录,互不干扰。
▶ 点此观看演示视频 demo.mp4(作为 v0.4.0 Release 附件发布)
| 主界面悬浮控件 | 设置页(多站点管理) |
|---|---|
![]() |
![]() |
NtSuspendProcess 挂起整棵进程树(Chromium --app 是多进程,只挂根进程停不住视频 / 声音)。恢复时从冻结帧续播,页面不重载。--user-data-dir(~/.dsh-coding-companion/<站点id>/),cookie / 登录跨重启保留,站点之间隔离。Ctrl+C)时先 resume 再 taskkill 整棵进程树,绝不留下「挂起」状态的僵尸进程。本插件是纯 JS 组合包(bundle),无需构建,可直接从 GitHub 安装进 web profile:
dsh plugin --profile web add github:FxRayHughes/dsh-coding-companion
从源码仓库运行时用
pnpm dsh plugin --profile web add github:FxRayHughes/dsh-coding-companion。 因为无prepare构建脚本,pnpm ≥10的安装期构建授权不需要;add完直接重启 profile 即可。
也可锁定 commit 更稳妥:
dsh plugin --profile web add github:FxRayHughes/dsh-coding-companion#<sha>
卸载:
dsh plugin --profile web remove dsh-coding-companion
插件从 coding-companion 设置命名空间读取配置,全部在设置侧栏 → 编程陪伴里操作:
| 字段 | 说明 |
|---|---|
sites |
站点列表 { id, name, url },每个站点独立持久化目录 |
activeSiteId |
当前显示的站点 id |
enabled |
是否启用陪伴 |
paused |
暂停陪伴(保持关闭、不自动弹出) |
设置页由配套的仓库客户端包 @deepseek-ai/dsh-client-ui-coding-companion 提供(注册 coding-companion 命名空间与「编程陪伴」设置页)。若你的部署单独启用该设置页,记得把 coding-companion 加入 api-proxy 的 web 设置白名单。
cordis.patch.yml 里的默认配置:
- insert:
- id: coding-companion
name: dsh-coding-companion
config:
activeSiteId: douyin
sites:
- id: douyin
name: 抖音精选
url: https://www.douyin.com/jingxuan
enabled: true
--app 独立窗口,用唯一的 --user-data-dir 路径同时作为进程标记,控制器据此定位根进程及其整棵进程树。ShowWindowAsync / SetForegroundWindow,冻结用 ntdll NtSuspendProcess / NtResumeProcess,进程句柄用 kernel32 OpenProcess,全部通过一段内联 PowerShell(P/Invoke)执行。return-extension/(MV3 扩展)注入,点击经后台 service worker 调用 host 的 /coding-companion/return 路由触发挂起;host 在启动时把带端口的回调地址写入扩展的 config.js。--load-extension 有策略限制,若「回到对话」悬浮按钮不出现,属该限制所致。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。