Skip to content

cfool/try-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Agent 开发教程

Node.js License

欢迎来到 AI Agent 开发教程!本教程将带你从零开始,一步步构建一个最小可运行的命令行 AI 智能体(Agent),帮助你从代码层面理解AI Agent的逻辑。

你将不仅仅是调用 API,而是深入理解 Agent 的核心架构:大脑(LLM)、记忆(Context)、手脚(Tools)和技能(Skills)

项目简介

这是一个可运行的代码库,教程中的每个阶段都对应 Git 历史中的关键 Commit。你可以通过 git checkout 切换到对应状态,亲自修改代码并观察效果。

最终你将获得:

  • 一个能够执行 Shell 命令的 AI Agent
  • 支持多模型切换(Gemini、DeepSeek、智谱、腾讯混元)
  • 完整的工具系统(文件读写、命令执行等)
  • MCP 协议集成能力
  • Sub-Agent 协作模式
  • 可扩展的 Skill 系统

快速开始

# 1. 克隆项目
git clone <repository-url>
cd try_agent

# 2. 安装依赖
npm install

# 3. 配置环境变量(至少配置一个模型的 API Key)
cp .env.example .env   # 或手动创建 .env,填入至少一个 API Key
# 例如: echo "GEMINI_API_KEY=your_api_key_here" > .env

# 4. 运行
npm start

详细配置请参考 环境配置 (Setup)

前置要求

  • Node.js: v18 或更高版本
  • Git: 用于版本控制
  • API Key: 至少一个模型供应商的 API Key(Gemini / DeepSeek / 智谱 / 腾讯混元)

教程目录

建议按以下顺序阅读和实践:

🏁 准备工作

📚 核心概念

🛠️ 实战开发

🚀 进阶架构

学习建议

本项目不仅仅是文档,更是一个可运行的代码库。 教程中的每个阶段都对应 Git 历史中的关键 Commit。你可以通过 git checkout 切换到对应状态,亲自修改代码并观察效果。

推荐学习路径:

  1. 先阅读 核心概念 建立认知基础
  2. 按顺序完成实战开发章节,每章都有对应的 Git Branch
  3. 动手修改代码,观察变化
  4. 尝试进阶架构,扩展 Agent 能力

项目结构

try_agent/
├── docs/                       # 文档
├── src/                        # 源代码
│   ├── index.ts                # 入口文件
│   ├── chat.ts                 # Agent 核心逻辑(ReAct 循环)
│   ├── chat-events.ts          # 事件总线(TUI 解耦)
│   ├── mcp-client.ts           # MCP 协议客户端
│   ├── project-context.ts      # 项目上下文注入
│   ├── system-prompt.ts        # 系统提示词管理
│   ├── tool-registry.ts        # 工具注册中心
│   ├── context/                # 上下文管理
│   │   └── chat-compress-service.ts # 对话历史压缩服务
│   ├── model/                  # 模型客户端
│   │   ├── client.ts           # 模型注册与切换(多模型适配)
│   │   └── providers/          # 模型供应商实现
│   │       ├── types.ts        # 供应商接口定义
│   │       ├── gemini.ts       # Google Gemini
│   │       ├── deepseek.ts     # DeepSeek
│   │       ├── zhipu.ts        # 智谱 AI
│   │       ├── tencent.ts      # 腾讯混元
│   │       └── openai-compatible.ts # OpenAI 兼容接口
│   ├── tools/                  # 工具实现
│   │   ├── run-shell-command.ts # Shell 命令执行
│   │   ├── read-file.ts        # 文件读取
│   │   ├── write-file.ts       # 文件写入
│   │   ├── edit-file.ts        # 文件编辑
│   │   ├── read-folder.ts      # 目录读取
│   │   ├── sub-agent-tool.ts   # Sub-Agent 调用工具
│   │   └── skill-tool.ts       # Skill 调用工具
│   ├── subagents/              # 子智能体系统
│   │   ├── sub-agent-types.ts  # Sub-Agent 类型定义
│   │   ├── sub-agent-registry.ts # Sub-Agent 注册中心
│   │   └── codebase-investigator.ts # 代码库调查员
│   ├── skills/                 # 技能系统
│   │   ├── skill-types.ts      # Skill 类型定义
│   │   ├── skill-registry.ts   # Skill 注册中心
│   │   └── skill-loader.ts     # Skill 加载器
│   ├── tui/                    # TUI 交互界面
│   │   ├── index.tsx           # TUI 入口
│   │   ├── types.ts            # UI 类型定义
│   │   ├── slash-commands.ts   # 斜杠命令注册表
│   │   ├── use-chat.ts         # Chat 状态管理 hook
│   │   ├── use-command-list.ts # 命令补全 hook
│   │   └── components/         # Ink/React 组件
│   ├── prompts/                # 系统提示词模板
│   │   ├── gemini-cli.md       # Gemini CLI 风格
│   │   ├── coding-mentor.md    # 编程导师
│   │   ├── strict-engineer.md  # 严格工程师
│   │   ├── personal-assistant.md # 个人助手
│   │   ├── sarcastic-friend.md # 毒舌朋友
│   │   └── anime-girl.md       # 二次元少女
│   └── utils/                  # 工具函数
│       └── frontmatter.ts      # Frontmatter 解析
├── .agent/                     # Agent 配置(技能和代理)
├── .env                        # 环境变量配置
├── .mcp.json                   # MCP 服务器配置
├── package.json                # 项目依赖
└── tsconfig.json               # TypeScript 配置

常用命令

命令 说明
npm start 启动 Agent

常见问题

Q: 启动后没有反应? A: 检查 .env 文件是否正确配置了 API Key。

Q: 如何切换模型? A: 运行时使用 /use <model-name> 命令(如 /use deepseek-v3.2),或在 .env 中设置 MODEL 环境变量。(在 第 9 部分:TUI 中,/use 将升级为交互式的 /model 命令)

Q: Token 超限怎么办? A: 参考 上下文管理 章节。

许可证

本项目采用 MIT 许可证。


开始你的 AI Agent 之旅吧! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors