news 2026/10/9 6:35:02

如何快速部署 Claw Compactor Proxy:多 Worker 负载均衡 + 实时监控仪表盘完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何快速部署 Claw Compactor Proxy:多 Worker 负载均衡 + 实时监控仪表盘完整教程

如何快速部署 Claw Compactor Proxy:多 Worker 负载均衡 + 实时监控仪表盘完整教程

【免费下载链接】claw-compactor14-stage Fusion Pipeline for LLM token compression — reversible compression, AST-aware code analysis, intelligent content routing. Zero LLM inference cost. MIT licensed.项目地址: https://gitcode.com/gh_mirrors/cl/claw-compactor

Claw Compactor Proxy是一个将 Claude Code CLI 包装成 OpenAI 兼容 API 的本地代理网关,属于 LLM Token 压缩工具链 Claw Compactor 的配套设施。它支持多 Worker 轮询负载均衡、会话亲和路由、公平排队、按模型限流,并内置一个实时监控仪表盘,让你随时掌握 Worker 流量、Token 消耗与错误分布。本教程将带你用 5 个步骤完成部署。

一、Claw Compactor Proxy 是什么?

Proxy 位于仓库的 proxy/ 目录,核心能力一览:

  • 多 Worker 轮询:多个 Claude Code CLI 实例独立配额,流量自动分摊
  • 会话亲和:同一对话 30 分钟内固定路由到同一 Worker,保住速率预算
  • 公平队列:多来源请求轮流调度,支持 high / normal / low 优先级
  • 实时仪表盘:Token 用量、时序图表、SSE 直播流、Worker 流量分布一屏尽览
  • 进程回收器:自动清理超时与僵尸 CLI 进程
  • Token 计量:按模型统计输入 / 输出 Token,Redis 持久化
  • 失败重试:指数退避 + 抖动,Worker 故障自动切换

架构链路非常简单:

客户端 (OpenAI 格式) → Proxy → 公平队列 → Worker 池 → Claude CLI → 响应

更多细节可参考 proxy/README.md。

二、一键部署:4 步完成搭建

第 1 步:克隆仓库并安装依赖

git clone https://gitcode.com/gh_mirrors/cl/claw-compactor cd claw-compactor/proxy npm install

第 2 步:配置多 Worker 池

通过WORKERS环境变量传入 JSON 数组,每个 Worker 绑定独立的 Claude Code OAuth Token,从而拥有独立的速率配额——这正是多 Worker 负载均衡能翻倍吞吐的关键:

[ {"name": "1", "bin": "/path/to/claude", "token": "oauth-token-1"}, {"name": "2", "bin": "/path/to/claude", "token": "oauth-token-2"} ]

未配置时,服务会使用 proxy/server.mjs 中内置的默认 Worker 池。

第 3 步:设置端口与鉴权

export WORKERS='[{"name":"1","bin":"/path/to/claude","token":"your-token"}]' export CLAUDE_PROXY_PORT=8403 export PROXY_AUTH_TOKEN=local-proxy # 生产环境请换成强密钥

建议同时将 WORKERS 环境变量 写入.env或 shell 配置,避免重启丢失。

第 4 步:启动服务

npm start # 前台运行

也可以直接使用 proxy/start.sh 脚本,它会自动停掉旧进程;加--bg参数可后台运行,日志写入/tmp/claude-proxy.log:

./start.sh --bg

看到[CLIRouter] Pool: 1=... | 2=...的启动日志,说明 Worker 池加载成功 🎉

三、多 Worker 负载均衡是怎么工作的

这是 Proxy 最有价值的部分,由三个模块协同完成:

模块文件作用
轮询路由proxy/server.mjs流量按 round-robin 分摊到各 Worker,遇速率限制自动整体切换到备用 Worker,恢复后再回到负载均衡
会话亲和proxy/session-affinity.mjs按x-session-id→ 系统提示词指纹 → 来源 三级优先级生成会话键,30 分钟 TTL,保证多轮对话落在同一 Worker
公平队列proxy/fair-queue.mjs多来源轮流取号,防止单一来源霸占全部并发;内置租约机制防止并发槽位泄漏

配合 proxy/rate-limiter.mjs 的 60 秒滑动窗口限流和 proxy/retry.mjs 的指数退避重试,即使某个 Worker 触发 429,请求也会被透明地转发到健康节点,客户端几乎无感。

四、打开实时监控仪表盘

服务启动后,浏览器访问:

http://localhost:8403/dashboard/proxy

