关于 AxonClawX
学习与开发记录

这是我个人在学习和开发 AxonClawX 开源项目过程中整理的技术笔记。AxonClawX 是一个基于 Electron + React 19 构建的桌面端 AI 编排工具,项目采用 MIT 协议开源。本站用于记录项目的技术架构、功能设计思路以及与同类开源方案的学习对比。

Electron + React 19 TypeScript MIT 开源 个人学习项目

项目源码:github.com/acid1030/AxonClawX,欢迎交流学习

13+
已适配 LLM 供应商
8+
消息渠道对接
9
核心功能模块
MIT
开源协议

为什么做这个项目

在日常学习和使用各种大模型 API 的过程中,我经常需要在不同供应商的控制台之间反复切换,配置分散且不好管理。市面上现有的工具要么只支持单个供应商(如 Claude Desktop、ChatGPT 客户端),要么偏重后端 API 代理而缺少直观的桌面操作界面(如 LiteLLM、OpenRouter)。

于是我开始尝试做 AxonClawX — 一个把多模型对话、智能体管理、定时任务和消息推送整合到一起的桌面工具。技术栈选用 Electron + React 19,数据存储在本地 SQLite,所有配置和会话都不离开本机。这个站点记录了整个开发过程中的学习心得和技术笔记。

目前实现的功能模块

以下是项目中已完成的主要功能模块,每个模块的设计思路和实现细节都记录在了项目文档中。

💬

多模型对话

在同一界面切换不同供应商的模型进行对话,支持流式输出、会话历史、上下文记忆与模型回退链机制。

流式响应会话持久化回退链
🤖

智能体管理

创建和管理多个 Agent,每个 Agent 可独立配置模型、工具集、技能和知识库,支持多智能体协作编排。

Agent 编排任务分解工具配置

定时任务

基于 Cron 表达式的调度系统,可以定期执行 AI 任务,带执行历史和错误追踪能力。

Cron 表达式执行历史错误日志
🔀

可视化工作流

DAG 拖拽式编辑器,可构建多步骤自动化管线,支持手动、定时或事件驱动触发。

DAG 编辑器事件触发模板
📡

渠道对接

已对接 Telegram、Discord、微信、钉钉、飞书、WhatsApp 等 8+ 渠道,AI 处理结果可自动推送。

Telegram微信钉钉飞书
🧩

技能与插件

可搜索的技能市场和插件系统。内置代码执行、Python、终端等核心技能,支持自定义扩展。

技能市场自定义工具版本管理
📚

知识库

FAQ、代码片段与文档的统一管理,上下文感知的知识注入,让 Agent 基于自有知识库回答。

FAQ片段管理检索注入
📊

网关监控

实时网关健康度、事件流监控、活动日志和诊断工具,方便排查问题。

实时监控事件流诊断
⚙️

统一配置

模型、渠道、Agent 默认值、记忆策略等一站式管理,配置变更热生效。

热更新导入导出多环境

技术架构学习记录

项目采用分层架构,UI 层通过 IPC 和 WebSocket 与本地 OpenClaw Gateway 通信,再由网关统一调度不同的模型供应商。

UI 层
🖥️ Electron + React 19 + Tailwind  |  Zustand  |  Radix UI
↕ IPC + WebSocket
网关层
🌐 OpenClaw Gateway  |  JSON-RPC  |  鉴权与作用域  |  负载均衡
↕ REST / SSE / WS
模型层
🧠 OpenAI  |  Anthropic  |  Google  |  DeepSeek  |  Ollama  |  ...
↕ Webhook / Bot API
渠道层
📡 Telegram  |  Discord  |  微信  |  钉钉  |  飞书  |  WhatsApp

状态管理方面,使用 Zustand 管理全局状态(网关连接、会话列表、Agent、任务监控等),相比 Redux 轻量很多,配合 React 19 的并发特性体验不错。

进程间通信方面,渲染进程通过 Electron IPC 向主进程发起请求,主进程再为每次 RPC 调用创建独立的 WebSocket 连接到 Gateway,完成 challenge-connect 握手后执行实际调用。这样做隔离性好但开销稍大,后续考虑改为持久连接池。

数据持久化使用 better-sqlite3,会话、配置、Provider 信息等都存在本地数据库中,不依赖任何远程服务。

已适配的 LLM 供应商

目前已完成适配并通过测试的供应商列表。每个供应商通过统一的 Provider 接口接入,配置 API Key 后即可在对话中使用。

🟢OpenAI
🟠Anthropic
🔵Google Gemini
🌊DeepSeek
🦙Ollama
🌙Moonshot
💎SiliconFlow
🔥ByteDance Ark
☁️MiniMax
🌐Qwen (通义)
🔀OpenRouter
🤖Claude Code
🧪自定义端点

适配过程中发现不同供应商的 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,克隆仓库后安装依赖即可本地运行开发版本。

1

克隆仓库

git clone https://github.com/acid1030/AxonClawX.git

确保已安装 Node.js 18+ 和 npm。

2

安装依赖

执行 npm install,会自动编译 better-sqlite3 native 模块。

3

启动开发模式

运行 npm run electron:dev,设置向导会引导你配置 API Key 和模型。