配置指南
环境变量配置 (.env)
在项目根目录创建 .env 文件:
# AI Provider: minimax, deepseek, openai, anthropic 等
FOLIKO_PROVIDER=minimax
# AI Model(可选,不填则使用 provider 默认值)
# MiniMax: MiniMax-M2.7
# DeepSeek: deepseek-chat, deepseek-coder 等
FOLIKO_MODEL=
# API Base URL(可选,不填则使用 provider 默认值)
# MiniMax: https://api.minimaxi.com/v1
# DeepSeek: https://api.deepseek.com/v1
FOLIKO_BASE_URL=
# API Key(通用,不填则使用 provider 专用 key)
FOLIKO_API_KEY=
# Provider 专用 API Key(可选)
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
MINIMAX_API_KEY=sk-your-minimax-api-key
配置优先级:命令行参数 > .env配置 > provider默认值
目录结构
在项目根目录创建 .agent 目录:
项目目录/
└── .agent/
├── config # 配置文件
├── ai.json # AI 配置
├── mcp_config.json # MCP 服务器配置
├── plugins/ # 用户插件
├── skills/ # 用户技能
└── data/ # 数据目录
config 文件
简单的 key=value 格式配置:
ai_key: your-api-key
ai_model: MiniMax-M2.7
ai_provider: minimax
ai_base_url: https://api.minimaxi.com/v1
ai.json
JSON 格式的 AI 配置:
{
"provider": "minimax",
"model": "MiniMax-M2.7",
"apiKey": "your-api-key",
"baseURL": "https://api.minimaxi.com/v1"
}
mcp_config.json
MCP 服务器配置:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}
CLI 参数
命令行参数会覆盖 .env 配置:
| 参数 | 说明 | 示例 |
|---|---|---|
--provider |
指定 AI 提供商 | deepseek, minimax |
--model |
指定 AI 模型 | deepseek-chat, MiniMax-M2.7 |
--base-url |
指定 API 地址 | https://api.deepseek.com/v1 |
--api-key |
指定 API 密钥 | sk-xxx |
使用示例
# 使用 .env 中的配置
npm run chat
# 指定完整配置
foliko chat --provider deepseek --model deepseek-chat --base-url https://api.deepseek.com/v1 --api-key sk-xxx
# 只指定 provider(使用 provider 默认 model 和 baseURL)
foliko chat --provider deepseek --api-key sk-xxx
# 只指定 api-key(使用 FOLIKO_PROVIDER 设定的 provider)
foliko chat --api-key sk-xxx
插件配置
Telegram 插件
{
"telegram": {
"botToken": "your-bot-token",
"allowedChats": ["123456789"],
"groupMode": false,
"prefix": "/"
}
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
| botToken | Telegram Bot Token | TELEGRAM_BOT_TOKEN 环境变量 |
| allowedChats | 允许的聊天 ID 数组 | [] (允许所有人) |
| groupMode | 是否启用群组模式 | false |
| prefix | 命令前缀 | / |
WeChat 插件
{
"weixin": {
"forceLogin": false,
"qrcodeTerminal": true,
"allowedUsers": []
}
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
| forceLogin | 强制重新扫码登录 | false |
| qrcodeTerminal | 终端渲染二维码 | true |
| allowedUsers | 允许的用户 ID 数组 | [] (允许所有人) |
Session 插件
{
"session": {
"sessionTTL": 1800000,
"maxSessions": 100,
"maxHistoryLength": 50,
"autoCleanup": true,
"cleanupInterval": 300000
}
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
| sessionTTL | 会话过期时间(毫秒) | 30分钟 |
| maxSessions | 最大会话数 | 100 |
| maxHistoryLength | 最大历史消息数 | 50 |
| autoCleanup | 自动清理过期会话 | true |
| cleanupInterval | 清理检查间隔(毫秒) | 5分钟 |
Storage 插件
{
"storage": {
"type": "json",
"path": ".agent/data",
"namespace": "default"
}
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
| type | 存储类型 (json/memory) | json |
| path | 存储文件路径 | .agent/data |
| namespace | 命名空间 | default |
Scheduler 插件
{
"scheduler": {
"checkInterval": 1000
}
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
| checkInterval | 任务检查间隔(毫秒) | 1000 |
Email 插件
通过环境变量配置:
# SMTP 配置 (发送邮件)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
[email protected]
SMTP_PASS=your-app-password
# IMAP 配置 (读取邮件)
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
[email protected]
IMAP_PASS=your-app-password
# 默认发件人
[email protected]
MCP 配置
在 .agent/mcp_config.json 中配置 MCP 服务器:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}