Skip to content

Latest commit

 

History

History
156 lines (110 loc) · 4.78 KB

File metadata and controls

156 lines (110 loc) · 4.78 KB

Mini Agent TS

last commit typescript license PRs Welcome

English | 简体中文

本项目是基于 MiniMax 开源的 Mini-Agent 项目的 TypeScript 实现版本。

Mini Agent TS 是一个极简的终端 LLM Agent, 包含一个最简单Agent所需要的大部分功能。它兼容 Anthropic 和 OpenAI 协议,支持 Agent SkillsMCP,还具备原生文件操作与命令行执行的能力. 基于这个项目可以快速搭建一个LLM Agent并且学习Agent实现原理.


✨ 核心特性

  • 🔄 ReAct 模式: 支持 ReAct 的 Agent 循环机制,能进行多步推理并循环调用多种工具完成复杂任务。
  • 🔌 MCP 协议支持: 轻松连接外部工具生态,扩展 Agent 功能。
  • 🛠️ Agent Skills: 支持通过专业知识库、工作流和工具集来自定义 Agent 技能,打造领域专家。
  • 🌐 自定义供应商: 支持 Anthropic 和 OpenAI SDK,自由接入任何兼容协议的 LLM 供应商。
  • 🧠 交错思维链: 使 Agent 的推理过程与工具调用紧密结合。

📂 项目结构

mini-agent-ts/
├── src/
│   ├── agent.ts           # Agent 核心逻辑
│   ├── cli.ts             # 命令行入口
│   ├── config.ts          # 配置加载与解析
│   ├── llm-client/        # LLM 客户端适配器
│   ├── schema/            # 数据模型定义
│   ├── skills/            # 技能加载器
│   ├── tools/             # 内置工具集
│   └── util/
├── config/
│   ├── config.yaml        # 主配置文件
│   └── mcp.json           # MCP 服务器配置
├── skills/                # 用户自定义技能目录
├── tests/                 # 测试文件
└── logs/                  # 运行日志(启用日志时生成)

🛠️ 快速上手

1.克隆项目并安装依赖

在终端执行以下命令将项目部署到本地:

# 克隆仓库
git clone [https://github.com/Code-MonkeyZhang/mini-agent-ts.git](https://github.com/Code-MonkeyZhang/mini-agent-ts.git)

# 进入项目目录
cd mini-agent-ts

# 安装依赖
npm install

2.安装项目并链接到系统全局命令

npm run build && npm link

项目配置

初始化配置文件以填入你的 API 信息:

# 复制示例配置
cp config/config-example.yaml config/config.yaml
# config/config.yaml

# 填入你的 API Key
apiKey: "YOUR_API_KEY_HERE" # 替换为你的 LLM provider API Key
apiBase: "https://api.minimaxi.com/v1/" # 替换为你的base url

# 模型和提供商SDK的形式
model: "MiniMax-M2.5"
provider: "openai"  # MiniMax 使用 OpenAI 风格认证

# 日志配置(可选)
enableLogging: false # 设置为 true 以启用日志记录功能,日志将保存在项目根目录的 logs/ 文件夹下

指定工作空间

如果你希望 Agent 仅在特定项目目录下操作(防止误删或误改其他文件),请使用:

🔌 MCP 服务器

本项目支持通过 MCP 协议给 Agent 添加外部工具。

设置 MCP 配置

首先,复制示例 MCP 配置文件:

cp config/mcp-example.json config/mcp.json

然后编辑 config/mcp.json 来配置您的 MCP 服务器。下面示例展示如何添加一个 time server:

{
  "mcpServers": {
    "time-server": {
      "command": "uvx",
      "args": ["mcp-server-time"],
      "description": "提供当前时间查询工具"
    }
  }
}

🧠 Agent Skills

本项目支持 Agent Skills, 允许用户为 Agent 加入特定功能的Prompt。为了加入skill,你需要在项目根目录或指定位置创建 skills 目录。将Skill文件放入该目录。同时确保 config.yaml 中启用了正确的skill路径:

tools:
  skillsDir: "./skills"

🤝 贡献与反馈

欢迎提交 Issue 或 Pull Request 来完善这个项目。

Made with ❤️ by Code-MonkeyZhang


📚 参考文档

本项目的实现参考了以下官方文档: