跳到主要内容

配置运行时

Anda 的运行状态默认保存在 ~/.anda。主配置文件是 ~/.anda/config.yaml,首次启动时会自动创建。可选 MCP 服务配置位于 ~/.anda/mcp.json。

模型 provider​

active provider 必须包含 family、model 和 api_base。api_key 可以写在配置文件中,也可以留空并通过环境变量提供。

model:
active: "deepseek-v4-pro"
providers:
- family: anthropic
model: "deepseek-v4-pro"
api_base: "https://api.deepseek.com/anthropic"
api_key: "YOUR_API_KEY"
labels: ["pro", "brain"]
disabled: false

支持的模型密钥环境变量包括:

OPENAI_API_KEY
ANTHROPIC_API_KEY
GEMINI_API_KEY
GOOGLE_API_KEY
DEEPSEEK_API_KEY
MINIMAX_API_KEY
MIMO_API_KEY
MOONSHOT_API_KEY
KIMI_API_KEY
BIGMODEL_API_KEY
GLM_API_KEY

常用顶层配置​

设置作用
addr本地 gateway 地址,默认 127.0.0.1:8042。
sandbox为 true 时,shell 执行会经过 ~/.anda/sandbox。
https_proxy模型和频道请求使用的代理。
modelAgent 和记忆大脑使用的模型 provider。
transcription语音输入和音频附件转写 provider。
tts语音播放 provider。
channelsTelegram、WeChat、Discord、Lark/飞书等频道配置。

语音服务​

语音输入需要启用 transcription.enabled,语音输出需要启用 tts.enabled,并分别配置 default_provider 对应的 provider 区块。参见配置示例。

  • transcription.initial_prompt 向 Groq 和 OpenAI Whisper 提供词汇提示;StepFun 使用独立的 transcription.stepfun.prompt。
  • Google STT 通过同步接口接受 WAV/FLAC。Chrome 扩展会把不支持的录音格式转换为 WAV。包含 Base64/JSON 的完整请求不得超过 10 MB,音频不得超过 60 秒。Anda 会拒绝超大请求,以及能从 WAV/FLAC 文件头确定的超时长音频;无法确定时长的文件仍受 Google 限制。更长的音频应使用其他 provider 或缩短录音。
  • local_whisper.max_audio_bytes 独立控制自托管接口的上传大小,不受云端默认上限约束。
  • tts.max_text_length 按字符计数,默认 4096;同时遵守 provider 自身限制。Google TTS 每次最多 5000 个 UTF-8 字节,StepFun 每次最多 1000 个字符。语音对话已将回复分成较短的片段。
  • tts.default_format 选择 StepFun 的输出格式:mp3、opus、wav、flac 或 pcm。Edge、OpenAI 和 Google 固定输出 MP3。不支持的格式会报错,生成附件的后缀始终与实际音频一致。
  • Edge 需要 PATH 中存在 edge-tts。tts.edge.binary_path 应为 edge-tts,不支持 edge-playback 包装程序。取消或超时会终止合成子进程。
  • StepFun ASR 必须收到最终的 transcript.text.done 事件。流结束时如果只有部分文本,会返回错误。

未生效的 transcription.max_duration_secs、transcription.transcribe_non_ptt_audio 和 transcription.groq.language_code 已从配置表单和示例移除。旧配置仍可加载,这些字段会被忽略。Groq 的语言提示请使用 transcription.groq.language。

MCP 服务​

Anda Bot 可以通过 stdio 子进程或 HTTP endpoint 连接 MCP 服务。把可移植 MCP 配置放到 ~/.anda/mcp.json,然后重启 daemon。该文件同时支持 mcpServers 和 servers 两种 root key,方便直接粘贴其它 MCP 工具里的配置。

{
"mcpServers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "$ANDA_WORKSPACE"]
},
"remote": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer ${MCP_REMOTE_TOKEN}"
}
}
}
}

远端 MCP 工具会以 mcp_<server_id>_<remote_tool> 这样的 Anda 工具名出现。配置字符串支持 $VAR 和 ${VAR} 环境变量展开;ANDA_HOME 和 ANDA_WORKSPACE 是内置变量。stdio 服务的 command 会直接启动,不经过 shell;未配置 cwd 时,会使用第一个 Anda workspace。未配置 type 时,Anda 会根据 command 推断为 stdio,或根据 url 推断为 http。

