mirror of
https://github.com/ZhuLinsen/daily_stock_analysis.git
synced 2026-10-06 14:33:11 +08:00
docs: update AIHubMix referral links to InferEra (#2182)
This commit is contained in:
+1
-1
@@ -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=
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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
@@ -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
@@ -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 |
|
||||
|
||||
@@ -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
@@ -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` | 否 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user