workbuddy无内置压测模块,需用wrk等外部工具模拟真实调用链路,重点测试其对接的模型服务、文件系统、im网关及agent调度队列;压测claw模式须用支持websocket/http/2的工具并复用session,避免测出初始化开销;内存泄漏可查memory_trace.log及禁用常驻技能包定位。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

WorkBuddy 本身不提供内置压测模块,部署后若需评估其在高并发指令下的响应稳定性与吞吐能力,必须借助外部工具模拟真实调用链路——重点不是测 WorkBuddy 进程本身,而是测它背后对接的模型服务、文件系统访问、IM 协议网关及本地 Agent 调度队列的综合瓶颈。
怎么用 wrk 模拟微信/企微指令并发
WorkBuddy 的 IM 集成(如企业微信Bot)本质是接收 HTTP webhook 请求。wrk 可直接压测该 endpoint,但要注意:不能只发裸 POST,必须携带合法签名与加密 payload,否则 401/403 会掩盖真实性能问题。
- 先从 WorkBuddy 日志中提取实际收到的请求头(
X-WeCom-Timestamp、X-WeCom-Nonce、X-WeCom-Signature)和 body 样例 - 用 Lua 脚本动态生成带时间戳和签名的请求,避免被网关拒绝:
wrk -t4 -c100 -d30s --script=wechat_wrk.lua http://127.0.0.1:8080/wecom/webhook - 观察
statusserver输出的agent_queue_length和pending_tasks,若持续 >5 且响应延迟跳升,说明 Agent 调度器已饱和
为什么 ab 测试结果不准,尤其在 Claw 模式下
ab 默认不维持连接、不处理重定向、无法携带 session 或 token,而 WorkBuddy 的 Claw 模式依赖长连接保活与上下文状态同步。直接用 ab -n 1000 -c 50 http://localhost:23456/claw/invoke 会大量触发重连和 memory 初始化,测出来的是初始化开销而非真实推理延迟。
WorkBuddy 桌宠工厂 —— 给一张角色图、一个 codex.pet 链接、一条 codex-pets.net 下载 URL、或一份现成的精灵表,就能自动创建一只可联动 WorkBuddy 状态的桌面宠物。当用户说"创建桌宠"、"做一只桌宠"、"用这张图做桌宠"、"从 codex.pet 安装桌宠"、"导入 codex 桌宠 XX"、"装一下 codex-pets.net 上的 XX&quo
- Claw 模式下必须用支持 WebSocket 或 HTTP/2 的工具(如
autocannon或自写 Python 脚本),保持 connection reuse - 每次请求前需先调用
/claw/session/start获取有效 session_id,再将该 id 放入后续请求 header:Authorization: Bearer {session_id} - 忽略前 10% 请求的耗时数据——Claw 启动时会加载长期记忆索引,首批请求必然偏高
内存泄漏怎么快速定位(OOM 前兆)
WorkBuddy 在长时间运行后若出现响应变慢、statusserver 显示 memory_usage_percent 持续 >85%,大概率是长期记忆读写未释放或大文件缓存堆积。不要等 OOM 才查。
- 用
ps aux --sort=-%mem | head -n 5确认是否workbuddy进程本身内存暴涨,排除是它调用的 Python 子进程(如 pandas 处理 Excel)泄漏 - 检查
~/.workbuddy/logs/memory_trace.log,搜索关键词MemoryWarning或LargeFileCache - 禁用非必要技能包(尤其是“自动归档”“全文 OCR”类),它们会在后台常驻监听文件夹,持续占用内存而不释放
真正影响 WorkBuddy 实际可用性的,往往不是峰值 QPS,而是单次复杂任务(比如“分析 10 个 Excel+生成 PPT+发飞书”)的端到端延迟稳定性。压测时务必混合真实指令样本,而不是只刷简单 echo。另外,所有测试都应在关闭“长短记忆分离”优化的前提下进行——否则你测的根本不是默认行为下的性能表现。









