## 概述

Agent 模式是 AI 对话的增强模式，支持自主多步推理和工具调用。

## 启动

```bash
j chat              # 进入 TUI 对话
```

在对话中，AI 会根据任务需要自动使用工具执行多步操作。

> **自动应用工具**：在项目根目录创建 `.jcli/permissions.yaml`，设置 `allow_all: true` 可跳过所有工具确认。详见下方"工具权限配置"。

## 功能特性

- **自主推理**：AI 规划并执行多步任务
- **工具集成**：自动使用可用工具（Read、Write、Bash 等）
- **任务管理**：Task 和 Todo 工具管理复杂任务
- **计划模式**：EnterPlanMode 可先探索代码库再制定计划
- **子代理**：Agent 工具可派生子代理并行处理复杂任务

## 子代理（Agent 工具）

Agent 工具允许主代理派生子代理执行复杂任务：

- **防递归**：子代理无法调用 Agent 工具
- **最大轮数**：30 轮工具调用限制
- **执行模式**：前台（阻塞）或后台（异步）
- **权限控制**：遵循 deny/allow 规则

```
# 示例：派生子代理搜索并整理代码
搜索所有包含 'TODO' 的文件并按目录分类整理
```

## 计划模式

对于复杂任务，可先进入计划模式探索代码库：

```
# 进入计划模式
分析这个项目的架构并设计重构方案

# AI 会：
1. 进入计划模式（只读工具可用）
2. 探索代码库结构
3. 生成详细计划
4. 提交计划等待用户确认
5. 用户确认后执行
```

## 示例任务

```
分析代码库并提出改进建议

查找代码中的所有 TODO 注释并生成摘要

研究 React 状态管理的最佳实践并生成报告
```

## 工具权限配置

配置 AI 可以使用的工具（位于 `.jcli/permissions.yaml`）：

```yaml
permissions:
  allow_all: false   # 设为 true 跳过所有确认
  
  allow:             # 匹配则跳过确认
    - Read
    - Grep
    - Glob
    - WebFetch
  
  deny:              # 优先于 allow，直接拒绝
    - Bash
    - Write
```
