itzrnvr/omp-modes

GitHub: itzrnvr/omp-modes

Oh My Pi模式系统扩展,实现不同操作模式间的切换。

Stars: 0 | Forks: 0

# pi 模式 为 [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) 提供的可切换的代理模式。每种模式控制哪些工具可用,并注入特定于模式的系统提示。 受 [opencode 模式](https://opencode.ai/docs/modes/) 启发。 ## 安装 ``` pi install npm:pi-modes ``` 或者克隆到您的扩展目录: ``` git clone https://github.com/R-Dson/pi-modes ~/.pi/agent/extensions/pi-modes ``` 或者直接加载: ``` pi --extension /path/to/pi-modes ``` 安装后,输入 `/reload` 或重启 Pi。 ## 使用方法 | 操作 | 如何 | |---|---| | 切换模式 | `/mode ask`, `/mode edit`, `/mode review` | | 下一个模式 | `Ctrl+Shift+L` | | 上一个模式 | `Ctrl+Shift+H` | | 检查当前模式 | `/mode` (显示活动模式和禁用工具) | | 以模式启动 | `pi --extension pi-modes --mode ask` | ## 内置模式 | 模式 | 禁用工具 | 目的 | |---|---|---| | 编辑 | 无 | 全部访问(默认) | | 计划 | bash | 只读探索,只写入 PLAN.md | | 询问 | write, edit, bash | 只读探索和提问 | | 审查 | write, edit, bash | 无更改的代码审查 | ## 添加模式 在 `modes/` 目录中创建一个 `.md` 文件。文件名成为与 `/mode` 和 `--mode` 一起使用的模式 ID。 ``` --- name: Debug color: warning tools: write: false edit: false --- You are in debug mode. Investigate issues by reading code and running diagnostic commands. Do not make changes. ``` 支持的元数据: - `name` -- 显示名称(默认为文件名) - `color` -- 聊天框标签的主题颜色:`accent`、`warning`、`muted`、`success`、`error`、`dim`(默认为 `accent`) - `tools` -- 要禁用的工具列表,每个设置为 `false` 第二个 `---` 之后的正文在模式活动时注入到系统提示中。留空以跳过注入。 ## 持久性 模式选择在 `/reload` 和会话恢复通过会话状态中保持。`--mode` 标志优先于持久状态。 注意:每次模式切换都会向会话添加一个小条目。这是其他 pi 扩展(工具、预设)使用的标准模式。在非常长的会话中,这几乎不会增加开销。 ## 计划模式 计划模式同时使用工具限制和提示执行。在 harness 级别禁用 `bash`;通过提示告知代理只写入 `PLAN.md`。 每次提供者请求时(不仅是在会话开始时),都会将当前的 `PLAN.md` 内容注入到系统提示中,因此它可以在压缩过程中幸存并反映会话中的编辑。这使用的是 `before_provider_request` 钩子而不是 `before_agent_start`,因为在多轮工具使用中,压缩可能会在 agentic-loop 中发生。 ## 注意事项 与其他调用 `setActiveTools()` 的扩展(例如,`tools.ts`、`preset.ts`)同时运行可能会导致冲突,因为两者都可以独立地修改活动工具集。
标签:Git, GNU通用公共许可证, Markdown, MITM代理, Node.js, npm, Pi 设备, SOC Prime, 代码修改, 代码审查, 代码审查工具, 代码执行, 代码持久化, 代码探索, 代码编辑, 代码阅读, 会话状态, 工具限制, 开发工具, 扩展管理, 操作系统扩展, 暗色界面, 模式切换, 模式切换器, 模式管理, 模式配置, 系统提示注入, 自动化攻击