☰
HoneClaw 架构深度解析:Rust + SolidJS 开源 AI 投研助手是如何搭起来的
2026/10/29 19:32:27 网站建设 项目流程

【免费下载链接】honeclaw

HoneClaw (Hone-Financial) is dedicated to being a professional investment assistant that truly understands you.

项目地址:https://gitcode.com/gh_mirrors/ho/honeclaw
点击查看免费下载

HoneClaw(Hone-Financial)是一个开源的 AI 投研助手,用 Rust 搭建后端运行时、SolidJS 搭建 Web 前端,支持 Web、桌面端、iOS 以及飞书、Telegram 等多通道接入。这篇文章带你快速看懂 HoneClaw 的整体架构:它由哪些模块组成、一条消息从提问到回答要经过哪几层、以及新手该如何阅读它的源码。

一、HoneClaw 是做什么的?

HoneClaw 定位是「真正懂你的专业投资助手」:你用自然语言提问(比如"推理需求增长会怎样影响光模块和存储?"),它会结合产业研究背景、专业金融数据与联网搜索,给出带数据时间、行情口径的研究级回答,还能把公司加入跟踪列表、做定时盯盘与事件推送。

它的开源目标是让你可以自部署、二次开发。完整使用与自部署说明见 docs/wiki.md,模块导航见 docs/repo-map.md。

二、技术栈总览:为什么是 Rust + SolidJS?

整个项目可以概括为「Rust 做运行时,SolidJS 做界面」:

层技术位置
后端运行时 / 各二进制Rust(Tokio 异步、axum HTTP)crates/、bins/
Web 控制台与用户端SolidJS + TypeScript(Bun 工作区)packages/app/
桌面端Tauri(Rust 壳 + Web 前端)bins/hone-desktop/
iOS 客户端原生 SwiftUI + WKWebViewapps/hone-ios/
持久化PostgreSQL(会话、配额、组合、Cron、计费)memory/
边缘加速Cloudflare Workersworkers/

