把「技能、用量、额度、记忆」四件事收进一个 Windows 桌面应用。
AgentHub 是本地运行的中控台(Electron + Vue 3 + TypeScript),自身不带模型,只把你散在各家 AI 编程工具里的东西管起来:Skill 重复安装、这个月 token 花在哪儿、订阅额度能不能给别的客户端用、Agent 记不住项目。这四件事对应下面四个板块。
它有两个形态:Windows 桌面版(四个板块全功能,见 Windows 版下载与安装)和 Docker 版(只含反代网关,适合放到服务器上常驻,见 Docker 版下载与安装)。
| 板块 | 一句话 | 适合谁 |
|---|---|---|
| 技能仓库 | 各工具的 Skill 收进一个中央库,一处维护、一键挂回 | 同时用 Codex / Claude Code / ZCode / Cursor 等多个工具的人 |
| 用量统计 | 汇总 21 个数据源的 token 用量与费用,按天 / 项目 / 模型看趋势 | 想知道这个月到底烧了多少的人 |
| 反代网关 | 把本机已登录的订阅额度包成标准 API,任何客户端都能调 | 手里有订阅额度(Trae / WorkBuddy / 小浣熊 / 魔搭 / ZCode / Qoder / Cline 等 14 个渠道)、想让别的软件也用上的人 |
| 记忆中枢 | 本地 Markdown 记忆库 + MCP 服务,让 Agent 记住项目和偏好 | 不想每次开新会话都重新交代背景的人 |
- QQ 群:
110336924(QQ 里搜群号即可加入)——使用答疑与问题反馈都在这里 - 赞赏:项目完全免费、开源,如果它帮你省下了 Token,欢迎扫码请作者喝瓶快乐水
- 商务合作:赞助、README 产品露出、定制开发(ERP、可视化大屏、微信小程序等),加群联系作者
完整说明见 SPONSOR.md。
- 打开 Releases 页面
- 下载
AgentHub-Setup-x.y.z.exe - 双击安装。安装过程中可以改安装目录,装完会在桌面和开始菜单创建「AgentHub」快捷方式
- 启动后程序常驻系统托盘,关窗口不会退出;托盘图标双击可唤回窗口,右键菜单里能暂停同步、看今日用量
- Windows 10 / 11(x64)
- 不需要预装 Node、浏览器等任何依赖,运行时已打包在内
- 部分能读到数据的工具需要本机登录过对应客户端(如用量统计要读 Codex、Trae 的本地库)
- 所有配置与数据都存在
%APPDATA%\AgentHub,卸载程序不会删除它 - 自动更新:默认每小时检查一次 GitHub Releases,检测到新版本会在侧栏设置齿轮和「设置 · 通用」的更新按钮上冒红点;自动检查可在「设置 · 通用」关闭
- 左下角「设置」= 全局项(通用 / WebDAV 同步 / 同步时间 / 数据与备份);每个板块右上角还有一个「配置」按钮,管的是这个板块自己的设置
Docker 版只含反代网关(没有桌面端的技能 / 用量 / 记忆三个板块),适合把网关丢到服务器上常驻。渠道代码与桌面版同一套,账号通过 WebDAV/S3 号池同步互通;镜像自带 Web 控制台,浏览器打开服务器地址就能管号池、Key 和渠道。
前提:Docker 20.10+ 与 Compose v2,Linux 服务器 1 核 512MB 起。
git clone https://github.com/0xbbdd/AgentHub.git && cd AgentHub
# 凭据加密密钥,务必留存好:丢了以后已加密的凭据不可恢复
export AGENTHUB_SECRET_KEY=$(openssl rand -base64 32)
# 容器内以 uid 1000 运行,宿主数据目录属主要对齐
mkdir -p gateway-data && sudo chown 1000:1000 gateway-data
docker compose -f gateway/docker-compose.yml up -d --build起来后自检:
curl -s http://127.0.0.1:9528/api/livez # {"ok":true},进程活着
curl -s http://127.0.0.1:9528/api/readyz # 503 = 池里还没账号,正常- 浏览器打开
http://<服务器>:9528/即 Web 控制台(需先设AGENTHUB_ADMIN_TOKEN,登录时输入的就是它) - 客户端连
http://<服务器>:9527/v1,Key 在控制台里建,也可以用管理 API(POST /api/keys) - 管理 API 与 Web 控制台默认只绑宿主
127.0.0.1:9528;设了AGENTHUB_ADMIN_TOKEN才能从外部访问 - 账号来源:桌面版配好 WebDAV 后同步过去(推荐),或
POST /api/accounts/import导入 JSON - 容器里没有桌面客户端,本机软件导入、切到 IDE、Qoder 双区这些依赖 Windows 客户端的能力用不了
- 别把桌面版的数据目录挂给容器:那边凭据是 DPAPI 密文,Linux 侧解不开
端口、备份、密钥轮换、WebDAV 与容器同机部署、排障等完整说明见 gateway/README.md。
同一个 Skill 你在 Codex、Claude Code、ZCode、Cursor 里各装了一份,改一处忘三处。技能仓库把所有工具的 Skill 目录收进一个中央仓库,再挂载回各工具:以后只在中央库维护,一处更新,处处生效。
| 页面 | 作用 |
|---|---|
| 仪表盘 | 中央库与各工具连接状态总览:收了多少技能、挂载是否健康、有没有孤儿目录 |
| 中央技能库 | 技能列表与详情,逐条查看/收纳/挂载,挂载失效时可一键修复 |
| 去重与冲突 | 同一技能在不同工具里内容不一致时列出差异,人工裁决保留哪份;工具目录里的链接指向别处时,决定链接该指向谁 |
| 同步中心 | 扫描预览 → 确认执行 → 查看报告,一次把「收什么、挂什么、有什么要裁决」讲清楚 |
| WebDAV 同步 | 中央仓库跨设备同步(服务器地址在「设置 · WebDAV 同步」里配) |
- 打开「技能仓库 · 仪表盘」,确认工具列表里检测到了你的工具(ZCode / Codex / Claude Code / Antigravity / 通用
~/.agents为内置,其他工具会按本机目录自动建议添加) - 进入「同步中心」,先点扫描看看这次会收哪些技能、往哪些工具挂——预览不写任何文件,看清楚再执行
- 点执行。技能会以软链接(junction)的方式从中央仓库挂回各工具,几乎不占额外空间
- 日常在某处新增/修改了技能,回「同步中心」再跑一次即可;出现冲突会进入「去重与冲突」页面等你裁决
- 多台电脑:在「设置 · WebDAV 同步」填好服务器,然后在「WebDAV 同步」页跑一次,中央仓库就同步过去了
用量散在各家工具自己的本地库里,没人告诉你这个月一共花了多少。用量统计直接读本机客户端的数据文件,把 21 个数据源归一到同一套口径,做汇总、趋势、费用和跨设备对比。
ZCode、商汤小浣熊、Xiaomi MiMo、Codex、DeepSeek Harness、WorkBuddy、WorkBuddy AI、Reasonix、CodeBuddy、Qoder、Qoder CN、Antigravity、Antigravity IDE、Antigravity 老数据恢复、Trae、Trae CN、TRAE SOLO、TRAE SOLO CN、OpenSquilla、Grok、AutoClaw。
在「配置 · 用量统计」里可以逐个开关、指定自定义数据目录——没装过的源自动跳过,不会报错。
| 页面 | 作用 |
|---|---|
| 总览 | 核心指标卡 + 全年热力图 + 用量趋势(当天可按小时看)+ 各电脑用量构成 |
| 用量明细 | 按来源/模型/项目筛选,逐条记录,可分页、可导出 CSV |
| 费用 | 按模型价格折算费用;需要先在「计费规则」里配好价格 |
| 计费规则 | 模型价格表、远程价格源、模型别名归并(变体模型名按目标价格计费) |
| 同步日志 | 每次同步的时间、窗口、条数、结果,出问题先看这里 |
- 本机统计:每 30 分钟自动入库一次(固定,不设开关)
- 跨设备同步:在「设置 · 同步时间」里配置,支持「每小时」或「每天定时」两种自动节奏,也可以随时手动触发
- 没有配置 WebDAV 也能正常用:会自动进入本地模式,只统计本机数据
这是本项目最核心的板块:把本机已经登录的订阅额度包成标准 API,任何支持「自定义接口」的客户端都能直接调用。
入站三条协议面,同一个地址、同一把 Key,按客户端讲的协议自动分流:
端点 协议 谁会用 POST /v1/chat/completionsOpenAI Chat Completions Cherry Studio / ChatBox / NextChat / Cline / Roo Code 等「OpenAI 兼容」客户端 POST /v1/messages(另有POST /v1/messages/count_tokens)Anthropic Messages Claude Code / Anthropic SDK POST /v1/responsesOpenAI Responses Codex CLI 三条面共用同一套调度:鉴权、模型别名、模型禁用、回退链、号池换号、冷却决策与记账完全一致,区别只在「怎么读网关 Key」和「写成什么字节」。所以 Claude Code 与 Codex 可以直接把网关地址填进去,用到全部渠道,不必再经 CC Switch 做协议翻译。
| 渠道 | 对应订阅 | 登录形态 | 签到 |
|---|---|---|---|
| Trae SOLO CN | Trae SOLO 国内版 | 官方授权页 + 本机回环回调 | 每日签到 |
| WorkBuddy CN | WorkBuddy 国内版 | 官方登录页 + 本机轮询 | 每日签到 |
| WorkBuddy AI | WorkBuddy 国际版 | 官方登录页 + 本机轮询 | 一次性加油包 |
| 商汤小浣熊 | 商汤小浣熊 | 应用内授权窗截获(不经过系统浏览器) | 每日签到 |
| ModelScope(魔搭) | 魔搭免费推理额度(魔粒) | OAuth 授权页(应用自动注册)+ 粘贴 ms- 令牌兜底(无需安装客户端) | 每日任务(登录 / 绑云 / 点赞领魔粒) |
| LobsterAI(有道) | 网易有道龙虾 | 官方登录页 + 本机回环回调(无需安装客户端) | 每日签到 100 积分 |
| ZCode(智谱) | Z.ai GLM 编码套餐 | Z.ai 授权页 + 本机轮询 | 领取奖励 |
| CatPaw(美团) | CatPaw 桌面端会话额度 | 从本机 CatPaw 客户端登录态导入(实时读取,无需重新登录) | 无签到活动 |
| Qoder CN | Qoder 国内版 | 官方登录页设备码轮询(无需本机客户端)/ 从本机软件导入 | 每日领 Credits |
| Qoder International | Qoder 国际版 | 同上 | 每日领 Credits |
| AutoClaw 国内版 | 智谱 AutoGLM 加速站 | 手机验证码登录 / 从本机 AutoClaw 客户端导入 | 每日签到领积分 |
| AutoClaw 国际版 | AutoGLM 国际站 | OAuth 授权登录(含风控验证)/ 从本机导入 | 每日签到领积分 |
| Cline Free | Cline 免费额度池 | WorkOS 设备授权(浏览器确认,无需安装客户端)/ 从本机 Cline 客户端导入 / 粘贴凭据 | 无签到活动 |
| Cline Pass | ClinePass 订阅池 | 同上(同一份 Cline 登录态可在两个渠道各导入一次) | 无签到活动 |
各渠道的号池、签到、策略完全独立,互不影响:在号池页顶部切换渠道,下方整块区域只显示当前渠道的账号。
Cline 双渠道(Free / Pass)说明
- Cline 是标准 OpenAI 兼容上游(
api.cline.bot),无签名、无桌面端依赖:设备授权登录在浏览器里点一次确认即可,凭据自动续期(access token 每小时轮换)。- Free 与 Pass 是两个独立渠道,不是「一个渠道的两种模式」:两个池的账号、模型清单、启停、映射互不影响。免费池有每日免费额度(余额单位 Credits,欠费时显示负值);订阅池只对开通了 ClinePass 的账号开放模型。
- 模型 id 带池前缀(如
cline-free/deepseek-v4.1-flash),那是上游的计费通道选择器,网关按原样转发;客户端用不带前缀的短名(deepseek-v4.1-flash)请求时会自动补上本渠道的池前缀。请求模型无权限时上游返回 403(未订阅该模型/仅官方产品面可用),网关如实透传不重试、不冷却账号——换一个模型或换一个渠道试试即可。
Qoder 渠道的两点特别说明
- 推理依赖本机安装的 Qoder 客户端:该渠道每个请求的签名头与请求体编码都由客户端内置的 wasm 实时生成(无法手工构造)。AgentHub 会在首次调用时从已安装客户端中提取这部分能力并按版本缓存(客户端升级自动重建,无需重装 AgentHub)。因此只导入凭据、没装对应客户端时,账号可入池但无法发起请求——建议保持客户端处于安装状态,安装目录放在默认位置或客户端自带启动器的默认路径均可(自定义安装路径也能自动识别)。
- 每日 Credits:号池页的按钮是「领 Credits」(每天 100,10:00 UTC+8 刷新,领取后 30 天有效,重复点击按"今日已领"处理);领取接口要求客户端自带的风控身份,故同样需要本机安装客户端。国际版免费额度不含 DeepSeek / GLM Flash 系列,需订阅覆盖才有可用模型。
| 页面 | 作用 |
|---|---|
| 总览 | 服务开关、接入地址、今日指标、渠道一览、实时请求流(每一步都有问号说明) |
| 号池 | 按渠道管理账号:状态、余额、套餐到期、策略、添加账号、一键签到、切到 IDE |
| API Keys | 生成/停用 Key,配置日配额与限速;完整 Key 随时可查看复制 |
| 模型目录 | 全渠道模型合并视图,逐模型启停、指定渠道、设置倍率与别名;各渠道官方目录可一键从云端拉取 |
| 用量统计 | 网关自身的请求流水:时间区间可选(今天 / 7 天 / 30 天 / 90 天 / 自定义)、KPI 与趋势(请求数 / Token / 成功率 / 延迟多指标切换,悬停看精确数值)、Token 构成与请求状态环形图、用量占比 TOP(渠道 / 模型 / Key / 账号 × 按请求 / 按 Token,含请求与响应 token 分列)、各 Key 用量、明细(Key / 模型模糊搜索 + 渠道 / 状态筛选);流水保留期可配(默认 90 天) |
| 号池同步 | 多台电脑共享号池:账号与凭据打包经 WebDAV 同步,可选只同步某一个渠道 |
| 生态接入 | 一键把网关注册进 CC Switch,给 Claude Code / Codex / Claude Desktop 用(这三家也能直接填网关地址,见上方三条入站协议面) |
在电脑上装好并用你自己的账号登录至少一个上游客户端(Trae SOLO CN / WorkBuddy / 商汤小浣熊 / ZCode / Qoder 任一)。如果你已经在本机登录过,第 2 步可以直接「从本机软件导入」,连登录都不用重新做——Qoder 的登录凭据存在加密信封里,AgentHub 也能直接读取(需与客户端同一 Windows 用户)。
打开「反代网关 · 总览」,点右上角的启动服务,状态变成 RUNNING 即为就绪。默认监听:
http://127.0.0.1:9527/v1
这个地址只会先给本机用。端口、绑定地址(想让局域网其他设备访问就把 127.0.0.1 改成 0.0.0.0)都在「配置 · 反代网关」里改,改完需要重启服务。
进入「反代网关 · 号池」,先在顶部选中渠道,再点添加账号。每个渠道都支持四种添加方式,挑一种就行:
- OAuth 登录(最推荐)——跳转官方授权页登录,登录完成后自动入池,全程不用手工填任何 token:
- Trae SOLO CN:授权后会回调本机回环地址;万一浏览器停在回调页没自动跳回,把地址栏内容整段粘到输入框兜底
- WorkBuddy 两个版本:登录完本机自动轮询结果,无需任何粘贴
- 商汤小浣熊:授权窗在 AgentHub 应用内弹出,授权码由应用直接截获;被拦截时可粘贴
office-raccoon://auth/callback?code=…兜底 - ZCode:跳 Z.ai 授权页,登录后自动入池;随后后台会用几十秒初始化套餐并解析编码套餐 API Key
- Qoder 两个版本:跳官方登录页(qoder.cn / qoder.com)完成登录,本机每秒轮询直接取回设备凭据对,无需本机安装客户端、也不用粘贴回调
- LobsterAI(有道龙虾):跳官方登录页(lobsterai.youdao.com)登录,回调本机回环地址自动入池,无需安装客户端;浏览器没跳回时把地址栏内容整段粘回兜底(3 分钟超时后也仍认这段回调)
- Cline 双渠道:跳 WorkOS 设备授权页(已带用户码,点一次确认即可)完成登录,本机自动轮询入池,无需安装客户端、不占用本地回调端口
- 每次登录对应一个账号,想加几个号就重复几次
- 从本机软件导入 —— 直接扫描本机已登录客户端的凭据,零请求入池,最省事(Qoder 走的也是这条:从客户端登录态里读出设备令牌)
- 从 JSON / ZIP 文件 —— 批量导入别人给你的账号文件
- 粘贴 JSON —— 手动粘贴单条或一组凭据
账号加进来后,号池列表里能看到它的余额、套餐到期时间和状态(online / cooling / exhausted / relogin / disabled)。想主动养护账号,点该渠道的一键签到(或领加油包,Qoder 是「领 Credits」);也可以打开定时自动签到,每天到点自动跑全渠道。
进入「API Keys」页,点生成:
- 名称:随便起,方便自己认,比如
cherry-studio - 路由:默认
auto会按号池策略自动挑渠道;也可以锁死只走某一个渠道 - 日配额 / 限速:不填即不限;按需设置可以防止某个客户端把额度跑光
生成的 Key 会立刻弹出来给你复制;之后也能在列表里随时「查看 / 复制」完整 Key(经 DPAPI 加密存库),所以不用怕一次没存住。真泄露了就把它停用(开关即时生效)再生成一个新的。
任何支持「OpenAI 兼容 / 自定义 OpenAI 接口」的客户端都行(Cherry Studio、ChatBox、NextChat、Cline、Roo Code、各类 IDE 插件……):
| 项目 | 填什么 |
|---|---|
| API 地址(Base URL) | http://127.0.0.1:9527/v1(部分客户端只要求填到端口,按它的提示来) |
| API Key | 第 3 步生成的 sk- 开头的 Key |
| 模型 | 从「模型目录」页里挑一个可用的模型名 |
保存后发一句话测试,回到「总览」看到实时请求流里出现记录,就说明链路通了。
给 Claude Code / Codex / Claude Desktop 用? 网关听得懂它们的原生协议,可以直接把网关地址填进去(见本节开头的三条入站协议面)。想让 CC Switch 在一个地方统管多套 provider 配置,走下面第 5 步「生态接入」。
方式 A:直连(推荐,不用额外装东西)
- Claude Code / Anthropic SDK:
ANTHROPIC_BASE_URL填http://127.0.0.1:9527(不要带/v1),ANTHROPIC_AUTH_TOKEN填第 3 步生成的 Key - Codex CLI:
~/.codex/config.toml里把 provider 的base_url填http://127.0.0.1:9527/v1、wire_api = "responses"(Codex 已移除对chat的支持,写chat会直接报错) - 模型名从「模型目录」页里挑一个可用的填上即可
方式 B:经 CC Switch 托管(想在一个地方统管多套 provider 配置时)
- 先装好 CC Switch
- 进入「反代网关 · 生态接入」,选择要接入的应用(Claude Code / Codex / Claude Desktop),选定一个 API Key 和默认模型,点注册
- 注册前会自动备份 CC Switch 数据库,且只会写入自己那一条固定条目,不动你的其它 provider
- Claude 侧只写
ANTHROPIC_AUTH_TOKEN。网关的 Messages 面同时认x-api-key与Authorization: Bearer,但两个头都带且不是同一把 Key 时会被判成配置错误(拒绝而不是猜一把),所以只写一个
- 注册完成后,到 CC Switch 里**打开「代理接管」**再启动对应客户端
- Codex 的
wire_api语义上必须是responses,CC Switch 会依据条目里的apiFormat判定需要转换,不用手动改
- 五态状态机:online(可用)/ cooling(冷却中)/ exhausted(额度耗尽)/ relogin(需重新登录)/ disabled(手动停用)
- 池内策略:到期优先(默认,先把快过期的额度用掉)/ 余额优先 / 轮询,按渠道单独设置
- 运行期自动换号:上游返回 402 / 额度类错误时自动换下一个号(单请求最多换 2 次);已知零余额的号在调度时直接跳过
- 冷却表:不同错误按不同时长冷却(限流 60 秒、服务端错误 10 分钟、次日额度类错误等到次日 04:00、401 标记为需重新登录),避免死号被反复重试
- 模型回退:模型未知或全部号不可用时,按「配置 · 反代网关」里设置的全局回退模型自动切换
网关向上游的请求默认直连。本机要走代理(Clash / 公司出口 / 海外落地)时,在「反代网关 → 网络代理」里加一条出口:
- 协议支持 HTTP/HTTPS 与 SOCKS5,可带账号密码(密码经本机加密后落盘,界面不回显明文,编辑时留空即保持原密码);
- 出口策略三档:直连(默认)/ 固定出口(全部请求走指定的一条)/ 轮询(每条请求按顺序换一条启用出口);改完立即生效,不必重启网关;
- 每条出口可单独启停、单独「测试」:连一次测试网址,给出通不通、状态码、出口 IP 与耗时;结果记在「连通性」列,只是历史记录,不参与选路(转发会不会失败仍以实际请求为准);
- 测试网址与超时在页面右上「代理设置」里改,留空用默认。
桌面版与 Docker 版同一套实现:容器里在 Web 控制台改完同样立即生效,出口池存在数据目录的 proxy/netproxy.json(跟着数据卷一起备份)。
号池里每个账号都有一个「切到 IDE」按钮:把该账号写成本机客户端的当前登录态,适合「号池里的号想直接在本机客户端里用」。
- 支持 WorkBuddy 双区、商汤小浣熊、ZCode。Trae 不支持——它的登录态是绑定设备密钥的加密信封,构造不出合法文件,程序会直接说明原因,不会硬写
- 点击后会弹确认框,确认即自动:关闭客户端 → 备份原登录态 → 写入 → 重新打开客户端
- 写入前后有多道校验(防并发回写、写后回读校验失败自动回滚);ZCode 采用合并式写回,不会动你的远程连接地址;小浣熊会保留账号专属设备指纹,避免跨号串号导致旧号被吊销
服务器上用 Docker 版常驻网关时,桌面版可以在「反代网关 → 配置 → 远程实例」里连上它:填地址(http://<服务器>:9528)和管理令牌(服务器上的 AGENTHUB_ADMIN_TOKEN),测试通过后,反代页右上角的切换按钮可以在「本机 / 远程」之间切换——切到远程后,反代板块所有页面对的就是那台服务器,建 Key、改渠道、触发签到这些操作都在桌面界面里完成;容器里做不了的事(启停网关、IDE 切号、打开目录)会直接说明原因。
日常监视建议在服务器上另设只读令牌 AGENTHUB_ADMIN_READONLY_TOKEN(只能看不能改);http 地址仅限内网,公网请给 9528 配 https——管理令牌不能明文出网。
「号池同步」页把账号与凭据打包(用统一 WebDAV 密码 AES-256-GCM 加密)传到 WebDAV,另一台电脑拉下来即可共用同一批号。可以选择同步全部渠道,也可以只同步某一个渠道;进度按阶段展示,中途可看细节。
- 请求指纹(UA、设备头、链路追踪头、来源 referer)逐字段对齐官方客户端
- WorkBuddy 侧会做指纹清洗(剥离
cc_*/x-anthropic-*、审核模板最小改写,模板外置可热更新) - 请求间有 40~220ms 的拟人化随机抖动,换号痕迹不会外泄
- 规则热加载:
rules/*.json(模型映射 / 清洗模板 / 渠道头)改完即时生效,无需重启
Agent 每次开新会话都不记得你的项目背景、技术决策和踩过的坑。记忆中枢在本地维护一个 Markdown 记忆库,把会话里值得长期保留的事实沉淀下来,再通过 MCP 服务给各个 Agent 读写——你的记忆始终是本地一堆可读、可 diff 的 md 文件。
默认仓库在 ~/AgentHub/memory:projects/<项目>/l1/<agent>/<日期>.md 存原始事实,projects/<项目>/l2/... 存蒸馏出的项目汇总、决策与知识。
| 页面 | 作用 |
|---|---|
| 仪表盘 | 记忆总量、增长趋势、各项目与 Agent 的分布 |
| 记忆浏览 | 列表 / 热力图 / 待确认 / 回收站四个视图;三类待人工裁决的条目在「待确认」里处理 |
| 项目归档 | 按项目看汇总与归类溯源,项目可重命名、合并到其他项目 |
| 深层画像 | 从长期记录里蒸馏出的偏好与人格画像 |
| Agent 接入 | 一键给各 Agent 注入 MCP 与指令块,并做三级校验 |
| 检索与索引 | 全文检索(中文 bigram 分词 + 同义词扩展),索引状态与自愈 |
| 自动化 | 九个后台任务的开关、节奏、立即执行与运行历史 |
| 导入与去重 | 从各工具的历史会话导入记忆,重复内容合并 |
| WebDAV同步 | 记忆库跨设备同步 |
- 接入 Agent:进入「Agent 接入」,找到你要用的 Agent(内置 ZCode、Codex CLI、WorkBuddy、Claude Code、DeepSeek Harness、Trae Solo、Cursor、通用
~/.agents),点一键注入。它会做两件事:往 Agent 配置里加一条 MCP 启动项,往它的指令文件(AGENTS.md/CLAUDE.md等)写一段受控块——都在写前自动备份,卸载时只删自己的部分 - 验证:卡片上的三级校验会依次确认「配置条目在不在 → 桥能不能真的拉起并列出工具 → 这个 Agent 有没有真的调用过」。只有第三级出现心跳,才说明它确实在用
- 导入历史:进入「导入与去重」,把已有会话历史导进来做底料(支持 Codex、ZCode、WorkBuddy 等来源的会话库),导入前可以先跑干跑预览
- 开自动化:进入「自动化」按需打开任务。九个任务分两类:
- 本地算法类:项目归类建议、索引自愈扫描(不耗 token)
- 需要模型类:抽取结构化信息、生成摘要、自动打标签、失效判定、L2 蒸馏、去重合并、人格/偏好画像
- 给记忆任务配模型:在记忆中枢的配置页选择模型来源——可以填自己的 API,也可以直接走本板块里已经搭好的 AgentHub 网关,并配置失败时的降级链
自动化跑完后,有三类结论不会直接生效,而是排队等你确认:事实失效判定(新事实是否覆盖旧事实)、项目归类建议、去重合并建议。它们收在「记忆浏览 → 待确认」里,逐条采用或驳回;每条都带推荐建议,也可以按推荐一键全部确认。
Q:客户端连不上网关怎么办?
先看三处:① 「总览」页服务状态是不是 RUNNING;② 客户端填的地址是不是以 /v1 结尾;③ Key 有没有停用。再看错误码:401 是 Key 不对,429 是该 Key 触发了限速或当日配额,400 是请求参数有问题,502 是上游返回异常(号池会自动换号重试),503 是当前渠道没有可用账号(去号池看看是不是全都在冷却或需重新登录)。
Q:手机上/另一台电脑能访问吗?
可以。「配置 · 反代网关」把绑定地址改成 0.0.0.0,重启服务,然后用局域网 IP + 端口访问。注意这意味着同网段的设备都能访问,请务必设置 Key 的日配额与限速。
Q:为什么 Trae 不能「切到 IDE」? Trae 的本地登录态是 ByteCrypto 加密信封,绑定了设备密钥,无法在外部构造出合法文件。程序会诚实提示而不是写坏你的登录态。
Q:小浣熊多账号要注意什么? 多账号入池请统一在 AgentHub 的「OAuth 登录」里做。不要在电脑端小浣熊软件里点「退出登录」——商汤服务端会因此吊销旧号凭证,导致号池里的旧账号失效。
Q:号池用 WebDAV 同步到第二台电脑后,小浣熊账号显示「需重登」怎么办? 不用重新登录,先让它自己缓过来:小浣熊的刷新令牌是一次性轮换的(第一台每刷一次,同步过去的那份就会作废),v1.68.1 起刷新被服务端拒绝时会自动到其他设备把最新凭据取回来重试,第一台下次刷新也会立刻回传,所以保持两台都开着、网络与 WebDAV 正常,等一轮额度刷新(默认 30 分钟)即可。同一账号请只在 AgentHub 里登录一次:不要在第二台电脑上用 OAuth 或客户端再登录同一个号——那会产生第二个会话(服务端按会话互踢),连第一台也会一起掉。真掉登录时账号气泡会说明原因(服务端拒绝 / 并发抢刷 / 疑似在别处重新登录)。
Q:点「切到 IDE」会不会打断我正在用的客户端? 会:程序需要先关闭对应客户端,写入登录态后再自动打开(这也是为什么每次都会先弹一个确认框)。如果你此刻正在那个客户端里干活,先存盘再点。
Q:我的凭据安全吗? 账号 token 经 Windows DPAPI 加密后落盘,且只在主进程中流转,不暴露给界面层;网关的 API Key 在库里只存 SHA-256 哈希(完整 Key 单独用加密信封保存,供你自己查看)。所有请求只发往你所用服务的官方接口,以及你自己配置的 WebDAV 服务器,中途不经过任何第三方服务器。
Q:没配置 WebDAV 是不是很多功能不能用? 不是。用量统计会自动进入本地模式;技能仓库、反代网关、记忆中枢的单机功能全部可用,WebDAV 只是「多台电脑共享」用的。
Q:自动签到什么时候跑? 默认关闭。开启后每天到设定时间(默认 09:00,可改)自动给全部渠道跑一遍签到/领加油包,结果按渠道分别记录,切渠道看得到各自的历史。
# 环境:Node >= 22.5(记忆中枢使用 node:sqlite)
npm install
npm run dev # 桌面端开发(Electron + Vite HMR)
npm run dev:web # 纯浏览器预览 UI(mock 数据,不启动 Electron)
npm run build # 平台门禁 + 类型检查 + 前端构建
npm run verify:platform # 三平台路径/能力矩阵/边界检查
npm run platform:matrix # 输出三平台能力矩阵
npm run electron:build:win # Windows x64 NSIS(在 Windows 构建)
npm run electron:build:mac # macOS 宿主架构 DMG + ZIP(在 macOS 构建;Intel/Apple Silicon 分别构建)
npm run electron:build:linux # Linux x64 AppImage + DEB(在 Linux 构建)三平台当前能力状态与生产发布门禁见 PLATFORM.md,签名发布 secrets 与流程见 RELEASE.md。macOS/Linux 安装包可运行完整桌面框架;依赖 Windows 客户端文件、DPAPI、PowerShell 或
.exe的导入/切换功能会在这些平台降级。Trae 系用量读取已随包附带 macOS x64 / arm64 与 Linux x64 的 SQLCipher 原生库(来源与校验见resources/sqlcipher/NOTICE.md);可用npm run native:verify检查。若资源被裁剪,缺少时只禁用该数据源。macOS 正式分发前还需配置 Apple Developer 签名与公证。
反代网关后端全链路自测(含假上游端到端:换号 / 自动切换 / 流式双态 / 指纹头):
ELECTRON_RUN_AS_NODE=1 node_modules/electron/dist/electron.exe tools/proxy-smoke.cjs三条入站协议面各自的回归闸(真实 HTTP 打进真调度核心,只桩上游与号池;纯 Node,不需要 Electron):
node scripts/dev-sink-golden.cjs # OpenAI 通路:16 场景的响应字节 / 冷却决策 / 选号顺序 / 流水与基线逐字相等(动调度核心前后必跑)
node scripts/dev-anthropic-in-test.cjs # /v1/messages:归一 + 事件序 + 错误外壳 + 止血开关
node scripts/dev-responses-in-test.cjs # /v1/responses:归一 + 事件序 + Codex 三条硬约束 + 止血开关Qoder 渠道专项自测(离线,默认不联网、不消耗额度;凭据与签名器相关断言需要本机装有 Qoder 客户端):
ELECTRON_RUN_AS_NODE=1 node_modules/electron/dist/electron.exe tools/proxy-qoder-adapter-selftest.cjs # 适配器纯函数 + SSE 信封解包
ELECTRON_RUN_AS_NODE=1 node_modules/electron/dist/electron.exe tools/proxy-qoder-integration-selftest.cjs # 每日领取(stub)+ 记忆中枢适配器
ELECTRON_RUN_AS_NODE=1 node_modules/electron/dist/electron.exe tools/proxy-qoder-selftest.cjs # 凭据解密 + wasm 签名器Cline 双渠道专项自测(离线 + 本地假上游,不联网、不消耗额度):
ELECTRON_RUN_AS_NODE=1 node_modules/electron/dist/electron.exe tools/proxy-cline-selftest.cjs # 协议断言 + 假上游端到端技能仓库自测(纯 Node,只在临时目录里造现场,不碰真实 home / 不联网):
node scripts/test-skills-diff-link.cjs # 链接指向异常:现场识别 + relink / adopt 两个动词 + 裁决后不复发记忆中枢验证入口:
npm run verify:memory # 静态校验:IPC 管道 / 配置分档 / 术语 / 导航 / 结构
node tools/memory-runtime-path-selftest.cjs # 桥的 runtime 定位:各平台目录布局 + 大小写 + 离线报错代码结构:
electron/ 主进程
backend/
adapter-*.cjs 各用量数据源适配器
proxy/ 反代网关(存储 / 适配器 / 号池 / 网关服务 / 规则热加载 / IDE 切换)
protocols/ 入站与出线协议面(openai-out / anthropic-in+out / responses-in+out)
memory/ 记忆中枢(存储 / 索引 / 检索 / 接入 / 自动化 / 导入)
main.cjs 应用入口(窗口 / 托盘 / 更新)
src/ 渲染层(Vue 3)
views/ 四大板块的页面
components/ 公共组件(侧栏 / 页签 / 配置中心)
反代网关的协议细节来自对官方客户端的逆向分析,代码独立实现。
请在使用本项目前完整阅读本节。下载、安装、启动或以任何方式使用本项目,即视为你已阅读、理解并全部接受以下条款。
本项目是一个用于学习 HTTP 反向代理、SSE 流式透传、多上游协议适配、本地凭据管理、跨工具技能目录管理与 Electron 桌面端打包等技术主题的实践项目,仅供个人学习与研究使用,不是任何公司的官方产品。
本项目与下列公司及其产品均无任何关联,未获得其授权、认可、赞助或背书:
腾讯及 WorkBuddy / CodeBuddy、字节跳动及 Trae、商汤科技及小浣熊、智谱及 ZCode / AutoClaw / AutoGLM、美团及 CatPaw、阿里巴巴及 Qoder / ModelScope(魔搭)、网易有道及 LobsterAI、小米及 MiMo、DeepSeek 及 DeepSeek Harness、Google 及 Antigravity、Cline,以及其他文中提及的服务提供方。
文中出现的所有产品名、商标、服务名、协议名均归其各自所有者,仅用于标识与说明用途,不构成任何形式的关联或授权。
本项目实现的是本地反向代理:在你自己的机器上复用你自己账号的登录态,把请求转发到官方上游网关。它不破解、不绕过任何付费或权限校验,使用的额度始终来自你自己账号本就拥有的配额。
但需要明确的是,这种「以非官方客户端形态复用登录态」的转发方式,可能不符合上游服务的用户协议或使用条款;是否使用、以及由此产生的一切后果(包括但不限于账号被限流、被风控、被降权、被冻结或封禁,订阅被终止,积分/额度被清零),均由使用者自行承担,作者不承担任何责任。
禁止将本项目用于:
- 任何商业用途、二次分发牟利、以本项目为载体售卖账号或额度
- 批量账号运营、账号买卖、代刷代领、养号
- 绕过上游计费、配额、风控或权限限制
- 攻击、爬取、扫描或干扰任何服务的正常运行
- 其他违反当地法律法规或上游服务条款的活动
上述禁止事项同时写入 LICENSE 第二部分的「附加使用条款」,构成本项目授权与使用约定的一部分,不是仅作呼吁。
如需在生产环境或商业场景中调用相关模型服务,请使用官方渠道与官方 API。
本项目需要读写本机已登录客户端的账号凭据(accessToken / refreshToken 等)与本地数据文件:
- 凭据在本机经 Windows DPAPI 加密后落盘,网关 API Key 在库中仅存 SHA-256 哈希;号池同步生成的加密包与本机备份包含可还原的凭据,请自行妥善保管。号池页「导出选中账号」仅导出元数据(不含 token),不要误当成凭据文件
- 切勿将导出的凭据文件提交到公开仓库、上传到网盘、发送到聊天群或分享给他人
- 若将服务绑定到
0.0.0.0(供局域网访问),同网段设备均可访问,请自行评估风险并设置 Key 的日配额与限速 - 「切到 IDE」会关闭并重新写入本机客户端登录态,操作前请自行保存工作内容
- 因凭证泄露、设备被他人使用、配置不当或误操作造成的任何损失,由使用者自行承担,作者不承担任何责任
- 卸载程序不会删除
%APPDATA%\AgentHub,如需彻底清除请自行删除该目录
本项目按「现状」(AS IS)提供,作者不对其可用性、稳定性、安全性、合法性、准确性或对特定用途的适用性作任何明示或默示的承诺与保证。
- 上游接口、鉴权方式、协议字段随时可能变更,本项目可能随时失效且不再维护,作者无更新、修复或答疑的义务
- 使用本项目造成的任何直接或间接损失(包括但不限于账号损失、额度损失、数据丢失、业务中断、第三方索赔、监管处罚),作者一概不承担任何责任
- 本项目中的接口形态、协议字段等信息来自对各官方客户端公开网络通信的观察与整理,仅用于学习研究;相关商标与服务的权利归其各自所有者
- 若权利方认为本项目存在不当之处,请联系作者,将及时调整或删除
完整条款见 LICENSE。 若你不同意本节任何一条,请立即停止使用并删除本项目及其相关数据。
沐晖(GitHub: @HUIdada1)
本项目采用 MIT License + 附加使用条款 的复合授权,不是纯粹的 MIT 项目:
| 部分 | 内容 |
|---|---|
| 第一部分 · MIT License | 授予软件层面的使用、复制、修改、合并、发布、分发、再许可与销售权利 |
| 第二部分 · 附加使用条款 | 对本项目的使用场景作进一步限制:禁止商业用途、禁止二次分发牟利、禁止批量账号运营、禁止绕过上游计费与配额、禁止攻击与干扰、禁止违法用途 |
两部分不可分割,共同构成本项目完整的授权与使用约定;仅接受其中一部分者,不得以任何形式使用、复制、修改或分发本项目。附加条款与上文使用声明第三节「禁止用途」一致,如表述有出入以 LICENSE 为准。
商业场景使用须事先联系作者另行取得书面授权。完整条款(含 MIT 全文)见 LICENSE。
Copyright (c) 2026 沐晖 (HUIdada1)
