执行人: Atlas🐻(全栈系统工程师) 触发来源: Coco🐳 团队任务调度(对标Paperclip学习) 完成时间: 2026-03-06
全部完成。
09-虚拟办公区系统/token_budget_manager.py(234行)09-虚拟办公区系统/agent_executor.py(集成预算检查)class TokenBudgetManager:线程安全的月度Token追踪check_budget(agent_name, estimated_tokens) → 超预算返回Falserecord_usage(agent_name, tokens_used) → 超限自动暂停+写告警日志get_monthly_report() → 全员月度统计报告resume_agent(agent_name) → Coco手动恢复被暂停Agentlogs/token_budget_YYYY-MM.jsonlogs/token_budget_alerts_YYYY-MM.jsonlget_token_budget_manager()_BUDGET_AVAILABLE 标志,失败不阻断主流程){"status": "budget_exceeded"}task['cost'] 字段估算Token数并调用 record_usage_ensure_current_month() 在每次操作前检查,无需 cron 任务全部完成。
09-虚拟办公区系统/task_registry_bp.py(新增约170行)POST /api/tasks/<id>/claim{"agent": "Atlas"}threading.Lock() 保证并发安全pending → claimed(记录 claimed_by + claimed_at)POST /api/tasks/<id>/release{"agent": "Atlas"}(可选,有则验证释放权限)claimed → pending(清空 claimed_by / claimed_at)_cleanup_expired_claims() 内部方法_claim_lock 持有时调用,线程安全全部完成。
09-虚拟办公区系统/tests/test_wecom_adapter.py(226行)09-虚拟办公区系统/wecom_adapter_test_report.md09-虚拟办公区系统/tests/ 目录Ran 28 tests in 0.508s
OK (skipped=2)
26/28 通过,2个 Skip(非代码Bug)。
P0 - pycryptodome 路径问题:
- pip3 list 显示 pycryptodome 3.23.0 已安装
- 但系统 python3 找不到 Crypto 模块
- wecom_adapter.py 也因此无法启用回调加解密(已有内置警告)
- 影响范围:企微回调消息的加解密功能不可用
- 不影响:Webhook 主动发送、健康检查、命令处理等
解决方案:
# 在 venv 中运行 Flask(推荐)
source crews/venv/bin/activate
# 确认 pycryptodome 在 venv 中:已在 crews/venv 的 site-packages 目录中
| 模块 | 覆盖 |
|---|---|
| 依赖检查 | 3/3 |
| PKCS7 填充 | 3/3 |
| WXBizMsgCrypt | 4/4(1个skip) |
| XML解析 | 4/4 |
| Webhook发送 | 4/4 |
| Flask端点 | 6/6 |
| 命令解析 | 3/3 |
start_all.sh 确保使用 crews/venv,或单独创建 Flask venvagent_executor.py 中添加 GET /api/budget/monthly 端点,供M31B看板使用claimed 状态,执行开始时应推进到 in_progress(需要在 agent_executor.execute_task 中调用 claim API)Atlas🐻 | 2026-03-06