
Hunter Community Edition · 私人金融 AI 团队 · AI 智能体 + AI 量化 · 开源自托管 · powered by opencode + Claude Code +
Hunter Community Edition · 私人金融 AI 团队 · AI 智能体 + AI 量化 · 开源自托管 · powered by opencode + Claude Code +
⚠️ 免责声明:本项目是投研分析工具,所有输出为 AI 生成内容,仅供研究参考,不构成任何投资建议。投资有风险,决策需谨慎。
它是什么 —— 一个跑在你自己电脑或服务器上的金融 AI 助手。你给它一个大模型 key,它就能查行情、拉新闻、做个股深度分析、预测走势、管理自选和持仓,并按你写的 SKILL(分析方法论)工作。对话、持仓、投资论点全部存在本地数据库。
它不是什么 —— 不接券商交易,不替你做决策,不保证预测准确。它是把公开数据、分析方法论和大模型组织起来的研究助手。
适合谁 —— 会用 Docker 的个人投资者、私募研究员、小型量化团队;想掌控自己的数据,或想把自己的数据源和方法论接进来的人。
准备:Docker Desktop(Windows / macOS)或 Docker Engine + Compose v2(Linux) · 磁盘 10 GB · 内存 4 GB · 能访问 ghcr.io
[!IMPORTANT] 开始前只需要理解两件事
耗时:自 v1.1.0 起六个服务全部走预构建镜像,不再本地构建 —— 首次约 3–5 分钟(全在下镜像),之后 up -d 几十秒。
# 1. 拉代码并启动(不需要先改 .env,JWT_SECRET 会自动生成)
git clone https://github.com/agentpit-io/hunter-community
cd hunter-community
docker compose up -d
open http://localhost:3100
# 2. 配大模型(**现在还得手动填**,图形化向导在下一个版本交付)
cp .env.example .env
# 在 .env 里填这三项(以 DeepSeek 为例),然后再 `docker compose up -d` 一次:
# LLM_BASE_URL=https://api.deepseek.com/v1
# LLM_DEFAULT_MODEL=deepseek-v4-pro
# LLM_API_KEY=sk-xxxxx
# LLM_SCHEMA_SANITIZE=1 # DeepSeek 必开
# HUNTER_API_KEY=hunt_tools_xxxxx # 可选 · 平台数据管道
不填大模型三项时六个服务照样健康,只是不能对话。
要改代码的开发者叠加开发覆盖文件 —— 它带回本地构建与全部源码挂载(改 apps/web/public 下的静态文件、scripts/ 下的 MCP 与插件都立即生效):
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
git pull
docker compose pull && docker compose up -d
bash scripts/migrate-volumes.sh # ⚠️ 只有老用户需要,见下
[!WARNING] 装过 SKILL / 导入过数据包的老用户必须跑一次
scripts/migrate-volumes.sh。 v1.0.x 把./user-skills和./data-packages两个仓库目录直接挂给 api; v1.1.0 起改成 api 自己的具名卷 —— 云平台上没有仓库目录,挂不了。 直接升级的话新卷是空的,你装过的 SKILL 会从界面上消失。 文件一个都没丢(还在user-skills/下),这个脚本就是把它们搬进新卷; 幂等,目标非空时不覆盖。api 启动日志里也会提示。
其余几处变化不需要你做什么:
JWT_SECRET 留空不再拒绝启动 —— 首次启动自动生成并写进 hunter_secrets 卷。
已经在 .env 里填了的不要动:换掉它会让已保存的 key 全部解不开、登录全部失效。打开后试试:
起不来?先看 常见问题 和 docs/01-getting-started.md,或到 讨论区问答 提问。
大模型 key 之外,数据怎么来由你决定,不强制使用我们的平台 key:
| 方式 | 需要谁的 key | 数据来源 | 适合谁 |
|---|---|---|---|
| ① 免费开源源 | 不需要 | AKShare(A 股)· yfinance(美股 / 港股) | 先跑通看效果;覆盖不全时会明确提示降级 |
| ② 自接工具 / MCP | 你自己的 | 你的券商、数据商、自建 MCP,或 Cline / Cursor 生态里任意 MCP | 已有数据订阅,想接进来用;侧栏「工具箱 +」添加 |
| ③ 平台数据管道 | hunt_tools_ 开头的 key,免费申请 |
平台汇总的行情、财报、新闻数据,UZI 深度分析所需数据,Kronos 走势预测 | 免费源不够用,想要更全的数据 |
平台 key 可以写进 .env,也可以在界面左下角「解锁全部工具」里粘贴,立即生效。平台只按 key 记录请求次数,看不到你的对话和持仓。
官方数据厂商 MCP 支持进展(2026-09-13 更新)
当前立场:本项目不预置任何具体金融数据厂商的 MCP 集成,等与官方逐一沟通并拿到正式授权后再开放。
fuyao.aicubes.cn/mcp/* 系列 MCP 端点,允许开发者自助申请 key;但目前尚未获得同花顺对本项目作为集成方的书面授权,出于合规考虑不预置该数据源。我们正在联系官方,期待建立正式合作。目前可用:免费开源源(AKShare / yfinance)+ 用户自持的第三方 MCP(通用接入,不预置具体厂商)。
如果你来自数据厂商:欢迎通过 GitHub Issues 或邮件联系我们探讨合作。
** 数据**
** 分析**
** 交互**
** 扩展**
SKILL 是一段讲清「这类问题该怎么分析」的 Markdown,采用 Anthropic Agent Skills 标准格式,网上下载的标准 SKILL 不用改就能用。
随代码内置 6 个(skills/ 目录):
| SKILL | 分类 | 说明 |
|---|---|---|
uzi |
综合分析 | 投研总调度:按问题分发到深度研究、评审团、龙虎榜、风险扫描 |
investor_panel |
综合分析 | 大佬评审团:模拟价值、成长、游资、量化等 9 大流派投票打分 |
deep_analysis |
投研报告 | 多维度个股深度分析:基本面、技术面、资金面与投委会结论 |
lhb_analyzer |
事件与筛选 | 龙虎榜分析:识别游资席位,判断机构与游资博弈 |
trap_detector |
尽调风控 | 杀猪盘检测:扫描推荐来源、内幕消息、基本面脱节等信号 |
risk_profile |
组合级 | 读写风险偏好、现金与单票上限,供组合建议使用 |
更多来自社区:侧栏 SKILL 一栏点「+」粘贴 GitHub 地址即可安装,装前可预览内容。
在线演示站额外安装的 18 个社区 SKILL(及来源仓库)
| 来源仓库 | SKILL |
|---|---|
| prof-little-bear/cc-equity-research | catalyst_calendar · earnings_analysis · earnings_preview · idea_generation · initiating_coverage · model_update · morning_note · sector_overview · thesis_tracker |
| bmtrnavsky/nanobot-stock-trader | catalyst_growth_investor · longterm_quality_investor · stock_data · swing_trade_scanner |
| algoderiv/agent-skills | rice_quant · tqsdk |
| yennanliu/InvestSkill | invest_stock_eval |
| tigersking520/stock-analysis-skill | stock_analysis |
| 演示站界面内自建 | 1 个 |
以上为 2026-09-16 从演示站 /api/catalog/skills 读取的清单,各 SKILL 的许可证以来源仓库为准。
想写自己的 SKILL?看 扩展 HunterCode。
会用 Docker、想掌控数据、想接自己的数据源或方法论 → Community(本仓库)。只想打开网页或手机就用、需要微信 / 飞书推送 → Cloud。
逐项对比
| 能力 | Community(自部署) | Cloud(hunter.agentpit.io) |
|---|---|---|
| 对话(自带大模型 key) | ✅ | ✅ |
| 免费数据源(AKShare / yfinance) | ✅ 无需我方 key | ✅ |
| 接入自己的 MCP / 数据源 | ✅ 无需我方 key | ✅ |
| 内置 SKILL 与 GitHub 一键装 SKILL | ✅ | ✅ |
| UZI 深度分析 | ✅ 数据三选一 | ✅ |
| Kronos 走势预测 | ✅ 平台管道(免费)· 或自建 GPU · 直连说明 | ✅ |
| 投资论点(本地存储) | ✅ 本地 Postgres | ✅ |
| 微信推送 / 飞书通知 | ❌ | ✅ |
| 多租户计费 | ❌ | ✅ |
大模型兼容性(7 个标准用例实测工具调用)
我们用 7 个标准用例实测每家模型能否正确调用工具 —— 对 HunterCode 来说,「能聊」不够,「会调工具」才算可用。
| 模型 | 接入 | 工具调用命中 | 平均耗时 | 推荐 | 注意 |
|---|---|---|---|---|---|
| DeepSeek v4 pro | 直连 api.deepseek.com |
6/7 | 30 秒 | ⭐⭐⭐⭐⭐ 直连默认 | 必开 LLM_SCHEMA_SANITIZE=1 |
| Claude Sonnet 5 | AIHubMix 网关 | 7/7 | 25.7 秒 | ⭐⭐⭐⭐⭐ 海外首推 | 容器直连可能被 TLS 指纹拦截,需宿主机代理 |
| Qwen 3.8 Max | AIHubMix 网关 | 7/7 | 48.1 秒 | ⭐⭐⭐⭐⭐ 国内首推 | 深度分析较慢 |
| Gemini 3.5 Flash | AIHubMix 网关 | 6/7 | 62.3 秒 | ⭐⭐⭐⭐ 便宜快 | 边界用例偶发过度调用 |
| Doubao Seed 2.1 Pro | AIHubMix 网关 | 6/7 | 103.9 秒 | ⭐⭐⭐ | 建议直连火山引擎 |
| MiniMax M3 | AIHubMix 网关 | 6/7 | 77.3 秒 | ⭐⭐⭐⭐ | 思考过程泄漏已由 llm-shim 剥离 |
| GPT-5.6 sol | AIHubMix 网关 | 5/7 | 24.4 秒 | ⭐⭐⭐ | 部分用例选错工具 |
实测日期 2026-08-15 / 08-16。各家 .env 模板(含地址、模型名、清洗开关、已知坑):docs/env-samples/。评测方法与原始数据:docs/model-testing/(适配矩阵 · 评测脚本)。
思考类模型的 `` 泄漏:MiniMax / Qwen thinking / Kimi thinking 会把推理过程夹在回复里,scripts/llm-shim/shim.py 在请求端关闭思考、响应端剥离标签,LLM_STRIP_THINK=0 可关闭。
投资论点:记住你当初为什么买
自选和持仓可以记录每只股票的投资论点(买入理由、关键假设、成本),数据存在本地 Postgres,不出你的机器。
想让 AI 持续跟踪论点是否还成立,可以安装社区 SKILL,例如 prof-little-bear/cc-equity-research 里的 thesis_tracker,在对话中结合最新数据复核。
⚠️ 论点复核结果是 AI 生成的研究参考,不构成投资建议。
技术栈
| 层 | 技术 |
|---|---|
| 前端 | Next.js 15(App Router)· React 19 · TypeScript 5 · Tailwind CSS · shadcn/ui |
| 后端 | FastAPI · Python 3.12 · httpx · loguru |
| 对话引擎 | OpenCode 定制版 · MCP · Bun |
| 数据库 | Postgres 16 · Redis 7 |
| 大模型 | 任意 OpenAI 兼容网关 · Anthropic · Kronos |
| 认证 | JWT(HS256)· argon2id · 单用户 / 多用户可切换 |
| 部署 | Docker Compose · GHCR 镜像 |
架构
…
/api/* 与对话流,携带 JWTparameters: null)数据源 / 大模型 / 预测的切换(Provider 矩阵)
| 层 | 环境变量 | 可选值 | 留空时 |
|---|---|---|---|
| 数据源 | DATA_SOURCE_PROVIDER |
hunter · akshare · yfinance · saas |
配了平台 key 走 hunter,否则 akshare |
| 大模型 | LLM_PROVIDER |
openai_compat · anthropic · saas_gemini |
openai_compat |
| 预测 | FORECAST_PROVIDER |
kronos_saas · kronos_local · noop |
kronos_saas |
AKShare 在容器里访问境内数据源时可能不稳定。返回结构与细节见 docs/02-providers.md。
扩展 HunterCode
1. 写自己的 SKILL(最简单)
user-skills/
你的skill名/
SKILL.md
---
name: 你的skill名
description: 一句话说明什么时候该用它 —— 模型据此判断要不要调用
---
# 正文写方法论
分几步、先看什么后看什么、注意什么。
放好后 docker compose restart opencode api,同名时你的覆盖内置的。想调用我们的数据和工具,在 frontmatter 里加 hunter.needs_tools,见 user-skills/README.md。
2. 从 GitHub 一键装 SKILL:侧栏 SKILL 一栏点「+」→ 粘贴 GitHub 地址 → 预览内容 → 安装。
3. 接自己的 MCP:工具箱一栏点「+」,填名称、类型(HTTP / SSE / stdio)、地址和 key,工具描述直接提供给模型。
opencode 一直 Restarting?
大概率是大模型三项没填全。docker compose logs opencode --tail 20 会明确说缺哪个:LLM_BASE_URL、LLM_DEFAULT_MODEL、LLM_API_KEY。DeepSeek 还需 LLM_SCHEMA_SANITIZE=1。
DeepSeek 发消息后只显示「深度思考完成」,或报 400 "Invalid schema type: null"?
在 .env 加 LLM_SCHEMA_SANITIZE=1,然后 docker compose up -d(必须 up,restart 不会重读 .env)。
深度分析报告是空的?
平台 key(HUNTER_API_KEY)没填或无效时拿不到完整数据。去 hunter.agentpit.io/dev/api-keys 免费申请,或在界面左下角「解锁全部工具」粘贴。
改了 skills/ 后不生效?
opencode 只在启动时扫描一次 SKILL 目录:
docker compose restart opencode # 约 50 秒
python scripts/check_skill_sync.py # 比对磁盘与 opencode 实际加载的 SKILL
端口被占用?
改 .env 里的 WEB_HOST_PORT / API_HOST_PORT / POSTGRES_HOST_PORT,同时把 NEXT_PUBLIC_API_URL 改成新的 API 端口。
更多问题
见 docs/01-getting-started.md 的常见报错,或到 讨论区问答 提问。
最简单的贡献是写一个 SKILL —— 懂一种分析方法、会写 Markdown 就够了。其次是文档和翻译,再次是代码。
good first issue · 征集中的 SKILL:skill-wanted贡献者名单由 All Contributors 机器人维护。维护者在 issue 或 PR 下评论 @all-contributors please add @用户名 for code 即可添加,贡献类型见 类型说明(代码、文档、SKILL 内容、翻译、报 bug、出点子等都算)。
Ziggy xuan
| 项目 | 说明 |
|---|---|
| HunterCode Cloud | 官方托管版,含微信 / 飞书推送 |
你基于 HunterCode 做了二次开发或 fork?欢迎在 讨论区 告诉我们,我们会加到这里。
| 渠道 | 入口 |
|---|---|
| GitHub 讨论区 | 提问 · 分享 · 建议 |
| 微信(拉群交流) | agentpit |
| 微信公众号 | agentpit.io |
| X | @agentpit_io |
遇到 bug:提交 issue · 安全漏洞:请勿公开,见 SECURITY.md
.env)、多架构镜像、每日部署冒烟测试 —— [里程碑](https://github.coNo open issues yet, or sync has not completed.