# pi-plan-toggle **Repository Path**: linbirg/pi-plan-toggle ## Basic Information - **Project Name**: pi-plan-toggle - **Description**: pi-plan-toggle extention - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-23 - **Last Updated**: 2026-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pi-plan-kit-zh 一键切换 **Plan ↔ Build** 模式 + **汉化版权限准入系统** — 一步到位安装全套安全框架。 | 快捷键 / 命令 | 动作 | |--------------|------| | `Tab` | 切换 Plan / Build 模式 | | `/plan-toggle` | 切换 Plan / Build 模式(命令后备) | | `/permission-system` | 配置权限系统(YOLO 模式、日志、双击确认等) | > ⚠️ `Tab` 键在编辑器中有自动补全功能(`tui.input.tab`),如果冲突严重可用 `/plan-toggle` 命令代替。 ## 包含的扩展 | 扩展 | 入口 | 说明 | |------|------|------| | **plan-toggle** | `./src/index.ts` | Tab 切换 Plan/Build 模式,bash 安检,提示词覆写 | | **permission-system-zh** | `./src/permission/index.ts` | 汉化版权限准入系统(基于 `@gotgenes/pi-permission-system`) | ## 安装 ### 前置依赖 ```bash pi install npm:@narumitw/pi-plan-mode pi install npm:@earendil-works/pi-tui ``` 推荐搭配 ZEN TUI 获得更好的底部状态栏体验: ```bash pi install npm:pi-zentui ``` ### 安装本扩展 ```bash pi install git:gitee.com/linbirg/pi-plan-kit-zh.git ``` 或在 `~/.pi/agent/settings.json` 的 `packages` 中添加: ```json { "packages": [ "npm:@narumitw/pi-plan-mode", "npm:@earendil-works/pi-tui", "npm:pi-zentui", "git:gitee.com/linbirg/pi-plan-kit-zh.git" ] } ``` ## 使用 ```bash pi # 进入 Plan 模式(只读探索 + 规划) 按 Tab 或输入 /plan-toggle # 回到 Build 模式(正常编码) 再按 Tab 或输入 /plan-toggle ``` ### Plan 模式效果 | 特性 | 说明 | |------|------| | **工具限制** | AI 只能使用 `read`, `bash`, `plan_mode_question`, `plan_mode_complete` | | **Shell 安检** | 写操作 bash 命令(`git push`、`rm`、`>` 等)被拦截 | | **Stderr 放行** | `2>/dev/null`、`2>&1` 等安全重定向不受阻 | | **底部状态** | 目录行后显示高亮 `[plan]` 标签(需配合 pi-zentui) | | **顶部通知** | 切换时显示临时通知气泡 | ### 汉化版权限系统效果 | 场景 | 原版英文 | 汉化版中文 | |------|---------|-----------| | 拒绝提示 | `Current agent is not permitted to run 'bash' command 'rm file'.` | `当前智能体无权运行「bash」命令「rm file」。` | | 询问弹窗 | `Allow this command?` | `是否允许此命令?` | | 弹窗选项 | `Yes` / `No` / `No, provide reason` | `✅ 允许` / `❌ 拒绝` / `📝 拒绝并说明原因` | | 设置界面 | `YOLO mode` / `Permission review log` | `YOLO 模式` / `权限审核日志` | ## 配合 pi-zentui 配置 在 `~/.pi/agent/zentui.json` 中配置 "plan" 状态显示在左侧并高亮: ```json { "colors": { "extensionStatus": "accent" }, "extensionStatuses": { "placements": { "plan-mode": "left" } } } ``` | 配置项 | 说明 | |--------|------| | `colors.extensionStatus` | 标签颜色,`"accent"` 使用主题强调色 | | `extensionStatuses.placements` | 位置:`"left"`、`"middle"`、`"right"`、`"off"` | `/reload` 后效果: ``` ~/DecaInsight (main) [plan] ↑1.4M ↓128k $0.323 26.8%/1.0M ``` ## 项目结构 ``` pi-plan-kit-zh/ ├── package.json # pi package 清单 ├── README.md # 本文档 ├── SETUP.md # 完整配置指南 └── src/ ├── index.ts # plan-toggle 扩展(快捷键 + 命令 + bash 过滤) └── permission/ # 汉化版权限准入系统(fork from @gotgenes/pi-permission-system) ├── index.ts # 权限系统入口 ├── denial-messages.ts # 汉化:拒绝提示 ├── permission-prompts.ts # 汉化:询问提示 ├── permission-dialog.ts # 汉化:弹窗选项 ├── permission-prompt-component.ts # 汉化:TUI 弹窗 ├── permission-prompt-decision.ts # 汉化:弹窗决策 ├── config-modal.ts # 汉化:设置界面 ├── external-directory-messages.ts # 汉化:外部目录提示 └── ... (其他核心模块原样保留) ``` ## 许可 MIT