Plandex v2 自主性级别(Autonomy Levels)完全指南:从全手动到全自动的配置矩阵与实践 Plandex v2 自主性级别Autonomy Levels完全指南从全手动到全自动的配置矩阵与实践【免费下载链接】plandexOpen source AI coding agent. Designed for large projects and real world tasks.项目地址: https://gitcode.com/GitHub_Trending/pl/plandexPlandex v2 引入了一套基于预设配置的自主性级别Autonomy Levels体系用一个auto-mode配置项统辖上下文加载、计划续跑、变更构建、文件应用、命令执行与 Git 提交等全部自动化行为。本文以官方文档为核心结合 plan_config.go 与 set_config.go 等源码实现完整讲解none/basic/plus/semi/full/custom六种模式的矩阵、设置方式、底层配置映射关系以及 full 模式下的安全注意事项。读完本文你将能根据任务复杂度精确配置 Plandex 的自动化程度在全手动逐步骤与全自动无人值守之间自由切换。什么是自主性级别Plandex v2 的自主性级别是一组预置配置组合。每个级别统一控制以下六个方面的自动化程度上下文加载与管理context loading and management是否自动加载项目映射project map、是否自动更新已变更的上下文、是否启用智能上下文窗口smart context计划的连续执行plan continuation是否自动继续迭代直到计划完成变更构建building of changes是否自动把模型输出构建为 pending updates待应用的变更变更应用application of changes是否自动把变更写入项目文件还是需要人工审批命令执行与调试command execution and debugging是否允许执行命令、是否自动执行、是否自动调试失败的命令Git 提交git commits变更成功应用后是否自动提交。从源码看这一设计在 plan_config.go 中定义为AutoModeType枚举包含full、semi、plus、basic、none、custom六个值每个级别的具体行为则由SetAutoMode方法plan_config.go一次性写入PlanConfig的各个布尔字段实现。也就是说set-auto本质上只是一键批量设置多个配置项的快捷方式底层仍然落到set-config所管理的同一套配置键。自主性矩阵Autonomy Matrix官方文档给出了完整的对照矩阵各配置项在六个级别的开启情况如下功能配置项NoneBasicPlusSemiFullauto-continue自动续跑计划❌✅✅✅✅auto-build自动构建变更❌✅✅✅✅auto-load-context自动加载上下文❌❌❌✅✅smart-context智能上下文窗口❌❌✅✅✅auto-update-context自动更新上下文❌❌✅✅✅auto-apply自动应用变更❌❌❌❌✅can-exec允许执行命令❌❌✅✅✅auto-exec自动执行命令❌❌❌❌✅auto-debug自动调试失败命令❌❌❌❌✅auto-commit变更应用后自动 Git 提交❌❌✅✅✅该矩阵与源码中SetAutoMode的分支实现完全一致可以直接在 plan_config.go 中逐项核对。矩阵之外源码还揭示了文档矩阵未列出的几个隐性字段auto-revert-on-rewind除none之外的所有级别均为true即回滚rewind计划时自动同步恢复项目文件skip-changes-menu所有级别均为false即响应结束且有待应用变更时仍然展示交互式变更菜单auto-debug-tries仅full级别被设置为默认值5对应常量defaultAutoDebugTries见 plan_config.go即自动调试最多尝试 5 轮。设置自主性级别Plandex 提供四种等价途径来切换自主性级别可覆盖不同使用场景。1. 使用 CLI 命令set-auto适用于当前已存在的 plan以及为所有新建 plan 设置默认值# 为当前 plan 设置 plandex set-auto none # 完全手动无自动化 plandex set-auto basic # 仅自动续跑等价于 Plandex v1 的自主性 plandex set-auto plus # 智能上下文管理 plandex set-auto semi # 自动加载上下文 plandex set-auto full # 完全自动化 # 为新建 plan 设置默认值 plandex set-auto default basic # 将默认级别设为 basic从源码看set-auto命令本质上只是set-config auto-mode的别名set_config.go它把第一个参数auto-mode与用户传入的级别值拼接后交给setConfig处理。值得注意的是set-auto default对应的是set-config default auto-mode两者修改的是新建 plan 的默认配置而非当前 plan。2. 启动 REPL 时指定在项目目录启动 REPL 时可用标志直接以指定级别进入会话plandex --no-auto # 以 None 级别启动 plandex --basic # 以 Basic 级别启动 plandex --plus # 以 Plus 级别启动 plandex --semi # 以 Semi 级别启动 plandex --full # 以 Full 级别启动这些标志的定义位于 plan_start_helpers.go其帮助文本直接取自AutoModeDescriptions映射。resolveAutoModeWithArgsplan_start_helpers.go会按优先级依次检查这些标志——多个标志同时传入时--no-auto--basic--plus--semi--full——一旦与当前配置不同就会调用updateConfig持久化到当前 plan 配置并打印一张包含 Context / Apply / Execution / Commits 四列的 Auto Mode 表格printAutoModeTable。3. 创建新 plan 时指定创建 plan 的命令如plandex new同样支持自主性标志plandex new --no-auto # 创建为 None 级别 plandex new --basic # 创建为 Basic 级别 plandex new --plus # 创建为 Plus 级别 plandex new --semi # 创建为 Semi 级别 plandex new --full # 创建为 Full 级别由于new、continue等命令共用同一组AddNewPlanFlags这些标志的使用范围不仅限于new凡是接受该组标志的 plan 启动命令都可以用同样的方式覆盖本次会话的自主性级别。4. 在 REPL 内部切换进入 REPL 后可以使用反斜杠命令随时切换当前 plan 的级别\set-auto none # 设为 None \set-auto basic # 设为 Basic \set-auto plus # 设为 Plus \set-auto semi # 设为 Semi-Auto \set-auto full # 设为 Full-Auto与之配套REPL 中还提供\config、\set-config等命令用于查看和修改更细粒度的配置项详见 configuration.md 的 REPL Commands 一节。各级别详解None完全手动没有任何自动化所有步骤都由人工逐步确认手动加载上下文manual context loading上下文更新需要审批context updates require approval手动续跑计划manual plan continuation手动构建变更manual building of changes手动应用变更manually apply changes禁用命令执行command execution disabled。对应源码plan_config.go所有自动化字段均为false仅保留AutoRevertOnRewind true。适合对变更过程有严格把控需求的场景例如审计敏感代码、逐行审阅每一条模型产出。Basic最小自动化等价于 Plandex v1官方文档明确标注Basic 等价于 Plandex v1 的自主性级别手动加载上下文上下文更新需要审批自动续跑计划直到完成auto-continue自动把变更构建为 pending updatesauto-build手动应用变更禁用命令执行。对应源码plan_config.goAutoContinue与AutoBuild为true其余自动化字段保持关闭。这是从 v1 升级上来的用户最容易适应的模式——模型会自动产出并构建变更但应用与否由你决定。Plus智能上下文 手动命令执行在 Basic 基础上加入上下文智能化与版本控制能力手动加载上下文文件变更时自动更新上下文auto-update-context自动续跑计划直到完成智能上下文管理实现阶段只加载必要文件smart-context自动构建变更手动应用变更手动执行命令can-exec 开启auto-exec 关闭变更应用后自动 Git 提交auto-commit。对应源码plan_config.go上下文三件套中auto-load-context仍为false但smart-context与auto-update-context已开启同时打开can-exec与auto-commit。值得强调的是can-exec允许执行命令与auto-exec自动执行命令是两个独立开关Plus 模式允许模型提出命令并在你审批后执行但不会自动运行。Semi自动加载上下文新安装默认级别Semi 是全新安装 Plandex v2 的默认自主性级别。这一事实在源码中有明确证据init()中执行DefaultPlanConfig.SetAutoMode(AutoModeSemi)plan_config.go。使用项目映射自动加载上下文auto-load-context文件变更时自动更新上下文自动续跑计划直到完成智能上下文管理自动构建变更手动应用变更手动执行命令变更应用后自动 Git 提交。对应源码plan_config.go相比 Plusauto-load-context被置为true其余与 Plus 一致。这是开箱即用的平衡点上下文交给 Plandex 自动打理但变更应用与命令执行仍保留人工把关。Full完全自动化所有环节全部自动化无人值守运行使用项目映射自动加载上下文自动续跑计划直到完成智能上下文管理文件变更时自动更新上下文自动构建变更自动应用变更到项目文件auto-apply应用成功后自动执行命令auto-exec自动调试失败的命令auto-debug变更应用后自动 Git 提交。对应源码plan_config.go所有自动化字段全部为trueAutoDebugTries被设为默认值 5AutoRevertOnRewind为trueSkipChangesMenu为false。从文档对它的描述 Complete automation 可以看出这是为完全信任模型并希望它独立完成任务的场景设计的。Custom自定义组合除了六个预设级别还可以用set-config逐项组合出完全属于自己的配置。此时auto-mode会被自动标记为customplandex set-config auto-continue true plandex set-config auto-build true plandex set-config auto-load-context true底层机制每个配置项的源码级实现配置项全集PlanConfig结构体plan_config.go以 JSON 形式持久化。除了矩阵中的十个核心开关还有auto-debug-tries、auto-revert-on-rewind、skip-changes-menu、editor系列等扩展字段。每个配置键在ConfigSettingsByKey映射plan_config.go中注册了名称、描述、Getter/Setter 与显示排序plandex set-config与交互式选择列表均由此驱动。各配置项的行为与依赖关系如下auto-continueplan_config.go开启后计划会持续迭代直至完成手动修改该值会使其与预设级别不一致auto-mode自动降级为custom。auto-buildplan_config.go自动生成 pending file edits关闭它时会被强制同时关闭auto-apply。auto-applyplan_config.go自动应用变更开启它时会自动把auto-build置为true因为应用依赖构建。auto-load-contextplan_config.go开启后 Plandex 会用项目映射自动检索并加载相关上下文。CLI 侧还有配套联动在 set_config.go 中loadMapIfNeeded会在该选项从关变开时检查上下文是否已有 project map没有则自动加载removeMapIfNeeded会在从开变关时移除自动加载的 map。smart-contextplan_config.go只加载每个实现步骤实际需要的文件与自动加载配合可形成随计划推进而伸缩的滑动上下文窗口。auto-update-contextplan_config.go上下文中的文件被外部修改后自动更新免去手动plandex update。can-execplan_config.go命令执行的总闸作为安全设置存在关闭它会连带关闭auto-exec与auto-debug。auto-execplan_config.go应用成功后自动执行命令开启它自动打开can-exec关闭它自动关闭auto-debug。auto-debugplan_config.go自动调试失败的命令开启时自动打开can-exec与auto-exec若auto-debug-tries为 0 则回填默认值 5。auto-debug-triesplan_config.go自动调试尝试次数设为 0 会关闭auto-debug。auto-commitplan_config.go应用成功后自动创建 Git 提交。可以看出配置系统内置了依赖约束auto-apply依赖auto-buildauto-exec依赖can-execauto-debug依赖auto-exec。这些约束在SetAutoMode与各BoolSetter中被自动维护手动逐项配置时无需也不能绕过。为什么 Semi 是默认值init()中对DefaultPlanConfig执行SetAutoMode(AutoModeSemi)plan_config.go使得全新安装的默认配置为 Semi。当数据库中没有 plan 配置记录时PlanConfig.Scan也会回退到DefaultPlanConfigplan_config.go。这意味着默认情况下上下文自动加载、变更自动构建、Git 自动提交但变更应用与命令执行仍需人工确认——这是开箱可用与保持控制之间的默认平衡。命令行覆盖一次性覆盖除了持久化配置Plandex 还允许在单次命令执行时用标志临时覆盖自主性设置只影响本次执行不改变已保存的配置。例如# 无论当前自主性级别与配置如何本次执行都会应用变更、自动执行命令并自动调试 plandex tell add a feature --apply --auto-exec --debug另外plandex apply --full也可以完全自动模式应用 plan 并调试见 apply.go。完整的命令标志清单参见 CLI Reference。与上下文管理的联动自主性级别中与上下文相关的三个开关auto-load-context、smart-context、auto-update-context是 v2 上下文管理机制的核心。三者之间的配合关系详见 context-management.md可以概括为自动加载auto-load-context新 plan 创建时生成 project map 并加载模型据此挑选与任务相关的文件再进入规划智能上下文smart-context实现阶段二次过滤只加载每个步骤直接相关的文件与自动加载配合形成滑动上下文窗口也可在手动加载场景下使用例如手动加载了 10 个文件但每个实现步骤只需其中 12 个时smart-context 能显著减少 token 消耗自动更新auto-update-context你在 Plandex 之外改动了上下文中的文件后无需再被反复提示更新Plandex 会自动刷新这些文件的内容。如需退回手动上下文管理模式官方推荐用set-auto plus/set-auto basic或--plus/--basic标志切换到auto-load-context为关闭状态的级别也可以直接plandex set-config auto-load-context false。安全注意事项官方文档对 full 模式给出了明确的警告这是使用自主性功能时必须重视的部分Be extremely careful with full auto mode!It can make many changes quickly without any prompting or review, and can run commands that could potentially be destructive to your system. 请极其小心地使用全自动模式它可以在没有任何提示或审查的情况下快速做出大量更改并且可以运行可能对系统造成破坏的命令。建议在运行这类命令前确保 Git 工作区干净clean git state——避免自动化产生的变更与未提交的本地修改混杂切换到隔离的分支check out an isolated branch——万一自动化流程出现意外可以安全地丢弃整条分支而不会影响主干代码。结合前面分析的依赖关系还可以补充两点实操建议即使不使用 full 级别只要can-exec为真即plus及以上级别模型就有机会执行命令——只是需要人工审批而一旦启用auto-exec命令会在应用成功后自动运行此时配合auto-debug默认最多尝试 5 次更需确保运行环境安全、命令无破坏性。对于任何无人值守场景先提交或 stash 现有改动、使用独立分支是成本最低的保险措施。快速决策参考需要逐步骤完全掌控、逐条审阅→none从 v1 升级、希望保持原有习惯→basic希望智能管理上下文、允许手动执行命令、自动提交→plus希望上下文全自动打理、变更与应用仍人工把关新装默认→semi希望模型独立完成读码→改码→跑命令→修 bug→提交全流程→full并务必先做好分支与 Git 状态隔离任何预设都不满足→custom用plandex set-config逐项组合。【免费下载链接】plandexOpen source AI coding agent. Designed for large projects and real world tasks.项目地址: https://gitcode.com/GitHub_Trending/pl/plandex创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考