基于 MiniMax Mini-Agent 的增强版 AI 助手
Built on MiniMax's open-source Mini-Agent framework
🙏 致谢开源社区: 本项目基于 MiniMax-AI/Mini-Agent 开源框架进行二次开发。感谢 MiniMax 团队和所有开源贡献者,正是你们的开放精神让更多人能够自由地构建和定制 AI 助手。
小冰(Xiao Bing) 是一个在 MiniMax Mini-Agent 开源框架基础上进行深度定制的增强版 AI 助手。她是冰儿(Ice Agent)的"小弟",由 MiniMax M2 系列大模型驱动。
小冰不是简单的 Mini-Agent 副本——她拥有一系列独特的增强能力,使其成为一个更强大、更智能、更可靠的 AI 助手。
mcp_servers/vector_memory_server.py
传统 Agent 只能靠 Session Notes 记住信息。小冰内置了基于 sentence-transformers (all-MiniLM-L6-v2) 的向量记忆系统:
- 语义搜索:不只是关键词匹配,而是按语义含义查找记忆
- 自动索引:所有记忆自动建立语义索引,秒级检索
- 分类存储:按类别组织记忆(用户偏好、项目信息、技能等)
- 持续学习:每次交互都能积累新记忆
# 记住一个事实
remember(content="用户喜欢1080P以上的视频", category="user_preference")
# 用自然语言搜索记忆
recall(query="用户喜欢什么画质的视频", top_k=5)
mcp_servers/web_search_server.py
通过 MCP (Model Context Protocol) 集成了实时 Web 搜索能力:
- 联网搜索:获取最新信息,不受训练数据时间限制
- 网页抓取:提取任意 URL 的可读内容
- API 兼容:支持 Tavily Search API(可替换为其他搜索引擎)
config/system_prompt_*.md
小冰支持即插即用的多角色系统,每个角色有独立的人格设定:
- 小冰 (默认):冰儿的小弟,高效执行者
- Feynman:物理学家思维者
- Jobs:产品经理思维者
- Musk:愿景驱动思考者
切换角色只需修改配置中的 system_prompt_path:
system_prompt_path: "system_prompt_feynman.md" # 切换为物理学家模式
patches/utf8_encoding_fix.patch
修复了 Mini-Agent 原版在 Windows 环境下的中文乱码问题:
- 文件读写强制 UTF-8 编码
- Note Tool 中文内容完美显示
- Recall Memory 中文搜索正常工作
patches/token_limit_support.patch
原版 Mini-Agent 未提供 token 限制配置。小冰增加了:
- YAML 配置中的
token_limit字段 - Agent 构造时自动应用限制
- 防止上下文溢出和 API 调用失败
retry:
enabled: true
max_retries: 5 # 最多重试 5 次
initial_delay: 1.0 # 初始等待 1 秒
max_delay: 60.0 # 最大等待 60 秒
exponential_base: 2.0 # 指数退避: 1s → 2s → 4s → 8s → ...小冰运行两个独立的 MCP 服务器:
- Web Search Server:提供
web_search和web_fetch工具 - Vector Memory Server:提供
remember、recall、rebuild_memory_index工具
两者均通过标准 MCP 协议通信,可独立重启或替换。
- Python 3.10+
- uv (Python 包管理器)
- Git
# 1. 克隆小冰
git clone https://github.com/guanlan2/xiaobing.git
cd xiaobing
# 2. 安装 Mini-Agent(上游项目)
git clone https://github.com/MiniMax-AI/Mini-Agent.git
cd Mini-Agent
uv tool install -e .
cd ..
# 3. 安装 MCP 服务器依赖
pip install sentence-transformers tavily-python mcp numpy
# 4. 配置 API Key
# 编辑 config/config.yaml,填入你的 API Key
# 编辑 mcp_servers/web_search_server.py,填入你的 Tavily API Key
# 5. 启动小冰
mini-agent --workspace ./workspace# API 配置
api_key: "YOUR_API_KEY_HERE" # ← 替换为你的 API Key
api_base: "https://api.minimaxi.com"
model: "MiniMax-M2.5"
provider: "anthropic"
# 重试配置
retry:
enabled: true
max_retries: 3
initial_delay: 1.0
max_delay: 60.0
exponential_base: 2.0
# Agent 配置
max_steps: 100
token_limit: 200000 # ← 小冰新增:Token 限制
workspace_dir: "./workspace"
system_prompt_path: "system_prompt.md"
# 工具配置
tools:
enable_file_tools: true
enable_bash: true
enable_note: true
enable_skills: true
skills_dir: "./skills"
enable_mcp: true # ← 小冰新增:MCP 支持
mcp_config_path: "mcp.json"
mcp:
connect_timeout: 60.0
execute_timeout: 120.0
sse_read_timeout: 180.0{
"servers": [
{
"name": "web-search",
"command": "python",
"args": ["mcp_servers/web_search_server.py"]
},
{
"name": "vector-memory",
"command": "python",
"args": ["mcp_servers/vector_memory_server.py"]
}
]
}| 特性 | Mini-Agent 原版 | 小冰 增强版 |
|---|---|---|
| 文件操作 | ✅ | ✅ |
| Bash 执行 | ✅ | ✅ |
| Session Notes | ✅ | ✅ |
| 技能系统 | ✅ | ✅ |
| 语义向量记忆 | ❌ | ✅ NEW |
| Web 实时搜索 | ❌ | ✅ NEW |
| 多角色系统 | ❌ | ✅ NEW |
| 中文编码修复 | ❌ (GBK问题) | ✅ FIXED |
| Token 限制 | ❌ | ✅ NEW |
| MCP 双服务器 | ❌ | ✅ NEW |
| 智能重试 | 基础 | ✅ ENHANCED |
xiaobing/
├── README.md # 本文件
├── config/
│ ├── config.yaml # 主配置模板
│ ├── config_feynman.yaml # 物理学家模式配置
│ ├── config_jobs.yaml # 产品经理模式配置
│ ├── config_musk.yaml # 愿景者模式配置
│ ├── mcp.json # MCP 服务器配置
│ ├── system_prompt.md # 默认人格:小冰
│ ├── system_prompt_feynman.md # 物理学家人格
│ ├── system_prompt_jobs.md # 产品经理人格
│ └── system_prompt_musk.md # 愿景者人格
├── mcp_servers/
│ ├── web_search_server.py # Web 搜索 MCP 服务器
│ └── vector_memory_server.py # 向量记忆 MCP 服务器
├── patches/
│ ├── utf8_encoding_fix.patch # UTF-8 编码修复
│ └── token_limit_support.patch # Token 限制支持
├── docs/
│ ├── ARCHITECTURE.md # 架构详解
│ └── PATCHES.md # 补丁说明
└── bootstrap.bat # Windows 一键启动脚本
小冰对上游 Mini-Agent 进行了以下改动,详见 patches/ 目录:
-
UTF-8 编码修复 (
patches/utf8_encoding_fix.patch)- 修复位置:
note_tool.py(read_text, write_text, RecallNoteTool) - 问题: Windows 默认 GBK 编码导致中文乱码
- 解决: 显式指定 UTF-8
- 修复位置:
-
Token 限制支持 (
patches/token_limit_support.patch)- 修复位置:
config.py,cli.py,agent.py - 问题: 缺少 token 限制导致上下文溢出
- 解决: 添加 token_limit 配置项并生效
- 修复位置:
- API Key 安全:发布版本已移除所有真实 API Key。使用前请自行配置。
- 向量模型:首次启动会自动下载 all-MiniLM-L6-v2 (22MB)
- MCP 超时:首次启动可能因模型加载而超时,重启即可
本项目继承上游 MiniMax-AI/Mini-Agent 的 MIT 许可证。
- MiniMax — 开源 Mini-Agent 框架
- sentence-transformers — 向量嵌入
- Tavily — Web 搜索 API
- MCP 协议社区 — 标准化工具通信
- 冰儿 🧊 — 创造小冰的姐姐
小冰是冰儿的小弟。干活的,不是聊天的。完成任务,干净利落。🧊👶