gptme 在终端里跑智能体循环 —— 写代码、用 shell、浏览网页。自定义端点走 ~/.config/gptme/config.toml 里的命名 [[providers]] 条目,或者 OPENAI_BASE_URL 配 local/ 前缀;两种形状都适配 DaoXE(最便宜 API 教程)。
为什么让 gptme 走 DaoXE#
- 真实的工具循环。gptme 会执行 shell 命令、在工作区里改文件 —— 真支持 function calling 的 DaoXE 模型能端到端驱动它。
- key 不进配置文件。
api_key_env指向环境变量名 —— 秘密本体不会落在 config.toml 里。 - 按供应商设默认。每个供应商一条
default_model—— 块建好之后,光-m daoxe就是合法选择。
在 gptme 里配置#
- 声明供应商。 在
~/.config/gptme/config.toml加[[providers]]:name = "daoxe"、base_url = "https://daoxe.com/v1"(文档的自定义供应商示例全部保留/v1后缀)、api_key_env = "DAOXE_API_KEY"。 - 设置 key。
export DAOXE_API_KEY="sk-you…-key"—— 解析顺序是内联api_key、然后api_key_env、然后${PROVIDER_NAME}_API_KEY(这里不管走哪条都会找到DAOXE_API_KEY)。 - 选模型。
gptme 'hello' -m daoxe/YOUR_EXACT_MODEL_ID—— 模型写成provider_name/model,ID 从GET /v1/models照抄。 - 测工具循环。 跑一条真命令,比如
gptme 'list the files in the current directory' -m daoxe/YOUR_EXACT_MODEL_ID—— 如果 gptme 真的执行了 shell 命令并显示出真实文件名,工具调用就端到端通了。
# ~/.config/gptme/config.toml — register DaoXE as a named provider
[[providers]]
name = "daoxe"
base_url = "https://daoxe.com/v1"
api_key_env = "DAOXE_API_KEY"
default_model = "YOUR_EXACT_MODEL_ID"
# then: gptme 'hello' -m daoxe/YOUR_EXACT_MODEL_ID值得注意的坑
流式是无条件的:文档写明传输层一律发送 stream=True,与元数据无关 —— 拒绝流式的端点在这里会失败;DaoXE 的 OpenAI 兼容路径接受流式 chat completions。模型 ID 带供应商前缀:文档把裸名形式列为坑 —— 必须是 daoxe/YOUR_EXACT_MODEL_ID,不能只写裸 ID;gptme 不认识的名字会警告「unknown model」但仍可用。local/ 前缀走环境变量:OPENAI_BASE_URL + OPENAI_API_KEY 也能用,但这两个变量与 gptme 内置的 openai 供应商共享 —— 命名块的隔离更干净。分词可能联网:gptme 会拉取 OpenAI 的 cl100k_base 分词器,离线时可能超时;PyPI 发行版没有字符估算的回退,离线办公就先用 tiktoken 预热缓存。更多客户端见客户端设置说明。
验证你拿到的是真模型#
先证明端点可用,再怀疑客户端 —— 这一步失败,改任何设置都没用:
export DAOXE_API_KEY="your_api_key"
# List the exact model IDs your account can call
curl --fail-with-body --show-error --silent \
https://daoxe.com/v1/models \
-H "Authorization: Bearer ${DAOXE_API_KEY}"先在智能体之外验证端点,再在 temperature 0 下把难题与官方 API 对比:
curl --fail-with-body --show-error --silent \
https://daoxe.com/v1/chat/completions \
-H "Authorization: Bearer ${DAOXE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_EXACT_MODEL_ID",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}'别信我们 —— 自己验证
把 开源 benchmark 对准 DaoXE 和官方 API,在 temperature 0 下对比。再学会如何鉴别掉包,让便宜端点无法悄悄把你换成更小的模型。
常见问题#
gptme 能接 DaoXE 吗?
能 —— [[providers]] 块配 base_url = "https://daoxe.com/v1" 与 api_key_env = "DAOXE_API_KEY",然后 -m daoxe/YOUR_EXACT_MODEL_ID。
需要 OPENAI_BASE_URL 吗?
命名块不需要 —— 那是 local/ 前缀的路径(OPENAI_BASE_URL + OPENAI_API_KEY)。[[providers]] 条目把 base URL 和 key 都限定在 daoxe 供应商范围内。
为什么工具调用会循环或失败?
gptme 文档把工具循环失败归因于模型不遵守它的工具协议 —— 选一个真支持 function calling 的模型,或试试 --tool-format xml。跑一次列目录测试即可确认循环真的在执行。
费用?
按模型、随账号 —— 实时定价;充值统一 1 元 = $1 额度。
试用 DaoXE —— 并亲自 benchmark 它
一个 key 调 GPT、Claude、Gemini、DeepSeek 等。用开源 benchmark 对准我们做对比 —— 别只听我们说。