From 35ea2ec598f47dfc5af8fcff284501ab331bd87c Mon Sep 17 00:00:00 2001 From: cenab Date: Sun, 27 Sep 2026 21:33:25 -0600 Subject: [PATCH] docs: add bounded Tsubasa provider setup --- README.md | 6 ++++++ README_CN.md | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/README.md b/README.md index ecfe93c5..5f311a55 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/README_CN.md b/README_CN.md index 9beb4351..aceb83c4 100644 --- a/README_CN.md +++ b/README_CN.md @@ -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`,这是设计如此。