在 gptme 里用 DaoXE

gptme 是跑在你终端里的开源智能体:shell、浏览器、编辑器工具都在本地循环里。它的命名 [[providers]] 条目接受任何 OpenAI 兼容 base URL —— DaoXE 就是 config.toml 里的一个块。

更新于 2026-09-15

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 里配置#

  1. 声明供应商。 在 ~/.config/gptme/config.toml 加 [[providers]]:name = "daoxe"、base_url = "https://daoxe.com/v1"(文档的自定义供应商示例全部保留 /v1 后缀)、api_key_env = "DAOXE_API_KEY"。
  2. 设置 key。 export DAOXE_API_KEY="sk-you…-key" —— 解析顺序是内联 api_key、然后 api_key_env、然后 ${PROVIDER_NAME}_API_KEY(这里不管走哪条都会找到 DAOXE_API_KEY)。
  3. 选模型。 gptme 'hello' -m daoxe/YOUR_EXACT_MODEL_ID —— 模型写成 provider_name/model,ID 从 GET /v1/models 照抄。
  4. 测工具循环。 跑一条真命令,比如 gptme 'list the files in the current directory' -m daoxe/YOUR_EXACT_MODEL_ID —— 如果 gptme 真的执行了 shell 命令并显示出真实文件名,工具调用就端到端通了。
toml
# ~/.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 预热缓存。更多客户端见客户端设置说明。

验证你拿到的是真模型#

先证明端点可用,再怀疑客户端 —— 这一步失败,改任何设置都没用:

bash
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 对比:

bash
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 对准我们做对比 —— 别只听我们说。