docs: update AIHubMix referral links to InferEra (#2182)

This commit is contained in:
zhulinsen
2026-08-10 21:18:03 +08:00
committed by GitHub
parent 396d43a4c7
commit 3b98aa1d77
12 changed files with 33 additions and 16 deletions
+1 -1
View File
@@ -174,7 +174,7 @@ GEMINI_API_KEY=
# 兼容默认:仅填 DEEPSEEK_API_KEY 时仍使用 deepseek-chat,并在日志提示迁移到 deepseek-v4-flash
# DEEPSEEK_API_KEY=
# AIHubmix 聚合(https://aihubmix.com/?aff=CfMq)
# AIHubmix 聚合(https://inferera.com/?aff=CfMq)
# 一个 Key 用 GPT/Claude/Gemini/GLM/Qwen 等模型,无需科学上网
# AIHUBMIX_KEY=
+2 -2
View File
@@ -53,7 +53,7 @@
| 类型 | 支持 |
|------|------|
| AI 模型 | [Anspire](https://open.anspire.cn/dsa?share_code=QFBC0FYC)、[AIHubMix](https://aihubmix.com/?aff=CfMq)、Gemini、OpenAI 兼容、DeepSeek、通义千问、Claude、Ollama 本地模型等 |
| AI 模型 | [Anspire](https://open.anspire.cn/dsa?share_code=QFBC0FYC)、[AIHubMix](https://inferera.com/?aff=CfMq)、Gemini、OpenAI 兼容、DeepSeek、通义千问、Claude、Ollama 本地模型等 |
| 行情数据 | [TickFlow](https://tickflow.org/auth/register?ref=WDSGSPS5XC)、AkShare、Tushare、Pytdx、Baostock、YFinance、Longbridge |
| 新闻搜索 | [Anspire](https://open.anspire.cn/dsa/?share_code=QFBC0FYC)、[SerpAPI](https://serpapi.com/baidu-search-api?utm_source=github_daily_stock_analysis)、[Tavily](https://tavily.com/)、[Bocha](https://open.bocha.cn/)、[Brave](https://brave.com/search/api/)、[MiniMax](https://platform.minimaxi.com/)、SearXNG |
| 社交舆情 | [Stock Sentiment API](https://api.adanos.org/docs)(Reddit / X / Polymarket,仅美股,可选) |
@@ -82,7 +82,7 @@
| Secret 名称 | 说明 | 必填 |
|------------|------|:----:|
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/dsa?share_code=QFBC0FYC) API Key,一Key同时启用全球热门大模型和联网搜索,本项目新用户提供30元等额的免费额度(GLM5.2、GPT等模型特惠中) | **推荐** |
| `AIHUBMIX_KEY` | [AIHubMix](https://aihubmix.com/?aff=CfMq) API Key,一Key切换使用全系模型,无需科学上网,本项目可享 10% 优惠 | **推荐** |
| `AIHUBMIX_KEY` | [AIHubMix](https://inferera.com/?aff=CfMq) API Key,一Key切换使用全系模型,无需科学上网,本项目可享 10% 优惠 | **推荐** |
| `GEMINI_API_KEY` | Google Gemini API Key | 可选 |
| `ANTHROPIC_API_KEY` | Anthropic Claude API Key | 可选 |
| `OPENAI_API_KEY` | OpenAI 兼容 API Key(支持 DeepSeek、通义千问等) | 可选 |
@@ -84,6 +84,13 @@ describe('llmProviderTemplates', () => {
expect(LLM_PROVIDER_TEMPLATE_BY_ID.openai.configHint).toBeUndefined();
});
it('uses the mainland-accessible AIHubmix referral without changing its API base URL', () => {
expect(LLM_PROVIDER_TEMPLATE_BY_ID.aihubmix).toMatchObject({
baseUrl: 'https://aihubmix.com/v1',
officialSources: [{ label: 'AIHubmix', url: 'https://inferera.com/?aff=CfMq' }],
});
});
it('keeps basic metadata on non-custom provider templates', () => {
for (const template of LLM_PROVIDER_TEMPLATES.filter((item) => item.channelId !== 'custom')) {
expect(template.capabilities.length).toBeGreaterThan(0);
@@ -56,7 +56,7 @@ export const LLM_PROVIDER_TEMPLATES: LLMProviderTemplate[] = [
baseUrl: 'https://aihubmix.com/v1',
placeholderModels: 'gpt-5.5,claude-sonnet-4-6,gemini-3.1-pro-preview',
capabilities: ['openai-compatible', 'aggregator'],
officialSources: [{ label: 'AIHubmix', url: 'https://aihubmix.com/' }],
officialSources: [{ label: 'AIHubmix', url: 'https://inferera.com/?aff=CfMq' }],
},
{
channelId: 'anspire',
+1
View File
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
<!-- 新条目格式:- [类型] 描述(类型取值:新功能/改进/修复/文档/测试/chore)-->
<!-- 每条独立一行追加到本段末尾,无需分类标题,合并时冲突最小 -->
- [改进] AIHubMix 注册与引流链接统一使用 inferera.com,改善中国大陆网络直连体验。
## [3.30.0] - 2026-08-09
+2 -2
View File
@@ -55,7 +55,7 @@
| 類型 | 支援 |
|------|------|
| AI 模型 | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC)、[AIHubMix](https://aihubmix.com/?aff=CfMq)、Gemini、OpenAI 兼容、DeepSeek、通義千問、Claude、Ollama 本地模型等 |
| AI 模型 | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC)、[AIHubMix](https://inferera.com/?aff=CfMq)、Gemini、OpenAI 兼容、DeepSeek、通義千問、Claude、Ollama 本地模型等 |
| 行情數據 | [TickFlow](https://tickflow.org/auth/register?ref=WDSGSPS5XC)、AkShare、Tushare、Pytdx、Baostock、YFinance、Longbridge |
| 新聞搜尋 | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC)、[SerpAPI](https://serpapi.com/baidu-search-api?utm_source=github_daily_stock_analysis)、[Tavily](https://tavily.com/)、[Bocha](https://open.bocha.cn/)、[Brave](https://brave.com/search/api/)、[MiniMax](https://platform.minimaxi.com/)、SearXNG |
| 社交輿情 | [Stock Sentiment API](https://api.adanos.org/docs)(Reddit / X / Polymarket,僅美股,可選) |
@@ -83,7 +83,7 @@
| Secret 名稱 | 說明 | 必填 |
|-------------|------|:----:|
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC) API Key,一 Key 同時啟用全球熱門大模型和聯網搜尋,含本項目免費額度 | **推薦** |
| `AIHUBMIX_KEY` | [AIHubMix](https://aihubmix.com/?aff=CfMq) API Key,一 Key 切換使用全系模型,本項目可享 10% 優惠 | **推薦** |
| `AIHUBMIX_KEY` | [AIHubMix](https://inferera.com/?aff=CfMq) API Key,一 Key 切換使用全系模型,本項目可享 10% 優惠 | **推薦** |
| `GEMINI_API_KEY` | Google Gemini API Key | 可選 |
| `ANTHROPIC_API_KEY` | Anthropic Claude API Key | 可選 |
| `OPENAI_API_KEY` | OpenAI 兼容 API Key(支援 DeepSeek、通義千問等) | 可選 |
+2 -2
View File
@@ -55,7 +55,7 @@ English | [简体中文](../README.md) | [繁體中文](README_CHT.md)
| Type | Supported |
|------|-----------|
| AI Models | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC), [AIHubMix](https://aihubmix.com/?aff=CfMq), Gemini, OpenAI-compatible providers, DeepSeek, Qwen, Claude, Ollama |
| AI Models | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC), [AIHubMix](https://inferera.com/?aff=CfMq), Gemini, OpenAI-compatible providers, DeepSeek, Qwen, Claude, Ollama |
| Market Data | [TickFlow](https://tickflow.org/auth/register?ref=WDSGSPS5XC), AkShare, Tushare, Pytdx, Baostock, YFinance, Longbridge |
| News Search | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC), [SerpAPI](https://serpapi.com/baidu-search-api?utm_source=github_daily_stock_analysis), [Tavily](https://tavily.com/), [Bocha](https://open.bocha.cn/), [Brave](https://brave.com/search/api/), [MiniMax](https://platform.minimaxi.com/), SearXNG |
| Social Sentiment | [Stock Sentiment API](https://api.adanos.org/docs) for Reddit / X / Polymarket, US stocks only |
@@ -83,7 +83,7 @@ Start with one provider and one API key. For multi-model routing, image recognit
| Secret Name | Description | Required |
|-------------|-------------|:--------:|
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC) API key, one key for popular LLMs and web search with free quota for this project | **Recommended** |
| `AIHUBMIX_KEY` | [AIHubMix](https://aihubmix.com/?aff=CfMq) API key, one key for multiple model families and a 10% top-up discount for this project | **Recommended** |
| `AIHUBMIX_KEY` | [AIHubMix](https://inferera.com/?aff=CfMq) API key, one key for multiple model families and a 10% top-up discount for this project | **Recommended** |
| `GEMINI_API_KEY` | Google Gemini API key | Optional |
| `ANTHROPIC_API_KEY` | Anthropic Claude API key | Optional |
| `OPENAI_API_KEY` | OpenAI-compatible API key, including DeepSeek and Qwen-compatible services | Optional |
+2 -2
View File
@@ -9,7 +9,7 @@
1. Windows 或 macOS 电脑。
2. 一个模型服务密钥(Key),推荐从下面任选一个:
- [Anspire Open](https://open.anspire.cn/?share_code=QFBC0FYC):支持全球主流模型,一个 Key 可同时用于模型和新闻搜索,第一次配置最省事。
- [AIHubMix](https://aihubmix.com/?aff=CfMq):支持全球主流模型,适合想在一个平台切换多种模型的用户。
- [AIHubMix](https://inferera.com/?aff=CfMq):支持全球主流模型,适合想在一个平台切换多种模型的用户。
3. 想分析的股票代码,例如 `600519,hk00700,AAPL`。
## 1. 下载客户端
@@ -59,7 +59,7 @@ macOS 用户升级前建议先在客户端设置里导出一次配置备份。
### 方案 B:AIHubMix
1. 打开 [AIHubMix](https://aihubmix.com/?aff=CfMq),注册 / 登录后创建 API Key。
1. 打开 [AIHubMix](https://inferera.com/?aff=CfMq),注册 / 登录后创建 API Key。
2. 回到客户端,在快速添加渠道里选择 `AIHubmix(聚合平台)`。
3. 粘贴 API Key。
4. 模型名选择控制台里已开通的模型;不确定就先选控制台推荐模型。
+3 -3
View File
@@ -58,7 +58,7 @@ daily_stock_analysis/
| Secret 名称 | 说明 | 必填 |
|------------|------|:----:|
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC) API Key,一 Key 同时启用大模型和中文优化联网搜索,含本项目免费额度 | 推荐 |
| `AIHUBMIX_KEY` | [AIHubMix](https://aihubmix.com/?aff=CfMq) API Key,一 Key 切换使用全系模型,本项目可享 10% 优惠 | 推荐 |
| `AIHUBMIX_KEY` | [AIHubMix](https://inferera.com/?aff=CfMq) API Key,一 Key 切换使用全系模型,本项目可享 10% 优惠 | 推荐 |
| `GEMINI_API_KEY` | [Google AI Studio](https://aistudio.google.com/) 获取免费 Key | 可选 |
| `ANTHROPIC_API_KEY` | Anthropic Claude API Key | 可选 |
| `OPENAI_API_KEY` | OpenAI 兼容 API Key(支持 DeepSeek、通义千问等) | 可选 |
@@ -197,7 +197,7 @@ daily_stock_analysis/
如果你想快速开始,最少需要配置以下项:
1. **AI 模型**:`ANSPIRE_API_KEYS`(一 Key 同时启用大模型和搜索)、`AIHUBMIX_KEY`([AIHubmix](https://aihubmix.com/?aff=CfMq),一 Key 多模型)、`GEMINI_API_KEY` 或 `OPENAI_API_KEY`
1. **AI 模型**:`ANSPIRE_API_KEYS`(一 Key 同时启用大模型和搜索)、`AIHUBMIX_KEY`([AIHubmix](https://inferera.com/?aff=CfMq),一 Key 多模型)、`GEMINI_API_KEY` 或 `OPENAI_API_KEY`
2. **通知渠道**:至少配置一个,如 `WECHAT_WEBHOOK_URL` 或 `EMAIL_SENDER` + `EMAIL_PASSWORD`
3. **股票列表**:`STOCK_LIST`(必填)
4. **搜索 API**:`ANSPIRE_API_KEYS` 或 `SERPAPI_API_KEYS`(推荐,用于新闻与舆情搜索)
@@ -264,7 +264,7 @@ daily_stock_analysis/
| `LLM_USAGE_HMAC_SECRET` | LLM 用量遥测 message HMAC 密钥;留空时自动使用数据目录中的本地密钥文件 | - | 否 |
| `LLM_USAGE_HMAC_KEY_VERSION` | LLM 用量遥测 HMAC 密钥版本标签,轮换密钥时同步更新 | `local-v1` | 否 |
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC) API Key,一 Key 同时启用大模型网关和搜索 | - | 可选 |
| `AIHUBMIX_KEY` | [AIHubmix](https://aihubmix.com/?aff=CfMq) API Key,一 Key 切换使用全系模型,无需额外配置 Base URL | - | 可选 |
| `AIHUBMIX_KEY` | [AIHubmix](https://inferera.com/?aff=CfMq) API Key,一 Key 切换使用全系模型,无需额外配置 Base URL | - | 可选 |
| `GEMINI_API_KEY` | Google Gemini API Key | - | 可选 |
| `GEMINI_MODEL` | 主模型名称(legacy,`LITELLM_MODEL` 优先) | `gemini-3.1-pro-preview` | 否 |
| `GEMINI_MODEL_FALLBACK` | 备选模型(legacy) | `gemini-3-flash-preview` | 否 |
+2 -2
View File
@@ -58,7 +58,7 @@ Go to your forked repo → `Settings` → `Secrets and variables` → `Actions`
| Secret Name | Description | Required |
|------------|------|:----:|
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC) API key, one key for popular LLMs and Chinese-optimized web search with free quota for this project | Recommended |
| `AIHUBMIX_KEY` | [AIHubMix](https://aihubmix.com/?aff=CfMq) API key, one key for multiple model families and a 10% top-up discount for this project | Recommended |
| `AIHUBMIX_KEY` | [AIHubMix](https://inferera.com/?aff=CfMq) API key, one key for multiple model families and a 10% top-up discount for this project | Recommended |
| `GEMINI_API_KEY` | Get free key from [Google AI Studio](https://aistudio.google.com/) | Optional |
| `ANTHROPIC_API_KEY` | Anthropic Claude API Key | Optional |
| `OPENAI_API_KEY` | OpenAI-compatible API Key (supports DeepSeek, Qwen, etc.) | Optional |
@@ -232,7 +232,7 @@ Default schedule: Every weekday at **18:00 (Beijing Time)** automatic execution.
| `LLM_USAGE_HMAC_SECRET` | Secret for LLM usage telemetry message HMACs; leave empty to use a generated local data-dir secret file | - | No |
| `LLM_USAGE_HMAC_KEY_VERSION` | Version label for the LLM usage HMAC key; update it when rotating the secret | `local-v1` | No |
| `ANSPIRE_API_KEYS` | [Anspire](https://open.anspire.cn/?share_code=QFBC0FYC) API key, one key for the LLM gateway and search | - | Optional |
| `AIHUBMIX_KEY` | [AIHubMix](https://aihubmix.com/?aff=CfMq) API key, one key for multiple model families | - | Optional |
| `AIHUBMIX_KEY` | [AIHubMix](https://inferera.com/?aff=CfMq) API key, one key for multiple model families | - | Optional |
| `GEMINI_API_KEY` | Google Gemini API Key | - | Optional |
| `GEMINI_MODEL` | Primary model name (legacy, `LITELLM_MODEL` preferred) | `gemini-3.1-pro-preview` | No |
| `GEMINI_MODEL_FALLBACK` | Fallback model (legacy) | `gemini-3-flash-preview` | No |
+1 -1
View File
@@ -633,7 +633,7 @@ _FIELD_DEFINITIONS: Dict[str, Dict[str, Any]] = {
},
"AIHUBMIX_KEY": {
"title": "AIHubmix Key",
"description": "AIHubmix one-stop API key – access all mainstream models with a single key, no VPN required. Auto-sets base URL to aihubmix.com/v1. Get key: https://aihubmix.com/?aff=CfMq",
"description": "AIHubmix one-stop API key – access all mainstream models with a single key, no VPN required. Auto-sets base URL to aihubmix.com/v1. Get key: https://inferera.com/?aff=CfMq",
"category": "ai_model",
"data_type": "string",
"ui_control": "password",
+9
View File
@@ -194,6 +194,15 @@ class TestLLMUsageHMACFieldsRegistered(unittest.TestCase):
self.assertEqual(field["help_key"], "settings.ai_model.LLM_USAGE_HMAC_KEY_VERSION")
class TestAIHubMixReferralMetadata(unittest.TestCase):
def test_uses_mainland_accessible_referral_without_changing_api_base_hint(self):
description = get_field_definition("AIHUBMIX_KEY")["description"]
self.assertIn("Get key: https://inferera.com/?aff=CfMq", description)
self.assertIn("Auto-sets base URL to aihubmix.com/v1", description)
self.assertNotIn("Get key: https://aihubmix.com/", description)
class TestGenerationBackendFieldsRegistered(unittest.TestCase):
def test_analysis_backend_fields_are_ai_model_selects(self):
expected = {