中文 · English
把财经 KOL 的内容,变成可回测、可审计的投资事件。
Finer OS 沿 F0–F8 流水线,将任意平台的 KOL 社交媒体内容——聊天记录、图片策略、飞书文档、PDF、音视频转录——统一清洗为标准化内容块,抽取可追溯证据的投资意图,映射为可复核的交易动作,并以完全跟单者视角回测,验证「跟随这个 KOL」的真实收益、风险与稳定性。
🌐 在线演示 · 快速开始 · 核心能力 · 回测证据 · 架构设计 · API 文档
KOL 研究视图 — 评分、累计收益曲线、证据链溯源 · 🌐 在线体验(演示数据)
无需注册、不连后端——打开浏览器即可走一遍完整流程,界面与真实产品一致,所有数据均为演示数据。
- F0 → F8 流水线走查 — 点任一阶段,看一条内容如何逐层变成可溯源的交易动作
- KOL 研究视图 — 切换 5 个示例 KOL,看评分、累计收益曲线与观点列表
- 证据链溯源 — 点一条
TradeAction,高亮回溯到原文证据片段与四时钟执行时间 - 回测曲线 — 累计收益、夏普、最大回撤、胜率,红涨绿跌
- RLHF 复核 — 模拟人工裁决,生成
RLHFFeedback(演示,不落库)
财经创作者把高信号的投资推理,藏在嘈杂的时间轴里:冗长的聊天记录、图片形式的策略帖、飞书文档、PDF、直播转录、碎片化的盘面点评。一个简单的情绪分类器回答不了真正的问题:
如果有人长期跟随这个 KOL,组合的真实结果会是什么?
Finer OS 就是围绕这个问题构建的。它把非结构化的 KOL 内容转成证据链可追溯的投资意图,把意图映射为可复核的交易动作,再接入时间线分析与回测——每一个结论都能反查到原始出处。
每一阶段都有冻结的输入/输出契约。原始内容进来,结构化判断出去,中间产物逐层落盘可供人工复核——不是黑箱。
flowchart LR
S0[Raw Sources] --> F0[F0 Intake / ContentRecord]
F0 --> F1[F1 Standardize / ContentEnvelope]
F1 --> F15[F1.5 Topic Assembly / TopicBlock]
F15 --> F2[F2 Anchor / Quality + TemporalAnchor + EvidenceSpan]
F2 --> F3[F3 Intent / NormalizedInvestmentIntent]
F3 --> F4[F4 Policy / PolicyMappingResult]
F4 --> F5[F5 Execute / TradeAction]
F5 --> F6[F6 Review / Human + RLHF]
F6 --> F7[F7 Timeline / ViewpointState]
F7 --> F8[F8 Backtest / KOL Evaluation]
F8 -.-> FT[F+ Training Loop / SFT + DPO]
累计收益曲线 + 右栏证据链溯源 — 每条 TradeAction 可反查 F3 意图 / F4 策略 / F2 证据(演示数据)
每条进入回测的 TradeAction 都满足 canonical 契约:可反查到 F3 投资意图、F4 策略映射、F2 证据片段,以及四个明确区分的执行时钟。
- 累计收益、年化、夏普、最大回撤、胜率全部可审计
- 次开盘成交模型 + 显式费用 / 滑点假设
intent_id/policy_id/evidence_span_ids全程贯穿- 每个数字都可回溯到原始 KOL 内容
| 阶段 | 能力 | 说明 |
|---|---|---|
| F0 · F1 | 采集与归一化 | 飞书、微信公众号、B站等多源 KOL 内容统一接入,标准化为 ContentEnvelope + ContentBlock,保留来源锚点与原始归档。 |
| F2 | 锚定证据链 | 实体解析、时间锚定、证据片段(EvidenceSpan)抽取。每个判断都能反查到原文的字符区间与来源时间。 |
| F3 · F4 · F5 | 意图 → 策略 → 执行 | 投资意图提取 → Policy 映射 → 生成 TradeAction。每条交易动作携带 intent_id / policy_id / evidence_span_ids 与四时钟执行时间。 |
| F8 | 回测与评分 | 把语言观点映射到市场结果,模拟完全跟单者的收益曲线,输出夏普、回撤、胜率等可审计绩效指标。 |
AI 在每个阶段做具体可验证的事;每一条 AI 输出在进入回测前都必须经过 F6 复核台被人类裁决;裁决以结构化字段记录,导出为 DPO 训练数据——这是 Finer 对「黑箱 AI」最具体的反话术。
| 🤖 AI 做什么 | 🧑⚖️ 人在哪儿介入 | 🔄 反馈如何沉淀 |
|---|---|---|
|
|
|
AI 抽取 人工裁决 结构化记录 导出训练数据
F1–F5 LLM → F6 RLHF Panel → RLHFFeedback → DPO JSONL pairs
POST /api/rlhf/submit → GET /api/rlhf/export
我们把训练闭环的已建成与规划中都摆出来——不夸大。
| 能力 | 状态 | |
|---|---|---|
| ✅ | RLHFFeedback 记录 — 人工裁决结构化落库 | 已实现 |
| ✅ | DPO 数据导出 — GET /api/rlhf/export 导出 JSONL pairs |
已实现 |
| 🔜 | Prompt 工程 — 持续优化各阶段提示词与约束解码 | 规划中 |
| 🔜 | 插件 / 工具调用 — 接入外部金融数据源与工具链 | 规划中 |
| 🔜 | 模型微调 — 基于 RLHFFeedback 的 DPO 微调 |
规划中 |
DPO 数据格式与导出 API 已实现;Prompt 工程、插件调用、模型微调均为规划中、尚未实现。
我们更愿意把已建成与未建成都说清楚。
| Stage | 名称 | 核心 Schema | 状态 |
|---|---|---|---|
| F0 | Intake | ContentRecord |
✅ implemented |
| F1 | Standardize | ContentEnvelope / ContentBlock / BlockQuality / BlockProvenance |
🟡 alpha(契约重置中) |
| F1.5 | Topic Assembly | TopicBlock / TopicAssemblyResult |
🟡 alpha |
| F2 | Anchor | QualityCard / TemporalAnchor / EntityAnchor / EvidenceSpan |
🟠 partial |
| F3 | Intent | NormalizedInvestmentIntent |
🟠 partial |
| F4 | Policy | PolicyMappingResult / PolicyMappedIntent |
🟠 partial |
| F5 | Execute | TradeAction / ExecutionTiming |
🟠 partial |
| F6 | Review | RLHFFeedback |
✅ implemented |
| F7 | Timeline | KOLTimeline / ViewpointState |
🟠 partial |
| F8 | Backtest | BacktestResult |
🟠 partial |
| F+ | Training | — | ⚪ contract-only |
| 层级 | 技术选型 | 用途 |
|---|---|---|
| 核心语言 | Python 3.11+ / TypeScript | 后端逻辑 + 前端交互 |
| Web 框架 | FastAPI + Pydantic V2 | API 服务 + 数据校验 |
| 前端框架 | Next.js 16 + React 19 + TailwindCSS 4 | Dashboard 工作台 |
| 大模型 | MiMo-V2.5 / GLM-5.1 / Qwen | 视觉解析(F1 OCR)+ 富化 + 结构化提取 |
| 结构约束 | Instructor | Contract-first 强类型输出 |
| 数据处理 | Data-Juicer / Polars | 数据清洗 + 回测引擎 |
| 可视化 | ECharts | 收益曲线 + 绩效图表 |
| RLHF 平台 | 自研 Dashboard | 人工标注 + 偏好收集 |
- Python 3.11+
- Node.js 18+
- Redis(可选,用于缓存)
# 1. 克隆项目
git clone https://github.com/kelipovanatalja453-bot/finer.git
cd finer
# 2. 安装 Python 依赖
pip install -e .
# 3. 安装前端依赖
cd src/finer_dashboard
npm install# 复制配置模板
cp configs/feishu.yaml.example configs/feishu.yaml
# 设置环境变量
export OPENAI_API_KEY="your-key"
export MIMO_API_KEY="your-key" # MiMo-V2.5,F1 图片/PDF OCR
export MIMO_BASE_URL="https://token-plan-cn.xiaomimimo.com/v1" # 仅 tp-* Token Plan key 需要
export DASHSCOPE_API_KEY="your-key" # 通义千问
export FINANCE_SKILLS_API_KEY="your-key" # 可选# 启动后端 API(终端 1)
cd src
uvicorn finer.api.server:app --port 8000 --reload
# 启动前端 Dashboard(终端 2)
cd src/finer_dashboard
npm run dev访问 http://localhost:3000 打开 Dashboard。
POST /api/wechat/channels/import 依赖 scripts/wx_channels_download 的本地 API 或 CLI 获取视频号 profile 和下载视频。该目录随本仓库作为 F0 半成品交接源码保留;运行时产物、DB、日志、私钥与本地构建出的 binary 不应进入版本控制。接手者需先确认该外部项目的授权、构建方式与安全边界。
原始 KOL 内容
↓
F0 Intake — 多源内容接入(飞书/B站/微信/PDF),统一写入 ContentRecord
↓
F1 Standardize — 内容块标准化(ContentEnvelope / ContentBlock + standardization quality + provenance)
↓
F1.5 Topic Assembly — 长聊天/长文档语义主题组装(TopicBlock / TopicAssemblyResult)
↓
F2 Anchor — 质量评估 + 时间锚 + 证据跨度(QualityCard / TemporalAnchor / EvidenceSpan)
↓
F3 Intent — 投资意图抽取(direction / actionability / position_delta_hint / conviction)
↓
F4 Policy — 策略映射 hint(GlobalBase → StyleArchetype → KOLPersona)
↓
F5 Execute — 可追溯 TradeAction + ExecutionTiming(intent_id + policy_id + evidence_span_ids)
↓
F6 Review + F7 Timeline — 人工复核、观点状态机、时间线分析
↓
F8 Backtest — 跟随交易模拟与 KOL 收益评估
↓
F+ Training Loop — SFT / DPO / RLHF 模型改进(跨阶段闭环,contract-only)
| F-Stage | 模块 | 职责 | 关键文件 |
|---|---|---|---|
| F0 | 接入层 | 多源数据导入 | ingestion/feishu_poller.py |
| F1 | 标准化层 | 内容容器、质量卡、证据链 | schemas/content_envelope.py, schemas/quality.py |
| F1.5 | 主题组装层 | 长聊天/长文档拆分为 TopicBlock | schemas/topic_block.py, parsing/topic_assembler.py |
| F2 | 锚定层 | TemporalAnchor 时间解析、EvidenceSpan 锚定 | schemas/temporal.py |
| F3 | 意图层 | 投资意图抽取(四轴输出) | schemas/investment_intent.py, extraction/intent_extractor.py |
| F4 | 策略层 | Policy 映射(hint,不生成 TradeAction) | policy/policy_mapper.py, schemas/policy.py |
| F5 | 执行层 | Canonical TradeAction + ExecutionTiming 生成 | extraction/trade_action_extractor.py |
| F6 | 复核层 | 人工校准、RLHF | api/routes/rlhf.py |
| F7 | 时间线层 | ViewpointState、KOL 观点演化 | timeline/ |
| F8 | 回测层 | 跟随交易模拟与 KOL 评估 | backtest/ |
完整架构见 docs/ARCHITECTURE.md。
详细参考见 docs/API_REFERENCE.md。
| 端点 | 方法 | 用途 |
|---|---|---|
/api/files |
GET | 获取资产列表 |
/api/enrichment/split |
POST | 话题分割/锚定(legacy API name,对应 F1.5/F2) |
/api/enrichment/extract |
POST | 实体抽取 |
/api/review/save |
POST | 保存复核结果 |
/api/rlhf/submit |
POST | 提交 RLHF 反馈 |
/api/rlhf/export |
GET | 导出 DPO 训练数据 |
src/finer/
├── api/ # FastAPI 路由
│ ├── routes/ # 各模块端点
│ └── server.py # 应用入口
├── enrichment/ # F2 锚定层
├── extraction/ # F3/F5 抽取层
├── ingestion/ # F0 数据接入
├── parsing/ # F1 标准化 + F1.5 主题组装
├── policy/ # F4 策略映射
├── backtest/ # F8 回测引擎
├── timeline/ # F7 时间线引擎
├── schemas/ # Pydantic 模型(唯一真相源)
└── services/ # 外部服务
src/finer_dashboard/ # Next.js 16 Dashboard
# 运行测试
pytest tests/ -v
# 前端构建 / 类型检查
cd src/finer_dashboard && npm run build
cd src/finer_dashboard && npx tsc --noEmit欢迎贡献代码、报告问题或提出建议。
- Fork 本仓库
- 创建特性分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'feat: add amazing feature') - 推送并创建 Pull Request
请确保:代码通过 pytest、遵循 black 格式规范、新功能有对应测试。
本项目采用 MIT License 开源协议。
本项目受以下开源项目启发: Instructor(结构化输出)· Data-Juicer(数据清洗)· Argilla(RLHF 标注)· MinerU(文档解析)
⚠️ 免责声明:Finer OS 是内部研究系统原型。数据与回测结果(含本页截图中的收益数字)均为示例,仅供研究,不构成任何投资建议。