仪表盘(proxy/dashboard.html)提供以下实时视图:

  • 📊Token 总览条:总量 + Opus / Sonnet / Haiku 分模型统计,含速率窗口
  • 📈时序图表:按时间区间的 Token 与请求量曲线
  • 🚦Worker 流量分布:每个 Worker 的请求数、错误数、最近活跃时间
  • ⚠️错误分类统计:CLI 崩溃、上下文溢出、超时等 7 大类一目了然
  • 📡SSE 直播流:请求事件实时滚动,另附活跃进程表与事件日志

除可视化页面外,还有 4 个运维接口方便脚本化监控:

接口用途
GET /health健康检查
GET /metrics队列、进程、Token、Worker 统计(JSON)
GET /events事件日志(轮询)
GET /streamSSE 实时事件流

五、常用调优参数速查

按需调整环境变量即可,无需改代码:

变量默认值说明
MAX_CONCURRENT10最大并发 CLI 进程数
MAX_QUEUE_TOTAL100队列总容量
MAX_QUEUE_PER_SOURCE20单来源最大排队数
QUEUE_TIMEOUT_MS120000排队超时(毫秒)
MAX_PROCESS_AGE_MS1800000CLI 进程最长存活时间
MAX_IDLE_MS600000空闲回收阈值

进程生命周期由 proxy/process-registry.mjs 守护:每 15 秒巡检一次,超过存活时长或 2 分钟无输出的进程会被自动收割,状态还会持久化到 Redis(见 proxy/redis-client.mjs),重启后指标不丢失。

六、日常运维小贴士 💡

  • 查僵尸进程:访问GET /zombies查看巡检结果,POST /kill可手动终止指定 CLI 进程
  • 看 Token 账本:proxy/token-tracker.mjs 按模型与请求两级记账,数据落盘data/tokens.json
  • 跑测试:cd proxy && npm test可验证队列、限流、亲和等核心模块行为(测试位于 proxy/test/)
  • 生产安全:务必修改PROXY_AUTH_TOKEN,默认值local-proxy仅适合本地调试

总结

Claw Compactor Proxy 用不到 10 个环境变量就能搭起一套多 Worker 负载均衡 + 实时监控的 LLM 代理网关:npm install→ 配置WORKERS→ 启动 → 打开仪表盘,全程 5 分钟。无论是想让多个 Claude Code 实例共享额度,还是为团队搭建统一的 OpenAI 兼容入口,它都是开箱即用的选择。更多设计细节可阅读 proxy/README.md 与 ARCHITECTURE.md。

【免费下载链接】claw-compactor14-stage Fusion Pipeline for LLM token compression — reversible compression, AST-aware code analysis, intelligent content routing. Zero LLM inference cost. MIT licensed.项目地址: https://gitcode.com/gh_mirrors/cl/claw-compactor

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/9 6:35:02

Agent-Reach:面向本地AI工作流的轻量级CLI智能体范式

1. 项目概述:Agent-Reach 是什么?它解决的不是“能不能跑”,而是“怎么跑得稳、跑得准、跑得省心”Agent-Reach 这个名字乍看像某个大厂刚发布的AI平台,但实际翻遍GitHub、PyPI和主流技术社区,它并非一个已发布、有文档…

作者头像 李华
网站建设 2026/10/9 6:33:17

requests+xpath抓取网页视频:从静态直链到m3u8流媒体实战

1. 先搞清楚视频文件是怎么在网页里藏的很多初学者上手爬虫,第一反应就是打开网页、找到视频、右键另存为。但真正进入抓视频这个场景后,你会发现浏览器里看到的视频,和HTML源码里看到的HTML标签,完全不是一回事。我最早写这类脚本…

作者头像 李华
网站建设 2026/10/9 6:33:08

Hyperframes实战:用HTML+CLI+MP4打造自动化视频生成流水线

1. 从 hyperframes 说起:一个被低估的 HTML 转视频思路第一次看到 hyperframes 这个词,我脑子里蹦出来的不是某个具体工具,而是一类做法:把 HTML 页面当成“帧”的载体,用 CLI 驱动渲染,最后合成 MP4。这套…

作者头像 李华
网站建设 2026/10/9 6:32:38

C++代码依赖分析实战:从编译慢到架构治理的完整路径

“C代码依赖分析”这个词,很多C开发者的第一反应是“这不就是编译器的活,跟业务有什么关系”。但我在公司里排查过不少“改一行代码,全项目要编译半小时”的老工程,最后基本都追到了依赖关系失控上。依赖分析并不玄乎,…

作者头像 李华
网站建设 2026/10/9 6:32:37

Android AutoCompleteTextView 搜索联想:从基础配置到自定义过滤器

刚开始接触 Android 的时候,我对搜索框里那种边打字边出联想词的效果特别好奇。后来翻了官方文档才知道,这套交互早就被封装成现成的控件了,名字叫 AutoCompleteTextView(自动完成文本框),一个继承自 EditT…

作者头像 李华