mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-30 16:23:35 +08:00
chore(sponsor): 下线接口AI 赞助与 Provider 预设
- provider presets 移除 jiekouai 预设(预设数 11 → 10) - README.md / README.en.md 赞助商表格移除接口AI 整行及推广链接 - 删除 docs/images/sponsors/jiekou-logo.svg - docs 中英文模型页的中转服务商清单去掉接口AI - provider-presets 测试同步移除 jiekouai 断言;依赖该预设 defaultEnv / authStrategy 的 conversation-service、conversations 测试 fixture 改用 shengsuanyun 预设
This commit is contained in:
parent
05085b83bc
commit
5581249147
11
README.en.md
11
README.en.md
@ -119,17 +119,6 @@ This project is maintained in the author's spare time. Corporate or individual s
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://jiekou.ai/referral?invited_code=OBNU3K">
|
||||
<img src="docs/images/sponsors/jiekou-logo.svg" width="72" alt="JieKou AI"><br>
|
||||
<strong>接口AI</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td valign="middle">
|
||||
Thanks to <a href="https://jiekou.ai/referral?invited_code=OBNU3K">JieKou AI</a> for sponsoring this project. JieKou AI provides official model resources with stable, high-performance API access. Subscription bundles are priced at 20% off the official rate; new users who register through <a href="https://jiekou.ai/referral?invited_code=OBNU3K">this link</a> and bind GitHub can claim a $3 coupon.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.shengsuanyun.com/?from=CH_LEJ88KWR">
|
||||
|
||||
11
README.md
11
README.md
@ -119,17 +119,6 @@ cp .env.example .env
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://jiekou.ai/referral?invited_code=OBNU3K">
|
||||
<img src="docs/images/sponsors/jiekou-logo.svg" width="72" alt="接口AI"><br>
|
||||
<strong>接口AI</strong>
|
||||
</a>
|
||||
</td>
|
||||
<td valign="middle">
|
||||
感谢 <a href="https://jiekou.ai/referral?invited_code=OBNU3K">接口AI</a> 赞助本项目!接口AI 提供官方资源直供与稳定高性能 API 体验,订阅包价格为官方 8 折;使用 <a href="https://jiekou.ai/referral?invited_code=OBNU3K">专属链接</a> 注册并绑定 GitHub,可领取 3 美元优惠券。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.shengsuanyun.com/?from=CH_LEJ88KWR">
|
||||
|
||||
@ -44,7 +44,7 @@ With an API key in hand, this is the fastest route. Click "Add Provider", pick s
|
||||
The built-in presets, as they appear in the dialog:
|
||||
|
||||
- **DeepSeek** · **Zhipu GLM** · **Kimi** · **MiniMax** — major Chinese model vendors; the base URLs point at each one's Anthropic-compatible endpoint.
|
||||
- **接口AI (JiekouAI)** · **胜算云 (Shengsuanyun)** · **TeamoRouter** — routing services that give you access to official Claude models through their own gateway.
|
||||
- **胜算云 (Shengsuanyun)** · **TeamoRouter** — routing services that give you access to official Claude models through their own gateway.
|
||||
- **LM Studio** · **Ollama** — local models; see the next section.
|
||||
- **Custom** — anything not listed above.
|
||||
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M32 8H8V40H32C36.4183 40 40 36.4183 40 32V16H48V32C48 40.8366 40.8366 48 32 48H8C3.58172 48 3.22128e-08 44.4183 0 40V0H32V8Z" fill="black"/>
|
||||
<path d="M40 8H48V0H40V8Z" fill="#0071E3"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 297 B |
@ -44,7 +44,7 @@ Claude Code Haha 自己不带模型,它只是那个替你干活的壳。装完
|
||||
内置预设(按弹窗里的排列):
|
||||
|
||||
- **DeepSeek** · **Zhipu GLM** · **Kimi** · **MiniMax** — 国内主流模型厂商,接口地址是各家的 Anthropic 兼容端点。
|
||||
- **接口AI** · **胜算云** · **TeamoRouter** — 中转类服务商,用它们的通道调 Claude 官方模型。
|
||||
- **胜算云** · **TeamoRouter** — 中转类服务商,用它们的通道调 Claude 官方模型。
|
||||
- **LM Studio** · **Ollama** — 本地模型,见下一节。
|
||||
- **Custom** — 上面都没有,自己填。
|
||||
|
||||
|
||||
@ -839,10 +839,10 @@ describe('ConversationService', () => {
|
||||
test('buildChildEnv clears stale api key for bearer-token providers', async () => {
|
||||
const providerService = new ProviderService()
|
||||
const provider = await providerService.addProvider({
|
||||
presetId: 'jiekouai',
|
||||
name: 'Jiekou',
|
||||
presetId: 'shengsuanyun',
|
||||
name: 'ShengSuanYun',
|
||||
apiKey: 'provider-key',
|
||||
baseUrl: 'https://api.jiekou.ai/anthropic',
|
||||
baseUrl: 'https://router.shengsuanyun.com/api',
|
||||
apiFormat: 'anthropic',
|
||||
models: {
|
||||
main: 'claude-sonnet-4-6',
|
||||
@ -858,7 +858,7 @@ describe('ConversationService', () => {
|
||||
model: 'claude-sonnet-4-6',
|
||||
})) as Record<string, string>
|
||||
|
||||
expect(env.ANTHROPIC_BASE_URL).toBe('https://api.jiekou.ai/anthropic')
|
||||
expect(env.ANTHROPIC_BASE_URL).toBe('https://router.shengsuanyun.com/api')
|
||||
expect(env.ANTHROPIC_AUTH_TOKEN).toBe('provider-key')
|
||||
expect(env.ANTHROPIC_API_KEY).toBe('')
|
||||
expect(env.ANTHROPIC_MODEL).toBe('claude-sonnet-4-6')
|
||||
|
||||
@ -3154,10 +3154,10 @@ describe('WebSocket Chat Integration', () => {
|
||||
it('should pass the active provider id into default desktop sessions', async () => {
|
||||
const providerService = new ProviderService()
|
||||
const provider = await providerService.addProvider({
|
||||
presetId: 'jiekouai',
|
||||
presetId: 'shengsuanyun',
|
||||
name: 'Active Default Provider',
|
||||
apiKey: 'key-active-default',
|
||||
baseUrl: 'https://api.jiekou.ai/anthropic',
|
||||
baseUrl: 'https://router.shengsuanyun.com/api',
|
||||
apiFormat: 'anthropic',
|
||||
models: {
|
||||
main: 'active-main',
|
||||
|
||||
@ -67,7 +67,6 @@ describe('provider presets API', () => {
|
||||
const zhipu = PROVIDER_PRESETS.find((preset) => preset.id === 'zhipuglm')
|
||||
const kimi = PROVIDER_PRESETS.find((preset) => preset.id === 'kimi')
|
||||
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')
|
||||
|
||||
@ -106,12 +105,6 @@ describe('provider presets API', () => {
|
||||
expect(minimax?.defaultEnv?.CLAUDE_CODE_AUTO_COMPACT_WINDOW).toBe('1000000')
|
||||
expect(minimax?.defaultEnv?.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES).toBe('thinking,adaptive_thinking')
|
||||
expect(minimax?.modelContextWindows?.['MiniMax-M3']).toBe(1000000)
|
||||
expect(jiekouai?.baseUrl).toBe('https://api.jiekou.ai/anthropic')
|
||||
expect(jiekouai?.authStrategy).toBe('auth_token')
|
||||
expect(jiekouai?.defaultModels.main).toBe('claude-sonnet-4-6')
|
||||
expect(jiekouai?.defaultModels.opus).toBe('claude-opus-4-7')
|
||||
expect(jiekouai?.defaultEnv?.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES).toBe('none')
|
||||
expect(jiekouai?.modelContextWindows?.['claude-sonnet-4-6']).toBe(1000000)
|
||||
expect(shengsuanyun?.baseUrl).toBe('https://router.shengsuanyun.com/api')
|
||||
expect(shengsuanyun?.authStrategy).toBe('auth_token')
|
||||
expect(shengsuanyun?.defaultModels.main).toBe('anthropic/claude-sonnet-4.6')
|
||||
@ -134,7 +127,6 @@ describe('provider presets API', () => {
|
||||
const zhipu = PROVIDER_PRESETS.find((preset) => preset.id === 'zhipuglm')
|
||||
const kimi = PROVIDER_PRESETS.find((preset) => preset.id === 'kimi')
|
||||
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')
|
||||
@ -166,9 +158,6 @@ describe('provider presets API', () => {
|
||||
expect(kimi?.modelContextWindows?.['kimi-for-coding']).toBe(262144)
|
||||
expect(kimi?.modelContextWindows?.['kimi-for-coding-highspeed']).toBe(262144)
|
||||
expect(minimax?.apiKeyUrl).toBe('https://platform.minimaxi.com/subscribe/token-plan?code=1TG2Cseab2&source=link')
|
||||
expect(jiekouai?.apiKeyUrl).toBe('https://jiekou.ai/referral?invited_code=OBNU3K')
|
||||
expect(jiekouai?.promoText).toContain('官方 8 折')
|
||||
expect(jiekouai?.featured).toBe(true)
|
||||
expect(shengsuanyun?.apiKeyUrl).toBe('https://www.shengsuanyun.com/?from=CH_LEJ88KWR')
|
||||
expect(shengsuanyun?.promoText).toContain('首充 10%')
|
||||
expect(shengsuanyun?.featured).toBe(true)
|
||||
|
||||
@ -128,33 +128,6 @@
|
||||
"MiniMax-M2.7-highspeed": 204800
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "jiekouai",
|
||||
"name": "接口AI",
|
||||
"baseUrl": "https://api.jiekou.ai/anthropic",
|
||||
"apiFormat": "anthropic",
|
||||
"defaultModels": {
|
||||
"main": "claude-sonnet-4-6",
|
||||
"haiku": "claude-haiku-4-5-20251001",
|
||||
"sonnet": "claude-sonnet-4-6",
|
||||
"opus": "claude-opus-4-7"
|
||||
},
|
||||
"needsApiKey": true,
|
||||
"websiteUrl": "https://jiekou.ai",
|
||||
"apiKeyUrl": "https://jiekou.ai/referral?invited_code=OBNU3K",
|
||||
"promoText": "接口AI为 cc-haha 的用户提供官方资源与稳定高性能体验,订阅包价格为官方 8 折;绑定 GitHub 后还可领取 3 美元优惠券。",
|
||||
"featured": true,
|
||||
"authStrategy": "auth_token",
|
||||
"defaultEnv": {
|
||||
"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES": "none"
|
||||
},
|
||||
"modelContextWindows": {
|
||||
"claude-sonnet-4-6": 1000000,
|
||||
"claude-haiku-4-5-20251001": 200000,
|
||||
"claude-haiku-4-5": 200000,
|
||||
"claude-opus-4-7": 1000000
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "shengsuanyun",
|
||||
"name": "胜算云",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user