智能体也可以通过 add_mcp_server 在运行时添加服务。persist: false 只对当前 daemon 生效;persist: true 会把服务保存到 ~/.anda/mcp.json,重启后继续保留。它的服务字段与一条 mcp.json 配置保持一致:type、command、args、env、cwd、url、headers、enabled、include 和 exclude,另外再加 tool 专用的 id 和 persist。

本地目录结构​

~/.anda/
config.yaml
mcp.json
anda-daemon.pid
channels/
credentials/ # 本地加密可信用户凭证库
db/
keys/ # 显式导出或 Secret Service fallback key
logs/
bundled-skills/
sandbox/
skills/
skills-manifest.json
skill-backups/
skill-trash/
workspace/
目录内容
credentials/本地加密凭证库。可信用户私钥会以加密 COSE Key 的形式保存在这里。
db/记忆、会话、频道状态、Cron、对象状态等本地数据。
keys/显式导出或 Linux Secret Service fallback 的签名密钥文件。操作系统安全凭证库可用时,daemon 和 owner 身份私钥默认保存在其中。
logs/daemon 和 CLI 日志。
channels/频道运行状态。
bundled-skills/Anda 更新安装的内置 Skills。
sandbox/开启 sandbox 时的 shell 隔离目录。
skills/用户创建、克隆或编辑的个人运行时 Skills。
skills-manifest.jsonSkills 库的本地启停和重载元数据。
skill-backups/Dashboard 编辑 Skill 前创建的时间戳备份。
skill-trash/删除个人 Skill 时先移动到这里。
workspace/文件和 shell 工具默认工作区。

隐私边界​

Anda 的本地状态、记忆图谱、会话、频道状态、Cron、日志和工作区数据默认都保存在你的机器上。daemon 和 owner 身份私钥默认保存在操作系统安全凭证库,可信用户私钥保存在 ~/.anda/credentials/ 下的本地加密凭证库;显式导出的文件 key 和 Linux Secret Service fallback key 可能位于 ~/.anda/keys/。

在 Linux 上,如果没有可用或已解锁的 Secret Service provider,Anda 可以读取已有的 daemon/owner 私钥文件 ~/.anda/keys/anda_bot.key 和 ~/.anda/keys/user.key,并在终端和日志中显示提醒。两个文件必须完整存在:凭据库不可用时不会生成替代身份。已有安装应解锁 provider 或恢复原始密钥;可信用户私钥仍使用从原始 daemon 身份派生的密钥加密保存。

对于没有操作系统凭据库的全新安装,请先显式运行 anda user init-file-keys,再运行 anda start。该命令创建缺失的私钥文件,不覆盖已有文件;若已有本地数据库/凭据数据,或能读取到 keyring 中的身份,则拒绝初始化。不要用它恢复已有安装。导入的 COSE 密钥必须标明 Ed25519 曲线;算法字段存在时必须为 EdDSA,私钥附带的公钥必须与其匹配。原始 32 字节 Base64 密钥继续受支持。

若要使用 Secret Service,请在用户 D-Bus session 中启动并解锁 provider,例如运行 gnome-keyring-daemon --start --components=secrets,确认 Anda 能拿到 DBUS_SESSION_BUS_ADDRESS,然后重启;KDE 用户也可以解锁 KWallet。已有文件身份会一起迁移到一个 keyring bundle,只有完整保存成功后才删除源文件。

但是,模型 provider 仍可能接收 prompt、工具结果摘要、记忆形成或召回相关请求。请根据自己的隐私需求选择可信 provider、私有 endpoint 或代理策略。

提示

为不同身份、项目或测试准备独立数据时,使用 anda --home /path/to/.anda。

Brain runtime​

通过 brain.runtime_config 指定可信 JSON/YAML,路径相对配置目录解析;BRAIN_RUNTIME_CONFIG 优先。重启后在首次加载 Space 前安装绑定。浏览器记忆待办及 TUI /brain inbox、/brain status、/brain formation <id> 保留真实调用者身份。读取不授予执行权限,回答重试须保留相同事件键和正文。Recall 收据只证明交付,Formation 接受不等于完成。learning 与 mib 独立;语义求值、utility、trust、自动学习均需显式原生配置与权限。现有 IM 发送接口不是自动动作适配器;MIB persistent 不宣称 normal/ungated 学习或完整计量。

brain:
runtime_config: null