zcbot/core
caoqianming 6008e1b8a0 fix(wechat,email): host-side 文件工具翻译容器路径,修复附件发不出 + bump 0.24.1
docker 模式下 fs 工具在容器跑,文件落宿主 users/<uid>/<wd>/,但 send_email /
wechat_push 是宿主进程工具:base_dir=cwd 且不识别容器↔宿主路径映射,agent 给的
相对路径拼到 cwd、容器绝对路径 /workspace/... 宿主上瞎解析,relative_to(user_root)
必越界 → 附件永远发不出(probe 直调 send_file 绕过解析,故"测试可发")。

- tools/base.py: 共享 _resolve_user_file(/workspace 前缀翻回 user_root + 相对拼
  base_dir + 越界校验)+ FileOutOfBounds
- agent_builder: 两个 host 工具 base_dir=working_dir_path(宿主 task 目录)而非 cwd
- send_email / wechat_bot: 改用 helper
- tests: 加 3 例回归(翻译+越界、send_email 容器路径、wechat_push 相对路径)
- scripts/diag_wechat_push.py: 诊断脚本

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:02:48 +08:00
..
sandbox feat(rendering): 平台渲染层 rendering/ 统一三 skill docx + chromium md→pdf + bump 0.21.0 2026-06-23 13:07:19 +08:00
storage feat(wecom): 企业微信渠道 B 纯推送 + OAuth 扫码绑 userid + bump 0.24.0 2026-06-24 13:44:23 +08:00
wechat feat(wecom): 企业微信渠道 B 纯推送 + OAuth 扫码绑 userid + bump 0.24.0 2026-06-24 13:44:23 +08:00
__init__.py fix(wechat,email): host-side 文件工具翻译容器路径,修复附件发不出 + bump 0.24.1 2026-06-24 14:02:48 +08:00
agent_builder.py fix(wechat,email): host-side 文件工具翻译容器路径,修复附件发不出 + bump 0.24.1 2026-06-24 14:02:48 +08:00
ark_client.py feat(media): 接入豆包 Seedream 5.0 图像生成 tool + 0007 cost_usd→cost_cny 全表统一币种 2026-05-20 15:20:34 +08:00
bocha_client.py Add web_search and web_fetch tools via Bocha AI search API 2026-05-25 11:37:33 +08:00
capabilities.py feat(loop): 停机判据从"步数"解耦为"是否在推进" 2026-06-10 13:22:02 +08:00
context.py fix(context): 发送期补齐悬空 tool_calls,断中断 run 留下的协议崩 + bump 0.20.2 2026-06-21 15:08:20 +08:00
executor.py Stage C Step 1: Executor 接口骨架 + HostExecutor in-process backend 2026-05-26 10:07:55 +08:00
executor_docker.py Reduce chat context token usage 2026-06-04 16:41:14 +08:00
executor_host.py fix(loop): 工具调用 arguments 损坏时丢弃重试 + 非流式兜底,断投毒级联 2026-06-06 20:51:45 +08:00
export_docx.py core(0003): name + working_dir + skill schema 重构 + per-user .memory 2026-05-17 19:15:37 +08:00
llm.py fix(usage): 顶栏 token 累计修 — sync_task_tokens 改走 messages SUM,删 LLM.TokenCounter 2026-05-21 13:39:57 +08:00
loop.py feat(web): ask_user 工具 — 回复里渲染可点击「方案确认」选项卡 + bump 0.14.0 2026-06-16 11:23:59 +08:00
memory.py feat(memory): 双层记忆升级为 agent 自管 + 前端只读记忆面板 + bump 0.12.0 2026-06-13 12:20:08 +08:00
paths.py refactor(paths): 砍 ROOT 外路径分支 — 写入入口只接 simple name join workspace 2026-05-20 22:05:32 +08:00
probe.py Phase 4 + 6: capability probe + task 概念 / state.json 2026-05-06 16:21:17 +08:00
scheduler.py feat(wechat): ClawBot 个人微信接入第一期(后端 + 绑定页)+ 双渠道设计 §8.7 + bump 0.22.0 2026-06-24 08:59:56 +08:00
session.py skills+core(命名约定): task 级宪法文件 <date>-<short_id>-<name>.spec.md + spec_lock → spec 简化 2026-05-20 14:03:21 +08:00
sinks.py fix(usage): 顶栏 token 累计修 — sync_task_tokens 改走 messages SUM,删 LLM.TokenCounter 2026-05-21 13:39:57 +08:00
skills.py feat(skills): 用户私有 skill(.skills)+ 创作工具 + skill-creator + Web 查看页 2026-06-11 09:46:39 +08:00
task.py feat(media): 接入豆包 Seedream 5.0 图像生成 tool + 0007 cost_usd→cost_cny 全表统一币种 2026-05-20 15:20:34 +08:00
ui.py core/ui: 抽出语义化 console 主题, 调用方去硬编码颜色 2026-05-07 16:10:11 +08:00