开始
服务商与配置文件
heng-agent 内置 9 个服务商配置档(DeepSeek、Kimi、GLM、通义千问等),设好密钥就能用;自己的中转站、默认服务商、按项目区分写在 ~/.heng-agent/config.json。
- 预计用时
- 约 5 分钟
- 适用版本
- v0.5.0 及以上
- 需要准备
- 一个服务商的 API 密钥
看看有哪些服务商
heng-agent 支持 Anthropic 与 OpenAI 两种协议,内置下面 9 个配置档。运行 heng-agent --list-providers 列出全部配置档、默认用哪个、密钥是否已设置(只显示已设置 / 未设置,不显示密钥)。
| 配置档 | 协议 | 密钥环境变量 |
|---|---|---|
deepseek DeepSeek | anthropic | DEEPSEEK_API_KEY |
kimi Kimi(月之暗面) | anthropic | MOONSHOT_API_KEY |
glm 智谱 GLM | anthropic | ZHIPU_API_KEY |
qwen 通义千问(阿里云百炼) | openai | DASHSCOPE_API_KEY |
anthropic Anthropic 官方 | anthropic | ANTHROPIC_API_KEY |
openai OpenAI | openai | OPENAI_API_KEY |
openrouter 一个密钥用多家模型 | openai | OPENROUTER_API_KEY |
ollama 本机 Ollama | openai | 不需要 |
heng 本机 heng serve(自己的模型) | anthropic | HENG_AGENT_API_KEY |
预设里的模型名只是建议值(各家改名很频繁),用 --model 临时换,或在配置文件里改。
设好密钥,选一个用
密钥推荐放环境变量。以 DeepSeek 为例:
export DEEPSEEK_API_KEY=你的密钥 # PowerShell:$env:DEEPSEEK_API_KEY="你的密钥"
cd 你的项目目录
heng-agent --provider deepseek用起来以后随时切换,对话历史保留:
/provider deepseek:换服务商;/model:向服务商取可用模型,方向键选,当前会话立即生效,可以顺手存成默认;/model 名字直接换。
接中转站、改默认:配置文件
自己的中转站、改默认服务商、改预设的模型名都写在用户目录的 ~/.heng-agent/config.json:
{
"default": "deepseek",
"profiles": {
"deepseek": { "preset": "deepseek", "model": "你想用的模型名" },
"我的中转站": {
"protocol": "anthropic",
"base_url": "https://你的中转站地址",
"model": "模型名",
"api_key_env": "MY_RELAY_KEY"
}
}
}default:启动时默认用哪个配置档;preset:继承一个内置预设,只写要改的字段;- 密钥二选一:
api_key_env(读环境变量,推荐)或api_key(写在这个文件里;文件只在你的用户目录,不会进任何项目); auth:密钥放哪个请求头,auto(默认,两种都带)/x-api-key/bearer。中转站报 401 时试试改这个。
配置档里还能写这几项(都可以不写):
| 字段 | 说明 |
|---|---|
proxy |
只管这个服务商的代理:http://主机:端口、socks5://主机:端口,或 direct(不走代理)。写在 settings 里则管全部请求(模型、MCP 的 http 连接、web_fetch);都不写按 HTTP_PROXY / HTTPS_PROXY 环境变量走 |
price_in / price_out / currency |
每百万 token 的价格(照服务商控制台填),填了 /cost 按金额显示。预设不带价格:各家常调价,写死容易显示错的数 |
price_cache_read / price_cache_write |
命中缓存部分的价格;不填按输入价的 0.1 倍 / 1.25 倍。走 OpenAI 协议的服务商写入一般不另收钱,price_cache_write 填 0 金额才准 |
context_window |
上下文长度。不写就自动定:先向服务商查,查不到按模型名推断,都不认识用 128K;/status 里写着长度从哪来 |
例如国外的走代理、国内的直连:"settings": {"proxy": "http://127.0.0.1:7890"},再给 deepseek 配置档写 "proxy": "direct"。本机地址(localhost、127.0.0.1)始终直连;/doctor 会显示当前实际走的代理。
对话里也能直接改:/config set settings.permission_mode plan 这类写法改一项,/config edit 用编辑器打开配置文件;改错了会自动恢复原配置。
按项目区分:三层配置
配置分三层,后面的覆盖前面的:
| 层 | 位置 | 用途 |
|---|---|---|
| 内置预设 | 程序自带 | deepseek、kimi、glm… |
| 用户配置 | ~/.heng-agent/config.json |
你的中转站、密钥、默认服务商 |
| 项目配置 | 项目根目录/.heng-agent/config.json |
这个项目默认用哪个服务商、哪个模型 |
项目配置例子(这个项目默认用 DeepSeek 的另一个模型,密钥仍在用户配置或环境变量里):
{ "default": "ds-fast", "profiles": { "ds-fast": { "preset": "deepseek", "model": "模型名" } } }preset 也能引用用户配置里定义的配置档(比如带密钥的中转站),项目里只写要改的字段。
要一套完全独立的配置(不同账号、不同客户),用环境变量 HENG_AGENT_HOME 或 --home 指到另一个目录,配置、会话、输入历史都分开。
让别的程序直接给服务商
别的程序(编辑器插件、桌面应用)启动 heng-agent 时,可以用环境变量直接给服务商:只在这次运行里用,不写进配置文件,也不会弹第一次用的引导。终端模式、-p 与 --acp 都认。
| 环境变量 | 说明 |
|---|---|
HENG_AGENT_BASE_URL |
服务地址。设了它才启用,设了就是这次运行的默认服务商(名字叫 env) |
HENG_AGENT_API_KEY |
密钥 |
HENG_AGENT_MODEL |
模型名(必填) |
HENG_AGENT_PROTOCOL |
anthropic(默认)或 openai |
HENG_AGENT_AUTH |
auto(默认)、x-api-key 或 bearer |
命令行的 --provider 仍然优先。heng-agent 不读 ANTHROPIC_BASE_URL 这类变量:不少人为别的工具全局设着 ANTHROPIC_API_KEY,一看到就用会悄悄绕开你在 heng-agent 里配好的默认服务商。
做完是这样
heng-agent --list-providers 里你要用的服务商显示「已设置」,启动后欢迎页的「模型」一行是它;/provider 名字 能来回切换。连不上时运行 /doctor,它会真的连一次服务商并说明原因。