omp packages

omp-mode-switch1.6.0

OMP plugin: switch between ask / auto / plan permission modes with Tab key

xinhaojin Published 3 months ago MIT ~56 downloads/mo

Built for omp

The author tagged this package oh-my-pi.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

omp-mode-switch

npm version License: MIT

一个 OMP 插件,让你在运行中切换三种权限模式。按 Tab 键循环切换,或使用 /mode <ask|auto|plan> 命令。


安装

omp plugin install omp-mode-switch

重启 OMP(或新建会话)即可生效。无需额外操作。

验证

重启后按 Tab 键,编辑器底部会出现模式指示器(ASK/AUTO/PLAN)。启动时应看到:

✓ Mode Switch loaded
  Tab: ASK → AUTO → PLAN → ASK
  /mode <ask|auto|plan>

使用方法

模式

模式 行为
ask 每个工具调用都需确认(默认)
auto 自动批准所有工具调用
plan 只读工具 + .md 文件写入,危险 bash 命令被拦截

切换

操作 效果
Tab 循环:ask → auto → plan → ask
/mode ask 切换到确认模式
/mode auto 切换到自动模式
/mode plan 切换到计划模式

状态指示

当前模式以彩色指示器显示在编辑器底部:

  • ASK(黄色)
  • AUTO(绿色)
  • PLAN(蓝青色)

工作流程示例

  1. 探索 — 用 plan 模式安全阅读代码
  2. 规划 — 在 plan 模式下编写 .md 规划文档
  3. 执行 — 切换到 auto 执行修改
  4. 审查 — 切换到 ask 对关键操作逐次确认

每次新会话自动重置为 ask 模式。

工作原理

  • 通过 pi.registerShortcut() 注册 Tab 快捷键
  • 通过 pi.registerCommand() 注册 /mode 命令
  • 拦截 tool_call 事件,在 plan 模式下阻止破坏性工具
  • 在 plan 模式下通过 pi.setActiveTools() 限制可用工具
  • 通过 ctx.ui.setWidget() 显示彩色状态指示
  • 在 package.json 的 omp.extensions 中声明,安装时 OMP 自动加载

许可证

MIT