Rust 负责高并发的通道监听、Agent 运行时、LLM 流式协议与数据库访问;SolidJS 负责管理端与用户端的交互界面。两边通过/api/*与 SSE 事件流对接,互不侵入。

三、Rust 后端分层:一次对话要穿过哪几层?

后端按职责拆成多个 crate,依赖方向基本是「上层依赖下层」:

  • hone-core:配置门面、日志、错误类型、时区、进程锁等基础设施(crates/hone-core/src/lib.rs)
  • hone-llm:模型提供方抽象,OpenRouter 与通用 OpenAI 兼容协议,统一流式生命周期(crates/hone-llm/src/provider.rs)
  • hone-tools:工具注册表与内置工具——行情/财务数据、联网搜索、组合、定时任务、Skill 运行时(crates/hone-tools/src/registry.rs)
  • hone-channels:整个「会话运行时」的大脑——入站归一、会话编排、Runner 抽象、出站投递(crates/hone-channels/src/agent_session/mod.rs)
  • hone-scheduler:定时任务与心跳式监控
  • hone-event-engine:事件引擎,轮询价格、新闻、财报等事件并推送(crates/hone-event-engine/src/engine.rs)
  • hone-web-api:Web 服务的路由、鉴权、公共 API(crates/hone-web-api/src/routes/public.rs)
  • memory:PostgreSQL 持久化层,会话、配额、组合、Cron、账单等(memory/src/session.rs)

一条消息的完整旅程大致是:

  1. 通道入口(Web / 飞书 / Telegram / Discord / iMessage / 桌面)接收原始消息;
  2. hone-channels::ingress统一做身份(Actor)识别、去重、会话加锁;
  3. AgentSession::run()编排整轮:配额检查、提示词组装、调用 Runner;
  4. Runner执行 Agent 循环——内置 function-calling Agent 或 Codex / OpenCode 等 ACP 外部运行时(crates/hone-channels/src/runners/),其间按需调用数据、搜索等工具;
  5. response_finalizer做安全清理后,经outbound按各通道能力分片投递;
  6. Web 端则通过 SSE 事件流实时接收run_progress/assistant_delta/run_finished等事件。

提示词方面,投资推理与回答格式的完整契约写在仓库根目录的 soul.md 中,再由 Rust 侧叠加时区、安全与隐私规则,这是它回答「专业」的关键之一。

四、多通道接入:同一套大脑,多个身体

bins/下每个二进制就是一个「身体」:bins/hone-feishu/、bins/hone-telegram/、bins/hone-discord/ 等通道入口都很薄,真正的启动引导、调度、出站渲染都在共享的hone-channels里完成——所以新增一个 IM 通道,成本主要是协议适配。

桌面端 bins/hone-desktop/ 是 Tauri 应用,支持两种后端模式:bundled本地启动内置服务(适合离线自托管),remote直连远端 HTTP(适合只当客户端)。iOS 客户端 apps/hone-ios/ 则是轻量壳,内嵌同一套 Web 用户界面,保持单一功能真相源。

五、前端:SolidJS 控制台与用户端

管理端(Console)与用户端共用一个 SolidJS 工程 packages/app/,但按端口与构建产物分离:管理端提供会话、技能库、任务中心、记忆、LLM 审计等管理面;用户端提供/chat、研究面板、社区动态、持仓跟踪等界面。

聊天页面是整个前端最复杂的部分:它会消费 Runner 的实时流式事件,把思考、工具状态、恢复与错误都收敛在「同一张消息卡片」内,刷新页面也能恢复运行中的对话(packages/app/src/pages/chat.tsx)。

六、Skill 系统:让 AI 按方法论做研究

HoneClaw 把「投研方法论」做成了可插拔的 Skill:每个 Skill 是一个目录,核心是一份 SKILL.md,定义触发条件、工作流与产出契约。仓库内置了 30 多个,例如:

  • skills/stock_research/:个股研究与估值框架
  • skills/earnings-research/:财报前瞻与财报分析
  • skills/company_portrait/:公司画像与长期跟踪
  • skills/chart_visualization/:图表生成(Python 脚本渲染 PNG)
  • skills/hari-invest/:投资决策决策层

模型运行时先看到技能摘要,命中后才会加载完整 SKILL.md,运行时实现见 crates/hone-tools/src/skill_runtime.rs。这种「提示词即插件」的设计,是普通用户理解 HoneClaw 能力边界的最佳入口。

七、新手上手路径

如果你想本地跑起来或读源码,建议按这个顺序:

  1. 阅读 docs/repo-map.md 与 docs/invariants.md,建立模块地图与关键约束;
  2. 参考 config.example.yaml 准备配置(模型密钥、数据源、通道开关);
  3. 克隆仓库体验(自部署需要自备模型与数据服务配置):
git clone https://gitcode.com/gh_mirrors/ho/honeclaw
  1. 从入口文件开始读:CLI 是 bins/hone-cli/src/main.rs,Web 后端是 bins/hone-console-page/src/main.rs,前端是 packages/app/src/app.tsx;
  2. 安装 CLI 可参考 scripts/install_hone_cli.sh,部署手册在 docs/runbooks/ 目录下。

写在最后

HoneClaw 的架构思路可以浓缩成三句话:Rust crate 按职责分层,通道只是薄壳;一次会话由 AgentSession 统一编排,Runner 与工具可插拔;方法论以 Skill 形式沉淀,前端 SolidJS 只做体验。理解这三点,你就能顺着 docs/repo-map.md 把整个代码库读通。项目采用 MIT 协议,欢迎在源码基础上构建属于你的投研工作流。

【免费下载链接】honeclaw

HoneClaw (Hone-Financial) is dedicated to being a professional investment assistant that truly understands you.

项目地址:https://gitcode.com/gh_mirrors/ho/honeclaw
点击查看免费下载
上一篇:ATLauncher终极指南:如何快速安装和管理Minecraft模组包
下一篇:JOAL高级使用技巧:10个配置优化提升PT站点做种效率与积分获取

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询