在输入框按 Tab 快速开关计划模式
29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add sujalmandal/dsh-tab-plan-toggle该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 输入框按Tab切换
- 开关计划模式
在输入框按 Tab 切换 DeepSeek Harness 计划模式
README
由 DeepSeek 最新模型翻译生成dsh-tab-plan-toggle
在 composer 文本域获得焦点时,用 Tab 切换 DeepSeek Harness 的计划模式。
| 按键 | 结果 |
| Tab(composer 聚焦,计划模式关闭) | 计划模式开启 |
| Tab(composer 聚焦,计划模式开启) | 计划模式关闭 |
安装
dsh plugin --profile web add dsh-tab-plan-toggle
dsh web
直接从仓库安装,在(或代替)注册表发布之前:
dsh plugin --profile web add git+https://github.com/sujalmandal/dsh-tab-plan-toggle.git
重启前确认该行已被组合:
dsh --profile web --dump-config # look for "# == dsh-tab-plan-toggle"
工作原理
composer Tab keydown ──rpc /dsh-tab-plan-toggle──▶ host half
│
ctx.get('agentPresets').serviceFor(agent,'planMode')
│
target = !(pending ??
展开完整文档(README 剩余 1 节)
dsh-tab-plan-toggle
在 composer 文本域获得焦点时,用 Tab 切换 DeepSeek Harness 的计划模式。
| 按键 | 结果 |
| Tab(composer 聚焦,计划模式关闭) | 计划模式开启 |
| Tab(composer 聚焦,计划模式开启) | 计划模式关闭 |
安装
dsh plugin --profile web add dsh-tab-plan-toggle
dsh web
直接从仓库安装,在(或代替)注册表发布之前:
dsh plugin --profile web add git+https://github.com/sujalmandal/dsh-tab-plan-toggle.git
重启前确认该行已被组合:
dsh --profile web --dump-config # look for "# == dsh-tab-plan-toggle"
工作原理
composer Tab keydown ──rpc /dsh-tab-plan-toggle──▶ host half
│
ctx.get('agentPresets').serviceFor(agent,'planMode')
│
target = !(pending ?? active) ─────────────────┘
planMode.set(agent, target)
- host 半边会调用计划模式服务,因此进入和退出产生的叙述通知与 /plan 相同——且不会向对话中添加 command/run 行。
- 在 dsh web 上,计划模式位于 agent 预设的 isolate 领域内,因此 host 行只能通过 agentPresets.serviceFor(agent, 'planMode') 访问它。当该服务不可用时,插件会回退为向会话日志追加 plan/mode。
- 来自 planMode.get() 的 pending 是服务排队的目标,因此它被视为有效状态:第二次按下会反转已排队的更改,而不是变成空操作。
- 每个条目只对其挂载所在的 composer 生效:守卫会解析持有该条目标记的 composer,并要求聚焦的编辑器位于其中。
- 0.1.0 的守卫只检查聚焦元素是否位于某个 [data-input-scroll] 中,因此当另一个对话的条目仍处于挂载状态时,一次按下会同时切换两个对话。
守卫条件
仅当以下所有条件都成立时,Tab 才会被拦截:
- 没有 ⌘/Ctrl/Alt/Shift,且没有正在进行的输入法组合;
- 聚焦元素是 composer 的编辑器——其 Lexical contenteditable 宿主,或一个 TEXTAREA——且它位于 [data-input-scroll] 内;
- 该编辑器与本条目的标记属于同一个 composer,因此其他对话的 composer 无法匹配;
- 没有打开建议菜单([data-trigger-menu] 不存在):在 / 或 @ 菜单内,Tab 表示 Browse folder。
在其他任何地方,Tab 都保持其正常行为。
故障排除
| 症状 | 检查 |
| Tab 无任何反应 | composer 的编辑器是 Lexical 的 contenteditable 宿主,不是 TEXTAREA——要求 TEXTAREA 的守卫永远无法匹配。验证编辑器报告 isContentEditable。同时确认该条目的标记与编辑器位于同一个 composer 卡片内。 |
| Tab 会切换另一个对话 | 已在 0.1.1 中修复。在 0.1.0 中,每个挂载的 composer 都会添加自己的 document keydown 监听器,而任何获得焦点的 composer 都会满足所有这些监听器,因此按一次 Tab 就会切换所有打开的对话。 |
| 升级后 Tab 仍然失效 | --dump-config 中只有一行 dsh-tab-plan-toggle。两次挂载意味着两个处理器,Tab 会切换两次——净效果相当于无操作。 |
| 浏览器控制台中出现 … is not iterable | 较旧的构建读取的是 session.events;Session API 暴露的是 snapshotEvents()。请升级。 |
| Tab 劫持了其他编辑器 | 该防护要求编辑器位于 [data-input-scroll] 内;如果不是,请报告应用界面。 |
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
sujalmandal/dsh-tab-plan-toggle
在输入框按 Tab 快速开关计划模式
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。