LibreFang 配置参考

LibreFang 配置文件完整参考。


概述

LibreFang 从 TOML 配置文件中读取配置:

~/.librefang/config.toml

关键特性:

  • 所有字段都是可选的,使用 #[serde(default)]
  • 通道配置Absent时表示禁用
  • 密钥存储在环境变量中,不直接存储在配置文件中

最小配置

[default_model]
provider = "groq"
model = "llama-3.3-70b-versatile"
api_key_env = "GROQ_API_KEY"

完整配置示例

# API 服务器
api_key = "your-bearer-token"

[default_model]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
api_key_env = "ANTHROPIC_API_KEY"
base_url = "https://api.anthropic.com"

[memory]
decay_rate = 0.05
sqlite_path = "~/.librefang/data/librefang.db"

[network]
listen_addr = "127.0.0.1:4200"
shared_secret = "your-secret"

[compaction]
threshold = 80
keep_recent = 20
max_summary_tokens = 1024

[usage_footer]
display = "Full"

# 通道配置
[telegram]
bot_token_env = "TELEGRAM_BOT_TOKEN"
allowed_users = ["user1", "user2"]

[discord]
bot_token_env = "DISCORD_BOT_TOKEN"
guild_ids = ["123456789"]

[slack]
bot_token_env = "SLACK_BOT_TOKEN"
app_token_env = "SLACK_APP_TOKEN"

# MCP 服务器
[[mcp_servers]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]

# A2A 配置
[a2a]
enabled = true
agent_card_path = "/a2a/agent.json"

# 后备提供商
[[fallback_providers]]
provider = "groq"
model = "llama-3.1-70b-versatile"
api_key_env = "GROQ_API_KEY"

# 用户
[[users]]
username = "admin"
role = "admin"

配置项参考

顶层字段

字段类型默认值说明
api_keyString-Bearer 认证令牌
api_listenString"127.0.0.1:4200"API 监听地址

[default_model]

字段类型默认值说明
providerString"anthropic"LLM 提供商
modelString"claude-sonnet-4-20250514"模型名称
api_key_envString"ANTHROPIC_API_KEY"API 密钥环境变量
base_urlString提供商默认API 基础 URL
max_tokensInteger4096最大生成 token 数
temperatureFloat0.7采样温度

[memory]

字段类型默认值说明
decay_rateFloat0.05记忆置信度衰减率
sqlite_pathString~/.librefang/data/librefang.dbSQLite 数据库路径

[network]

字段类型默认值说明
listen_addrString"127.0.0.1:4200"OFP 监听地址
shared_secretString-P2P 认证共享密钥

[compaction]

字段类型默认值说明
thresholdInteger80消息数量阈值
keep_recentInteger20保留最近消息数
max_summary_tokensInteger1024摘要最大 token 数

通道配置

[telegram]

字段类型说明
bot_token_envStringBot Token 环境变量
allowed_usersArray允许的用户 ID

[discord]

字段类型说明
bot_token_envStringBot Token 环境变量
guild_idsArray允许的服务器 ID

[slack]

字段类型说明
bot_token_envStringBot Token 环境变量
app_token_envStringApp Token 环境变量

[[mcp_servers]]

字段类型说明
nameString服务器名称
commandString执行命令
argsArray命令参数

[[users]]

字段类型说明
usernameString用户名
roleString角色 (admin/operator/user)

环境变量

LibreFang 使用以下环境变量:

变量说明
ANTHROPIC_API_KEYAnthropic Claude API 密钥
OPENAI_API_KEYOpenAI API 密钥
GROQ_API_KEYGroq API 密钥
GEMINI_API_KEYGoogle Gemini API 密钥
DEEPSEEK_API_KEYDeepSeek API 密钥
TELEGRAM_BOT_TOKENTelegram Bot Token
DISCORD_BOT_TOKENDiscord Bot Token
SLACK_BOT_TOKENSlack Bot Token
RUST_LOG日志级别 (info/debug/trace)

验证

运行诊断命令检查配置:

librefang doctor

这将检查:

  • 配置文件存在性
  • API 密钥配置
  • 网络连接
  • 依赖项可用性