feat(permission): add auto-approval mode with approval agent, UI flow, and docs sync
Implemented a new permission mode between and , including backend policy, runtime behavior, frontend display, and documentation updates.
Backend & policy changes:
- Added to permission mode validation and persistence paths.
- Updated tool permission evaluation: workspace-local direct pass, out-of-workspace requires approval.
- Kept readonly-first flow and added auto-approval decision path when permission denial occurs.
- Added approval reason/decider support in tool approval manager.
- Improved rejection tool-content format to natural language: '工具调用被拒绝\n原因:...'
- Fixed permission-mode sync edge cases on conversation create/load and restart-first-switch behavior.
Approval agent subsystem:
- Added and .
- Added lightweight auto-approval config at (name/url/key/model/extra_params + timeouts).
- Added optional transcript debug switch in code and transcript output under logs/approval_agent.
- Aligned transcript saving toward cumulative messages format and captured reasoning/content/tool_calls/tool sequence.
Frontend changes:
- Added option to personalization and permission menus.
- Reworked approval panel auto-review display into a dedicated block with simplified lines: start, command, final approve/reject + reason.
- Added delayed sidebar auto-close (10s) after approval resolved.
- Added stricter permission-switch verification and rollback on mismatch/error.
Docs updated:
- Synced AGENTS.md, README.md, and docs/host_sandbox_and_permission_model.md with new permission mode, approval-agent behavior, config, and current constraints (including docker caveat).