feat(provider): 新增 TeamoRouter 供应商并加入 README 赞助商

- provider presets 新增 teamorouter(Anthropic 兼容,auth_token 鉴权)
- 默认模型 claude-opus-4-8 / claude-sonnet-5 / claude-haiku-4-5
- README 中英文赞助商表格新增 TeamoRouter 第三行及 logo
This commit is contained in:
程序员阿江(Relakkes) 2026-07-09 15:56:07 +08:00
parent a94e1a1694
commit 4eb6b2feb1
5 changed files with 72 additions and 11 deletions

View File

@ -140,6 +140,16 @@ This project is maintained in the author's spare time. Corporate or individual s
Thanks to <a href="https://www.shengsuanyun.com/?from=CH_LEJ88KWR">ShengSuanYun</a> for sponsoring this project. ShengSuanYun is an industrial-grade AI task parallel execution platform for AI Native Teams, aggregating Claude, ChatGPT, Gemini, and other LLM, image, and video model capacity through direct, non-reverse-engineered access. Its platform SLA reaches 99.7%, with <a href="https://watch.shengsuanyun.com/status/shengsuanyun">service status</a> available online. It also supports dedicated enterprise gateways, cost and permission controls, smart routing, security protection, BYOK, usage-based billing, upcoming tokens plans, and invoicing. New users registering through <a href="https://www.shengsuanyun.com/?from=CH_LEJ88KWR">this link</a> can receive 10 yuan in model credits plus a 10% first top-up bonus.
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory">
<img src="docs/images/sponsors/teamorouter-logo.svg" width="180" alt="TeamoRouter">
</a>
</td>
<td valign="middle">
Thanks to <a href="https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory">TeamoRouter</a> for sponsoring this project. TeamoRouter is an enterprise-grade Agentic LLM gateway for developers, AI teams, and businesses. Without any subscription, it lets you use Claude Code, Codex, Gemini CLI, and other popular AI agents through a single unified API, with API pricing at discounts of up to 90%. It aggregates hundreds of official model providers and trusted infrastructure partners — including OpenAI, Anthropic, Vertex, Azure, and AWS Bedrock — each verified for 100% Agent protocol compatibility, cache performance, and request traceability, delivering near-official TTFT, a 99.6% SLA, throughput up to 5,000 QPM, and industry-leading cache hit rates rather than reverse-engineered endpoints. It also offers centralized billing, team management, BYOK, smart routing, usage analytics, and dedicated support, and Teamo Desktop lets you use these AI agents with one-click setup. New users who register through <a href="https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory">this link</a> receive 10% off their first top-up.
</td>
</tr>
</tbody>
</table>

View File

