本项目的 CLI 入口是 we0。在开发环境中可以这样启动:
python -m venv .venv
source .venv/bin/activate
pip install -e .
we0也可以直接用模块方式启动:
python -m we0_agent第一次启动时,We0 会初始化用户目录:
~/.we0/settings.json:用户级全局配置。不存在时会从resources/example.settings.json完整创建。~/.we0/profiles/main/:默认 companion profile 数据目录。~/.we0/skills/、~/.we0/commands/、~/.we0/agents/、~/.we0/plugins/:全局扩展目录。
如果已有 ~/.we0/settings.json,启动时会保留当前配置;当 common.mcp_servers 为空时,会从默认模板补齐内置工具配置,避免首次或旧配置没有工具可用。
进入 TUI 后,可以直接用 slash command 打开配置面板,不必手写 JSON:
/provider:打开模型供应商面板,用于启用/禁用 provider、填写 API key / API base、维护 provider 下的模型列表。/model:打开模型选择器,用于快速切换当前会话/工作区默认聊天模型。/config:打开通用配置面板,用于调整语言、模型档位、reasoning、运行时、ACP、权限等常用配置。
这几个入口最终会写入相同的 settings 分层:供应商和模型基础设施落在用户级或项目级配置;当前工作区的默认模型、运行时选项等可由项目级 .we0/settings.json 覆盖。
主要配置文件是 JSON,分为用户级、项目级和 profile 级:
- 用户级:
~/.we0/settings.json - 项目级:
<project>/.we0/settings.json - Profile 级:
~/.we0/profiles/<profile>/settings.json
配置结构分三块:
common.*:通用配置,包括模型、供应商、权限、MCP 工具、LSP、插件和共享服务。code.*:TUI / ACP / coding agent 相关配置,包括工作目录、运行时、代码记忆、默认 agent 和 ACP 行为。we0.*:IM / companion 相关配置,包括语音、embedding、记忆、频道路由、heartbeat 和 IM skills。
运行时合并规则:
- TUI / ACP 读取
user + project。 - IM / companion 读取
user + profile。 common.providers、common.services、common.mcp_servers、common.lsp_servers、common.plugins属于基础设施配置,只放在用户级或项目级,不进入 profile override。
工具配置必须写在 common.mcp_servers。code.mcp_servers 和 we0.mcp_servers 不是有效配置字段。
模型供应商配置在 common.providers。默认模板包含:
anthropic:默认启用。模板模型包括claude-sonnet-4-6、claude-haiku-4-5。openai:默认关闭。模板模型包括gpt-5.4、gpt-5.4-mini、gpt-5.4-nano、tts-1-hd、text-embedding-3-small。gemini:默认关闭。模板模型包括gemini-2.5-pro、gemini-2.5-flash、gemini-3-pro-preview等。
示例:
{
"common": {
"chat": {
"default": {
"provider": "anthropic",
"model": "claude-sonnet-4-6"
},
"tiers": {
"fast": {
"provider": "anthropic",
"model": "claude-haiku-4-5"
},
"pro": {
"provider": "anthropic",
"model": "claude-sonnet-4-6"
},
"max": {
"provider": "anthropic",
"model": "claude-sonnet-4-6"
}
},
"reasoning": {
"enabled": true
},
"on_missing": "error"
},
"providers": {
"anthropic": {
"apiKey": "",
"enabled": true,
"models": [
"claude-haiku-4-5",
{
"id": "claude-sonnet-4-6",
"features": ["defer_loading"]
}
]
}
}
}
}常用字段:
common.chat.default:默认聊天模型。common.chat.tiers.fast/pro/max:模型档位,可被内部任务选择使用。common.chat.on_missing:默认是error,配置的模型不可用时直接报错;也可设为fallback。common.chat.reasoning.enabled:是否启用 reasoning 配置。common.providers.<id>.apiKey:供应商 API key。common.providers.<id>.apiBase:自定义 API base,可为空。common.providers.<id>.enabled:是否启用该供应商。common.providers.<id>.models:该供应商下可选模型。模型可以是字符串,也可以是带id、mode、features、reasoning_effort、verbosity等字段的对象。
工具通过 common.mcp_servers 配置。默认内置工具包括:
| Server | 模型可见工具 | 说明 |
|---|---|---|
builtin-read |
Read |
读取文件 |
builtin-write |
Write |
写入文件 |
builtin-edit |
Edit |
精确替换编辑文件 |
builtin-glob |
Glob |
按文件名模式查找 |
builtin-grep |
Grep |
按文本内容搜索 |
builtin-bash |
Bash |
执行 shell 命令 |
builtin-lsp |
LSP |
LSP 查询,默认过滤内部诊断/hover 工具 |
builtin-skills |
SKILL |
调用 skills |
builtin-agent |
Agent |
启动子 agent |
builtin-todo |
TodoWrite, TodoRead |
IM / ACP todo 工具 |
builtin-tasks |
TaskCreate, TaskGet, TaskUpdate, TaskList |
TUI task 工具 |
builtin-task-stop |
TaskStop |
停止长任务 |
builtin-task-output |
TaskOutput |
查看任务输出 |
builtin-question |
AskUserQuestion |
向用户提问 |
builtin-web-fetch |
WebFetch |
抓取网页并分析,需要 common.services.jina.api_key |
builtin-web-search |
WebSearch |
搜索网页,需要 common.services.jina.api_key |
builtin-plan |
EnterPlanMode, ExitPlanMode |
进入/退出计划模式 |
builtin-worktree |
EnterWorktree, ExitWorktree |
工作树切换 |
builtin-send-message |
SendMessage |
团队/同伴消息 |
builtin-team |
TeamCreate, TeamDelete, SendMessage |
团队协作工具 |
builtin-cron |
CronCreate, CronDelete, CronList |
定时任务 |
builtin-tool-search |
ToolSearch |
延迟工具发现 |
builtin-memory |
Recall, OperateMemory |
IM 记忆工具 |
默认模板还包含一个外部 MCP 示例:
{
"common": {
"mcp_servers": {
"context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"],
"enabled": false,
"lazy": true
}
}
}
}enabled 控制 server 是否加载;lazy 控制工具是否延迟加载。支持 defer_loading 的模型会先拿到 ToolSearch 和必要工具,再按需激活其它 lazy 工具。
{
"common": {
"permission": {
"*": "allow",
"Read": "ask",
"Glob": "ask",
"Grep": "ask",
"Bash": "ask",
"Write": "ask",
"Edit": "ask"
},
"services": {
"jina": {
"api_key": ""
}
},
"tool_model": {
"model": null
}
},
"code": {
"paths": {
"workdir": null
},
"agent": {
"default_agent": "build"
},
"runtime": {
"snapshot": true,
"prompt_suggestions": true,
"mouse_tracking": true
},
"acp": {
"permission_mode": "ask",
"reasoning_visibility": "show",
"usage_updates": "on"
}
},
"we0": {
"memory": {
"enabled": false,
"auto_retrieve": true
},
"heartbeat": {
"enabled": false,
"interval_minutes": 30
}
}
}说明:
common.permission控制工具权限,支持ask、allow、deny。common.services.jina.api_key用于WebFetch/WebSearch。code.paths.workdir为空时默认使用当前项目;项目级配置可覆盖。code.acp.permission_mode可选ask、allow_once、bypass、reject。we0.memory.enabled控制 IM 语义记忆。we0.heartbeat.enabled控制 companion heartbeat。




