curl / HTTP 直调
如果你的语言/工具没有官方 SDK,或者要极简调试 / 写脚本 / 嵌入其他 CI 流程,纯 HTTP 直调是最简单的方式。
基础
bash
curl https://api.modexflow.cc/v1/chat/completions \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-8",
"messages": [
{"role": "user", "content": "hi"}
]
}'流式(Server-Sent Events)
加 "stream": true 和 curl 的 -N(禁用 buffer)+ --no-buffer:
bash
curl -N --no-buffer https://api.modexflow.cc/v1/chat/completions \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-8",
"messages": [{"role":"user","content":"讲个故事"}],
"stream": true
}'每个 chunk 是一行 data: {...json...},最后以 data: [DONE] 结束。解析示例见 流式返回。
列可用模型
bash
curl https://api.modexflow.cc/v1/models \
-H "Authorization: Bearer $KEY" | jq返回 {"data":[{"id":"claude-opus-4-8"},...]} 结构。
用 httpie(更好读的输出)
bash
# pip install httpie
http POST https://api.modexflow.cc/v1/chat/completions \
Authorization:"Bearer $KEY" \
model=claude-opus-4-8 \
messages:='[{"role":"user","content":"hi"}]'常用 shell 助手
放到 ~/.bashrc / ~/.zshrc:
bash
export MODEXFLOW_KEY="sk-你的-token"
# 快速问答
mfask() {
local model="${MFMODEL:-deepseek-v4-flash}"
local msg="$*"
curl -sS https://api.modexflow.cc/v1/chat/completions \
-H "Authorization: Bearer $MODEXFLOW_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$model\",
\"messages\": [{\"role\":\"user\",\"content\":$(jq -Rs . <<< "$msg")}]
}" | jq -r '.choices[0].message.content'
}用:
bash
mfask "写一个 python one-liner,用 requests 下载 https://... 的文件"
MFMODEL=claude-opus-4-8 mfask "解释 Kubernetes 里 Service 和 Ingress 的区别"Anthropic 原生路径
bash
curl https://api.modexflow.cc/v1/messages \
-H "x-api-key: $KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-8",
"max_tokens": 1024,
"messages": [{"role":"user","content":"hi"}]
}'排障用 verbose
bash
curl -v https://api.modexflow.cc/v1/chat/completions ...看:
> Host:拼对了没> Authorization:有没有< HTTP/2 200状态码< x-oneapi-request-id:这条贴给管理员排错
常见问题
Q: 卡住半天不动?
先 curl -v 看是不是连接就挂了。看能不能连 curl -sI https://api.modexflow.cc/api/status。
Q: 报 Invalid HTTP response?
JSON 拼错了。用 jq . payload.json 校验一下你发的 body。
Q: 返回一堆 data: {...} 但看着像截断了?
你走的是 stream: true,用 -N --no-buffer(或者直接不加 stream)。