2026 年最值得关注的两个开源项目:从金融终端到 AI Agent 框架的架构启示
摘要 2026年值得关注的两个开源项目展现了突破性架构思维:Fincept Terminal采用C++20+Qt6+嵌入式Python构建金融终端,通过原生技术栈实现毫秒级行情渲染,同时利用Python生态进行高效金融计算;pi项目则重新定义Coding Agent,通过模块化设计和五种扩展机制实现"核心精简、能力可扩展"。二者共同特点是打破技术惯性,从问题本质出发进行技术选型。Fincept T
前言
2026 年上半年,GitHub 上有两个项目值得技术人关注——一个用 C++20 重写了金融终端的底层架构,一个用模块化设计重新定义了 Coding Agent 的边界。
它们解决的问题完全不同,但在架构设计哲学上有一个共同点:拒绝技术栈的惯性选择,回到问题本质重新选型。
本文不做功能罗列,而是从架构决策、技术选型逻辑、工程实践三个维度深度拆解这两个项目。
一、Fincept Terminal:为什么金融终端不应该用 Electron?
1.1 问题背景
Bloomberg Terminal 标准单席位年费约 $31,980(据钛媒体等多家权威媒体 2025-2026 年报道),几乎垄断了全球专业金融数据终端市场。开源社区一直在寻找替代方案,但大多数项目选择了 Web 技术栈(React + Node.js),性能和体验与原生应用有明显差距。
Fincept Terminal 走了一条完全不同的路:纯原生 C++20 + Qt6 + 嵌入式 Python。
1.2 架构拆解
┌──────────────────────────────────────────────┐
│ Qt6 UI Layer (C++20) │
│ ┌───────────┐ ┌───────────┐ ┌────────────┐ │
│ │ Charts │ │ Tables │ │ Node │ │
│ │ Engine │ │ Renderer │ │ Editor │ │
│ └───────────┘ └───────────┘ └────────────┘ │
├──────────────────────────────────────────────┤
│ Embedded Python 3.11 Runtime │
│ ┌───────────┐ ┌───────────┐ ┌────────────┐ │
│ │ QuantLib │ │ AI Agents │ │ Data │ │
│ │ (18 模块) │ │ (37 个) │ │ Connectors │ │
│ └───────────┘ └───────────┘ └────────────┘ │
├──────────────────────────────────────────────┤
│ Native WebSocket / REST Layer │
│ ┌───────────┐ ┌───────────┐ ┌────────────┐ │
│ │ Kraken │ │ Yahoo │ │ FRED │ │
│ │ HyperLiq │ │ Finance │ │ IMF/World │ │
│ └───────────┘ └───────────┘ └────────────┘ │
└──────────────────────────────────────────────┘
1.3 关键架构决策及其背后的逻辑
决策一:C++20 而非 JavaScript/TypeScript
金融终端的核心挑战是实时数据流的低延迟渲染。WebSocket 推送的行情数据需要毫秒级更新 K 线图和深度图。
- Electron 的渲染路径:Node.js → IPC → Chromium → GPU,每帧至少多 2-3 层抽象
- C++20 + Qt6 的渲染路径:原生事件循环 → Qt Quick/Widgets → GPU,直接调用系统图形栈
这不是"快一点"的问题,而是在高频数据场景下能否稳定 60fps 的问题。
决策二:嵌入式 Python 而非纯 C++
金融计算(DCF 模型、VaR、期权定价)用 Python 生态(NumPy、SciPy、QuantLib-Python)远比从零写 C++ 高效。但 Python 的 GIL 和启动时间是硬伤。
Fincept Terminal 的解法:在独立 Python 进程中执行计算,通过 IPC 与 C++ 主进程通信。
// 伪代码示意
auto result = pythonRuntime->exec(
"from quantlib.pricing import black_scholes\n"
"result = black_scholes(S=100, K=105, T=0.5, r=0.05, sigma=0.2)\n"
);
好处:
- 金融计算不阻塞 UI 线程
- Python 崩溃不影响主进程稳定性
- 可以热更新 Python 脚本,无需重新编译 C++ 代码
决策三:单二进制分发
用户下载一个文件就能运行,不需要安装 Python、配置虚拟环境、处理依赖冲突。这对金融从业者(非程序员群体)至关重要。
实现方式:将 Python 解释器和所有依赖打包进最终二进制,运行时解压到临时目录。
1.4 功能矩阵
| 模块 | 具体能力 |
|---|---|
| 多资产分析 | DCF 模型、组合优化、风险指标(VaR、Sharpe)、衍生品定价 |
| AI Agent | 37 个投资分析 Agent(Buffett、Graham、Lynch、Marks 等框架) |
| 数据源 | 100+ 连接器(Yahoo Finance、FRED、IMF、AkShare 等) |
| 实时交易 | 16 家券商直连(IBKR、Alpaca、Zerodha、Saxo 等) |
| 量化分析 | QuantLib 18 模块(定价、风险、随机过程、波动率、固收) |
| 另类数据 | Adanos 市场情绪(Reddit/X/Polymarket 舆情分析) |
1.5 编译环境要求
CMake: 3.27.7
Qt: 6.8.3(精确版本绑定)
Python: 3.11.9
编译器: GCC 12.3 / MSVC 19.38 / Apple Clang 15.0
⚠️ Qt 版本必须精确匹配 6.8.3,不兼容 6.5/6.6/6.8 其他小版本。本地测试可通过
-DFINCEPT_ALLOW_QT_DRIFT=ON绕过,但正式构建不允许。
1.6 许可证
双授权模式:AGPL-3.0(开源)+ 商业授权。
- ✅ 免费:个人学习、学术研究、开源贡献
- ❌ 需商业授权:任何商业用途、SaaS、白标、内部使用
- ⚠️ 未授权商业使用罚金起步 $50,000/组织/年(README 原文:“liquidated damages starting at USD 50,000 per organization per year”)
这不是"伪开源"——AGPL-3.0 本身允许自由使用,但商业场景需要额外授权,这是 FinTech 开源项目的常见商业模式。
二、pi:为什么 Coding Agent 需要"自我扩展"?
2.1 问题背景
2025-2026 年,AI 编程工具爆发:Cursor、Windsurf、Claude Code、Codex CLI……但它们的核心逻辑几乎一样——你写 prompt,AI 写代码,你 review,循环往复。
Agent 的能力边界是固定的:读文件、写代码、跑命令。遇到它没有工具覆盖的任务,就只能手动操作。
pi 的设计哲学不同。它的 repo description 直接写了:“self extensible coding agent”。
2.2 架构拆解
pi 采用模块化四层架构,每个包独立发布到 npm:
@earendil-works/pi-coding-agent ← 交互式 Coding Agent CLI
@earendil-works/pi-agent-core ← Agent 运行时(工具调用 + 状态管理)
@earendil-works/pi-ai ← 统一多 Provider LLM API
@earendil-works/pi-tui ← 终端 UI 库(差分渲染)
各层职责:
| 包名 | 职责 | 关键特性 |
|---|---|---|
pi-ai |
LLM 调用抽象层 | 统一 OpenAI、Anthropic、Google 等 Provider API |
pi-agent-core |
Agent 运行时 | 工具调度、状态管理、扩展机制 |
pi-coding-agent |
用户交互层 | 终端 CLI、会话管理、上下文压缩 |
pi-tui |
终端渲染 | 差分渲染,避免全屏刷新 |
2.3 核心差异:自我扩展机制
官方文档的描述是:
“Pi is a minimal terminal coding harness. It is designed to stay small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and pi packages.”
关键词:stay small at the core。pi 的核心故意做得很小,能力通过扩展机制动态增长。
扩展方式有五种:
- TypeScript Extensions:自定义工具、命令、事件处理
- Skills:按需加载的能力模块
- Prompt Templates:可复用的 prompt 模板,通过斜杠命令触发
- Themes:终端主题定制
- Pi Packages:打包分发扩展、技能、模板和主题
这意味着什么?当 Agent 遇到它没有内置工具支持的任务时,它可以通过扩展机制创建新的能力,而不是说"我做不到"。
2.4 依赖安全策略:值得所有开源项目学习
在 xz-utils 后门事件之后,供应链安全不再是可选项。pi 在这方面做了系统性防护:
安全措施清单:
├── npm install --ignore-scripts ← 禁止安装时执行生命周期脚本
├── save-exact=true ← 所有依赖精确版本锁定
├── min-release-age=2 ← 拒绝发布 2 天内的依赖版本
├── package-lock.json 为真相源 ← Pre-commit hook 阻止意外修改
├── npm audit 定时扫描 ← GitHub Actions 定期执行
├── Shrinkwrap 生命周期脚本白名单 ← 新增脚本依赖需人工审核
└── 发布前独立环境冒烟测试 ← npm run release:local
min-release-age=2 这条特别值得注意——如果某个依赖被投毒后立即发布恶意版本,pi 不会在 2 天内引入,给了社区发现和报告的时间窗口。
2.5 数据共享倡议
pi 做了一件在 Coding Agent 领域很少见的事:鼓励用户公开分享编程会话数据。
通过 pi-share-hf 工具,用户可以一键将会话上传到 Hugging Face 数据集。项目维护者(GitHub: badlogic)自己就公开了大量 pi-mono 项目的工作会话(badlogicgames/pi-mono)。
为什么这很重要?
当前 Coding Agent 改进依赖:
├── 厂商内部测试(场景有限)
├── Benchmark(脱离真实场景)
└── 用户反馈(碎片化)
pi 的做法:
├── 公开真实编程会话(含完整工具调用链)
├── 包含错误、重试、修复的完整过程
├── 上传到 Hugging Face 开放数据集
└── 所有人可用,推动领域整体进步
这不是 KPI 驱动的"开源做秀",而是真正有工程价值的数据共享。
2.6 快速上手
# 安装
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# 或者用官方安装脚本
curl -fsSL https://pi.dev/install.sh | sh
# 进入项目目录运行
pi
# 首次使用需要认证
# /login 订阅制 Provider,或设置环境变量
export ANTHROPIC_API_KEY=your_key
pi
三、架构对比:两个项目的共同启示
| 维度 | Fincept Terminal | pi |
|---|---|---|
| 语言 | C++20 + Python | TypeScript |
| 架构模式 | 分层(UI / 计算 / 数据) | 模块化四包 |
| 核心理念 | 原生性能 + 生态兼容 | 小核心 + 可扩展 |
| 分发方式 | 单二进制 | npm 包 |
| 安全策略 | Python 进程隔离 | 依赖供应链防护 |
| 许可证 | AGPL-3.0 + 商业双授权 | MIT |
共同启示:
-
技术选型回归问题本质:Fincept 没有跟风用 Electron,pi 没有做单体大应用。两者都选择了最适合问题域的技术方案,而非最流行的。
-
模块化是长期维护的关键:Fincept 的 C++/Python 分离让金融计算可以独立迭代;pi 的四包架构让每个组件可以独立升级。
-
安全意识前置:Fincept 用进程隔离保护主进程;pi 用严格的依赖策略防止供应链攻击。两者都在架构层面解决了安全问题,而非事后补丁。
四、如何选择?
选 Fincept Terminal 如果你:
- 需要本地部署的金融分析环境
- 关心数据隐私(本地 LLM 支持)
- 量化研究员 / 金融科技开发者
- 想学习 C++20 + Qt6 桌面应用架构
选 pi 如果你:
- 想深入理解 Agent 架构设计
- 需要多模型对比(统一 API 层)
- 关注开源供应链安全实践
- 对 AI 辅助编程有更高期望(能力可扩展)
五、项目地址
| 项目 | 地址 |
|---|---|
| Fincept Terminal | https://github.com/Fincept-Corporation/FinceptTerminal |
| pi | https://github.com/earendil-works/pi |
| pi 官网 | https://pi.dev |
| pi 文档 | https://pi.dev/docs/latest |
| pi 会话数据集 | https://huggingface.co/datasets/badlogicgames/pi-mono |
结语
这两个项目代表了 2026 年开源项目的两种典型路径:
- Fincept Terminal:在传统领域(金融终端)用正确的技术选型(C++20)挑战行业垄断者
- pi:在新兴领域(AI Agent)用架构创新(自我扩展)建立差异化
它们的共同点是:不跟风,回到问题本身,用工程思维做技术决策。
这比任何具体的代码技巧都值得学习。
FinceptTerminal 深度拆解:23k Star 的开源金融终端,到底做对了什么?
微软官方出手!dotnet/skills 项目深度解读:.NET 开发者终于有了自己的 AI 技能库
Google 官方出手了!Chrome DevTools MCP 让 AI Agent 直接操控浏览器,前端调试迎来范式革命
更多推荐


所有评论(0)