deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:Ricketts-Guo/dsh-shortcuts
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
为 DeepSeek Harness 的 WebUI 提供一套可完全自定义的键盘快捷键系统。所有可触达的功能预注册在分组列表中,带默认键的直接生效(macOS 优先,其他平台自动改用 Ctrl),其余一键录制即可绑定。配置保存在浏览器 localStorage,刷新/重启不丢。
⌘/):随时查看全部绑定 + 内置诊断面板| 分组 | 功能(默认键) |
|---|---|
| 会话 | 新建会话 ⌘N · 会话快速切换 ⌘K · 归档当前会话 ⌘⇧A · 聚焦消息输入框 ⌘⇧K · 停止当前任务 ⌘. |
| 视图 | 切换侧边栏 ⌘B · 切换详情面板 ⌘⇧D · 切换明暗主题 ⌘⇧L · 全屏 · 滚动到顶/底部 · 聚焦会话搜索 |
| 剪贴板 | 复制最后一条助手消息 · 复制会话标题 · 复制会话 ID |
| 模型 | 选择模型 1–9 ⌘1–⌘9 · 思考强度 1–5 Tab+1–Tab+5(按住 Tab)· 循环思考强度 |
| 权限 | 循环切换权限(只读 / 工作区写入 / 完全访问)⇧Tab |
| 系统 | 打开设置 ⌘, · 快捷键速查表 ⌘/ · 切换界面语言 |
未标注默认键的功能初始为「未绑定」,在 设置 → 快捷键 中点击「录制」即可自定义添加。 思考强度档位取决于当前模型(如 DeepSeek 的低/中/最大);权限轮换顺序取决于部署配置的预设表。
curl -fsSL https://raw.githubusercontent.com/Ricketts-Guo/dsh-shortcuts/main/install.sh | bash
脚本自动完成:克隆插件 → 链接到 web profile → 注册到 package.json → 同步 pnpm lockfile(将插件纳入 pnpm 管理,防止后续安装/更新其他插件时被清掉)(幂等,可重复运行)。完成后完全退出并重新打开 DeepSeek Harness,左下角设置按钮旁出现「⌘K 快捷键」按钮即安装成功。
更新插件:重新运行上面同一行命令即可(pnpm install 会同步最新代码副本,再重启 DSH 生效)。
手动步骤版(脚本等价操作):
git clone https://github.com/Ricketts-Guo/dsh-shortcuts.git ~/dsh-shortcuts~/.dsh/profiles/web/package.json,在 dependencies("dsh-shortcuts": "file:../../../dsh-shortcuts")与 dsh.profile.bundles 中分别加入 dsh-shortcutscd ~/.dsh/profiles/web && pnpm install(生成 pnpm 受管的 node_modules/dsh-shortcuts 副本)⚠️ 版本 1.1.0 起安装改为 pnpm 托管:
node_modules/dsh-shortcuts是 pnpm 从源码仓库同步的受管副本而非符号链接。修改~/dsh-shortcuts源码后,需重新运行 install.sh(或cd ~/.dsh/profiles/web && pnpm install)同步副本,再重启 DSH 生效。不要手动ln -sfn覆盖它——pnpm 下次运行时若检测到依赖状态不符可能重装或清理。
在 DSH 会话中通过 Cordis 工具加载(cordis_define + cordis_run)。适合快速试用;需要持久使用请用方式一。
cd ~/.dsh/profiles/web && pnpm remove dsh-shortcuts(或从 ~/.dsh/profiles/web/package.json 移除两处 dsh-shortcuts 引用并运行 pnpm install),重启 DSH。cordis_stop / cordis_undefine。dsh.shortcuts.v1),可在浏览器开发者工具中删除。设置 → 快捷键 页面:
⌘⇧C)即绑定;Backspace 清除绑定,Esc 取消录制⌘/ 速查表底部)不需要开发者工具即可自检:
单一 FEATURES 注册表驱动一切:
{ id: 'stopTask', group: '会话', label: '停止当前任务',
description: '中断正在运行的 agent 回合', defaultCombo: 'Meta+.',
run: () => { /* 任意 client 端逻辑 */ } }
设置页、速查表、冲突检测、持久化、键盘分发全部由注册表自动派生 —— 新增功能只需加一行。Tab+数字 使用按住状态识别,同时保留裸 Tab 的正常焦点导航;录制与匹配自洽。
通道说明:所有动作走 DSH 官方 client 服务(layout / workspaces / theme / locale / sessions / modelDirectories / session projections),不依赖私有 DOM 结构(仅「打开设置」通过语义属性定位触发按钮)。权限切换经宿主侧通道(动态版 harness RPC;静态版本地 HTTP 路由 /dsh-shortcuts-permission)直调 permissionPresets。
Host half 安全说明:静态版的权限路由校验会话存在与预设合法性,且仅在部署挂载了权限服务时激活;DSH Web 服务应保持 loopback 绑定。
npm test # 运行测试(需本机装有 DSH,测试通过 host node_modules 解析 react)
npm run check # 语法检查 + 测试
测试覆盖:组合键匹配(含上档字符归一化)、模型/思考强度位置选择、无留痕权限轮换、复制消息、剪贴板、全屏、滚动、语言轮换、打字不拦截、优雅降级、React hooks 顺序静态检查(防渲染崩溃)。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。