URL: /guide/ai-agent

---
title: AI 代理功能
description: Zapmyco 内置 AI Agent 的使用和配置
---

Zapmyco 内置了 AI Agent 功能，让你在终端中直接与 AI 进行交互式对话。

## 启动 AI 模式

```bash
zapmyco
```

执行后进入交互式对话界面，终端会显示对话提示符，等待输入。

## 交互式对话

AI 代理支持多轮对话，你可以连续提问，AI 会基于上下文进行回答。

```
$ zapmyco
进入 AI 对话模式
模型: deepseek-v4-flash
输入 /exit 退出，/clear 清空上下文
---

❯ 你好，请介绍一下 Zapmyco
你好！Zapmyco 是一个基于 Rust 的 AI 驱动命令行工具...

❯ 它的主要功能有哪些？
主要包括：CLI 命令工具、AI 对话模式、配置管理等...

❯ /exit
```

### 退出对话

输入 `/exit` 或按 `Ctrl+C` 退出对话模式。输入 `/clear` 清空对话上下文。

## 一次性执行模式

如果你只需要执行一个任务而不需要后续交互，可以使用 `run` 命令：

```bash
zapmyco run 帮我写一个 hello world 程序
```

一次性模式与交互模式的区别：

| 模式 | 命令 | 行为 | 内置工具 |
|------|------|------|:--------:|
| 交互模式 | `zapmyco` | AI 回答后继续等待输入 | ❌ 无 |
| 一次性模式 | `zapmyco run <task>` | AI 回答后自动退出 | ✅ 3 个 |

一次性模式额外提供了 3 个内置工具：`web_fetch`（获取网页）、`web_search`（搜索网络）、`shell_exec`（执行命令）。交互模式下**不启用**这些工具。详细说明请参见[内置工具](/guide/built-in-tools)。

### Skill 系统集成

一次性执行模式支持加载 Skill 工作流模板，通过预定义的指令让 AI Agent 按统一标准执行任务：

- 通过 `--skill` 参数预加载 Skill：`zapmyco run --skill check`
- Skill 文件（SKILL.md）定义执行规则、步骤和工具权限（allowed-tools）
- AI Agent 加载 Skill 后自动按指令文件中的工作流执行

详细说明请参见 [Skill 系统指南](/skill/overview)。

## 实现原理

AI Agent 模块（`src/agent.rs`）基于 Rust/tokio 异步运行时实现：

- 使用 `anthropic-ai-sdk` crate 调用 Anthropic Messages API
- 通过 `tokio::io` 异步读取用户输入
- 支持 SSE 流式解析，实时输出 AI 响应
- 支持 `模型配置档（profile）` 快速切换不同模型

## 配置

通过 `zapmyco init` 交互式向导配置：

1. 选择 AI 供应商（DeepSeek / GLM / 自定义）
2. 输入 API Key（支持环境变量引用 `${env.VAR}`）
3. 选择默认模型

配置存储在 `~/.zapmyco/settings.toml`。

## 使用场景

- **代码辅助** — 询问代码写法、调试建议
- **项目咨询** — 了解项目结构和功能
- **日常工具** — 替代简单的 Web 搜索或文档查阅