@ -140,6 +140,16 @@ cp .env.example .env
感谢 <a href="https://www.shengsuanyun.com/?from=CH_LEJ88KWR">胜算云</a> 赞助本项目!胜算云是面向 AI Native Teams 的工业级 AI 任务并行执行平台,聚合 Claude、ChatGPT、Gemini 等海内外 LLM 及图片、视频多媒体模型算力;官方直连、非逆向,平台 SLA 可用性达 99.7%,可查看 <a href="https://watch.shengsuanyun.com/status/shengsuanyun">服务状态</a>。平台支持企业专属网关、成本与权限管控、智能路由、安全防护和 BYOK按量与 tokens plan即将上线计费并可开票使用 <a href="https://www.shengsuanyun.com/?from=CH_LEJ88KWR">专属链接</a> 注册可获 10 元模力及首充 10% 赠送。
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory">
<img src="docs/images/sponsors/teamorouter-logo.svg" width="180" alt="TeamoRouter">
</a>
</td>
<td valign="middle">
感谢 <a href="https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory">TeamoRouter</a> 赞助本项目TeamoRouter 是面向开发者、AI 团队与企业的企业级 Agentic LLM 网关,无需任何订阅即可通过统一 API 使用 Claude Code、Codex、Gemini CLI 等热门 AI AgentAPI 价格最高可享 90% 折扣。平台聚合 OpenAI、Anthropic、Vertex、Azure、AWS Bedrock 等数百家官方模型提供商与可信基础设施,全部经过 100% Agent 协议兼容、缓存性能与请求可追踪性验证,官方直连、非逆向,提供接近官方的 TTFT、99.6% SLA、最高 5,000 QPM 吞吐与行业领先的缓存命中率同时支持集中账单、团队管理、BYOK、智能路由、用量分析与专属支持并可通过 Teamo Desktop 一键使用各类 AI Agent。新用户通过 <a href="https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory">专属链接</a> 注册,首次充值可享 10% 折扣。
</td>
</tr>
</tbody>
</table>
@ -193,19 +203,8 @@ cp .env.example .env
- [Electron](https://github.com/electron/electron):跨端桌面应用能力与工程实践。
- [cc-switch](https://github.com/farion1231/cc-switch):模型供应商配置能力参考。
---
## ⭐ Star 趋势图
如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 Claude Code Haha
<a href="https://www.star-history.com/#NanmiCoder/cc-haha&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=NanmiCoder/cc-haha&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=NanmiCoder/cc-haha&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=NanmiCoder/cc-haha&type=Date" />
</picture>
</a>
---

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 450 105">
<image width="450" height="105" xlink:href="data:image/png;base64,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"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -69,6 +69,7 @@ describe('provider presets API', () => {
const minimax = PROVIDER_PRESETS.find((preset) => preset.id === 'minimax')
const jiekouai = PROVIDER_PRESETS.find((preset) => preset.id === 'jiekouai')
const shengsuanyun = PROVIDER_PRESETS.find((preset) => preset.id === 'shengsuanyun')
const teamorouter = PROVIDER_PRESETS.find((preset) => preset.id === 'teamorouter')
expect(lmstudio?.baseUrl).toBe('http://localhost:1234')
expect(lmstudio?.apiFormat).toBe('anthropic')
@ -114,6 +115,14 @@ describe('provider presets API', () => {
expect(shengsuanyun?.defaultModels.main).toBe('anthropic/claude-sonnet-4.6')
expect(shengsuanyun?.defaultModels.haiku).toBe('anthropic/claude-haiku-4.5:thinking')
expect(shengsuanyun?.modelContextWindows?.['anthropic/claude-sonnet-4.6']).toBe(1000000)
expect(teamorouter?.baseUrl).toBe('https://api.teamorouter.com')
expect(teamorouter?.apiFormat).toBe('anthropic')
expect(teamorouter?.authStrategy).toBe('auth_token')
expect(teamorouter?.defaultModels.main).toBe('claude-opus-4-8')
expect(teamorouter?.defaultModels.haiku).toBe('claude-haiku-4-5')
expect(teamorouter?.defaultModels.sonnet).toBe('claude-sonnet-5')
expect(teamorouter?.defaultModels.opus).toBe('claude-opus-4-8')
expect(teamorouter?.modelContextWindows?.['claude-opus-4-8']).toBe(1000000)
})
test('configured presets can expose optional API key and promo metadata', () => {
@ -125,6 +134,7 @@ describe('provider presets API', () => {
const minimax = PROVIDER_PRESETS.find((preset) => preset.id === 'minimax')
const jiekouai = PROVIDER_PRESETS.find((preset) => preset.id === 'jiekouai')
const shengsuanyun = PROVIDER_PRESETS.find((preset) => preset.id === 'shengsuanyun')
const teamorouter = PROVIDER_PRESETS.find((preset) => preset.id === 'teamorouter')
const custom = PROVIDER_PRESETS.find((preset) => preset.id === 'custom')
expect(lmstudio?.needsApiKey).toBe(false)
@ -166,6 +176,16 @@ describe('provider presets API', () => {
ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES: 'none',
})
expect(shengsuanyun?.modelContextWindows?.['anthropic/claude-opus-4.7']).toBe(1000000)
expect(teamorouter?.apiKeyUrl).toBe(
'https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory',
)
expect(teamorouter?.promoText).toContain('10% 折扣')
expect(teamorouter?.featured).toBe(true)
expect(teamorouter?.defaultEnv).toEqual({
CLAUDE_CODE_SUBAGENT_MODEL: 'claude-sonnet-5',
ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES: 'none',
})
expect(teamorouter?.modelContextWindows?.['claude-sonnet-5']).toBe(1000000)
expect(custom?.promoText).toBeUndefined()
expect(custom?.authStrategy).toBe('auth_token')
expect(custom?.defaultEnv).toBeUndefined()

View File

@ -180,6 +180,34 @@
"anthropic/claude-opus-4.7": 1000000
}
},
{
"id": "teamorouter",
"name": "TeamoRouter",
"baseUrl": "https://api.teamorouter.com",
"apiFormat": "anthropic",
"defaultModels": {
"main": "claude-opus-4-8",
"haiku": "claude-haiku-4-5",
"sonnet": "claude-sonnet-5",
"opus": "claude-opus-4-8"
},
"needsApiKey": true,
"websiteUrl": "https://teamorouter.com",
"apiKeyUrl": "https://teamorouter.com/?utm_source=cc_haha&utm_medium=referral&utm_campaign=ai_directory",
"promoText": "TeamoRouter 为 cc-haha 的用户提供了专属福利,通过此链接注册的新用户首次充值可享 10% 折扣!",
"featured": true,
"authStrategy": "auth_token",
"defaultEnv": {
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES": "none"
},
"modelContextWindows": {
"claude-opus-4-8": 1000000,
"claude-sonnet-5": 1000000,
"claude-haiku-4-5": 200000,
"claude-haiku-4-5-20251001": 200000
}
},
{
"id": "lmstudio",
"name": "LM Studio",