这是我个人在学习和开发 AxonClawX 开源项目过程中整理的技术笔记。AxonClawX 是一个基于 Electron + React 19 构建的桌面端 AI 编排工具,项目采用 MIT 协议开源。本站用于记录项目的技术架构、功能设计思路以及与同类开源方案的学习对比。
项目源码:github.com/acid1030/AxonClawX,欢迎交流学习
在日常学习和使用各种大模型 API 的过程中,我经常需要在不同供应商的控制台之间反复切换,配置分散且不好管理。市面上现有的工具要么只支持单个供应商(如 Claude Desktop、ChatGPT 客户端),要么偏重后端 API 代理而缺少直观的桌面操作界面(如 LiteLLM、OpenRouter)。
于是我开始尝试做 AxonClawX — 一个把多模型对话、智能体管理、定时任务和消息推送整合到一起的桌面工具。技术栈选用 Electron + React 19,数据存储在本地 SQLite,所有配置和会话都不离开本机。这个站点记录了整个开发过程中的学习心得和技术笔记。
以下是项目中已完成的主要功能模块,每个模块的设计思路和实现细节都记录在了项目文档中。
在同一界面切换不同供应商的模型进行对话,支持流式输出、会话历史、上下文记忆与模型回退链机制。
创建和管理多个 Agent,每个 Agent 可独立配置模型、工具集、技能和知识库,支持多智能体协作编排。
基于 Cron 表达式的调度系统,可以定期执行 AI 任务,带执行历史和错误追踪能力。
DAG 拖拽式编辑器,可构建多步骤自动化管线,支持手动、定时或事件驱动触发。
已对接 Telegram、Discord、微信、钉钉、飞书、WhatsApp 等 8+ 渠道,AI 处理结果可自动推送。
可搜索的技能市场和插件系统。内置代码执行、Python、终端等核心技能,支持自定义扩展。
FAQ、代码片段与文档的统一管理,上下文感知的知识注入,让 Agent 基于自有知识库回答。
实时网关健康度、事件流监控、活动日志和诊断工具,方便排查问题。
模型、渠道、Agent 默认值、记忆策略等一站式管理,配置变更热生效。
项目采用分层架构,UI 层通过 IPC 和 WebSocket 与本地 OpenClaw Gateway 通信,再由网关统一调度不同的模型供应商。
状态管理方面,使用 Zustand 管理全局状态(网关连接、会话列表、Agent、任务监控等),相比 Redux 轻量很多,配合 React 19 的并发特性体验不错。
进程间通信方面,渲染进程通过 Electron IPC 向主进程发起请求,主进程再为每次 RPC 调用创建独立的 WebSocket 连接到 Gateway,完成 challenge-connect 握手后执行实际调用。这样做隔离性好但开销稍大,后续考虑改为持久连接池。
数据持久化使用 better-sqlite3,会话、配置、Provider 信息等都存在本地数据库中,不依赖任何远程服务。
目前已完成适配并通过测试的供应商列表。每个供应商通过统一的 Provider 接口接入,配置 API Key 后即可在对话中使用。
适配过程中发现不同供应商的 API 协议差异不小。OpenAI 兼容协议最通用,Anthropic 的 Messages API 需要单独适配,Google 的 Generative AI 接口又是另一套格式。Gateway 层做了统一抽象,新增供应商只需实现 Provider 接口即可。
在开发过程中,我学习和研究了多个相关的开源项目和商业产品,以下是功能维度的对比记录,供自己和感兴趣的朋友参考。
| 功能维度 | AxonClawX | Claude Desktop | ChatGPT 客户端 | Cursor | LiteLLM | OpenRouter |
|---|---|---|---|---|---|---|
| 💬 对话与模型 | ||||||
| 多供应商支持 | ✅ 13+ | 仅 Claude | 仅 GPT | 多模型 | ✅ 100+ | ✅ 300+ |
| 桌面原生应用 | ✅ | ✅ | ✅ | ✅ | ❌ 仅 API | ❌ 仅 API |
| 模型回退链 | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| 本地模型支持 | ✅ Ollama | ❌ | ❌ | ✅ | ✅ | ❌ |
| 🤖 智能体与自动化 | ||||||
| 多智能体协作 | ✅ | Routines | ❌ | Agent 模式 | ❌ | ❌ |
| 可视化工作流 | ✅ DAG | ❌ | ❌ | ❌ | ❌ | ❌ |
| 定时任务 | ✅ | Routines | ❌ | ❌ | ❌ | ❌ |
| 知识库 | ✅ | Projects | GPTs | 代码索引 | ❌ | ❌ |
| 📡 集成 | ||||||
| 消息渠道推送 | ✅ 8+ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 技能 / 插件 | ✅ | MCP | GPT Store | 扩展 | ❌ | ❌ |
| 国内供应商适配 | ✅ 6+ | ❌ | ❌ | ❌ | ✅ | 部分 |
| ⚙️ 运维 | ||||||
| 监控仪表盘 | ✅ | ❌ | ❌ | ❌ | ✅ | 基础 |
| 离线部署 | ✅ | ❌ | ❌ | 部分 | ✅ | ❌ |
| 开源协议 | MIT | 闭源 | 闭源 | 闭源 | 社区版 | 闭源 |
学习心得:Claude Desktop 和 ChatGPT 客户端在单模型体验上非常优秀,交互打磨细致;Cursor 在代码场景做到了极致的上下文感知;LiteLLM 在 API 代理和成本管控上经验丰富。AxonClawX 的思路是在桌面端把多模型、Agent 编排和渠道推送打通,定位不同于上述任何单一产品,更像是把 AI 聊天客户端和 API 网关的能力合在了一起。
项目基于 Node.js + Electron,克隆仓库后安装依赖即可本地运行开发版本。
git clone https://github.com/acid1030/AxonClawX.git
确保已安装 Node.js 18+ 和 npm。
执行 npm install,会自动编译 better-sqlite3 native 模块。
运行 npm run electron:dev,设置向导会引导你配置 API Key 和模型。