Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,14 @@ Give it a model and a key and it goes. It speaks the OpenAI-compatible API by de
| OpenAI (default `gpt-5.5`) | `OPENAI_API_KEY=sk-...` |
| DeepSeek | `OPENAI_API_KEY=sk-... OPENAI_BASE_URL=https://api.deepseek.com CORECODER_MODEL=deepseek-chat` |
| OmniRoute | `OPENAI_API_KEY=your-key OPENAI_BASE_URL=http://localhost:20128/v1 CORECODER_MODEL=auto` |
| Tsubasa | `CORECODER_API_KEY=your-tsubasa-key OPENAI_BASE_URL=https://api.tsubasa.sh/v1 CORECODER_MODEL=tsubasa-fast CORECODER_MAX_CONTEXT=32768 CORECODER_MAX_TOKENS=4096` |
| Local Ollama | `OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 CORECODER_MODEL=qwen2.5-coder` |

For Tsubasa, you can also select `tsubasa-pro` with the same limits. The example
sends your key and prompts to `api.tsubasa.sh` using the existing OpenAI client.
CoreCoder sends tool definitions on agent turns, so tool calls must be enabled
for the selected endpoint and model.

Kimi, Qwen and the like are the same two variables; for providers that don't even offer an OpenAI-compatible endpoint, the optional LiteLLM backend (`pip install "corecoder[litellm]"`) routes to a hundred-plus of them. The third essay goes into this in detail. Thinking models are first-class too: deepseek-reasoner, kimi-k3 and friends stream their chain-of-thought, and CoreCoder shows it dimmed as it works, kept out of the conversation history so providers never see it come back. The key can be `export`ed directly or dropped into a `.env` at the project root, which is loaded on startup. Then:

Smoke-tested end to end (read the file, edit it, run it, report back) against DeepSeek, Qwen3 and Kimi K2 via a single OpenRouter-compatible endpoint; each completed the full loop. One note for one-shot scripts: `-p` refuses mutating tools unless you pass `--yes`, by design.
Expand Down
5 changes: 5 additions & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,13 @@ pip install -e .
| OpenAI(默认 `gpt-5.5`) | `OPENAI_API_KEY=sk-...` |
| DeepSeek | `OPENAI_API_KEY=sk-... OPENAI_BASE_URL=https://api.deepseek.com CORECODER_MODEL=deepseek-chat` |
| OmniRoute | `OPENAI_API_KEY=your-key OPENAI_BASE_URL=http://localhost:20128/v1 CORECODER_MODEL=auto` |
| Tsubasa | `CORECODER_API_KEY=your-tsubasa-key OPENAI_BASE_URL=https://api.tsubasa.sh/v1 CORECODER_MODEL=tsubasa-fast CORECODER_MAX_CONTEXT=32768 CORECODER_MAX_TOKENS=4096` |
| 本地 Ollama | `OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 CORECODER_MODEL=qwen2.5-coder` |

Tsubasa 也可以选择 `tsubasa-pro`,并使用相同的限制。这个配置复用现有的 OpenAI
客户端,将你的密钥和提示词发送到 `api.tsubasa.sh`。CoreCoder 在 agent 回合中会发送
工具定义,因此所选端点和模型必须启用工具调用。

Kimi、Qwen 这些同样是改这两个变量;连 OpenAI 兼容接口都不给的 provider,装上可选的 LiteLLM 后端(`pip install "corecoder[litellm]"`)能路由一百多家。第三篇文章把这块讲得更细。思考模型也是一等公民:deepseek-reasoner、kimi-k3 这类模型的思考过程会实时流出来,CoreCoder 把它用暗色显示出来,但不进对话历史,provider 永远不会在回包里看到它。key 可以直接 `export`,也可以在项目根目录扔个 `.env`,启动时自动加载。然后:

端到端真机冒烟过三家(读文件、改代码、跑一次确认、自己报告):DeepSeek、Qwen3、Kimi K2,走同一个 OpenRouter 兼容端点,各自完整跑完全循环。写脚本用 one-shot 的留意:`-p` 默认拒绝一切改动类工具,要加 `--yes`,这是设计如此。
Expand Down