zcbot/tools
caoqianming 732420a3b7 fix(exec): run_python script_path 宿主预检+前缀容错+code 落盘回退(bump 0.58.22)
失败聚集 run_python/exit「can't open file」15 次/7 天/13 task,DB 逐条核对三形态:
- 没写就跑(13/15):Docker 执行器补宿主侧 is_file 预检,返带纠偏提示的
  [Error] script_path not found,与 host 执行器对齐,不再进容器撞裸 stderr
- 双重拼接:fs 工具输出渲 user_root 相对路径而解析按 workdir 相对(展示/解析
  不对称),模型回传即踩坑;workdir 相对不存在时按 user_root 相对再试
- code+script_path 同给:文件不存在时 code 落盘到 script_path 再执行,
  不再扔掉完好的 code(schema 描述同步注明)

_container_script_path 重写为 _prepare_script(前台+background 共用,code
回写在宿主侧故加 user_root 越界防护);tools/run_python.py host 路径同语义。
测试 +8;诊断脚本 scripts/diag_run_python_noent{,2}.py 留档。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 16:41:43 +08:00
..
__init__.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
ask_user.py feat(web): ask_user 工具 — 回复里渲染可点击「方案确认」选项卡 + bump 0.14.0 2026-06-16 11:23:59 +08:00
base.py fix(wechat,email): host-side 文件工具翻译容器路径,修复附件发不出 + bump 0.24.1 2026-06-24 14:02:48 +08:00
check_process.py feat(procs): 后台进程 bg proc + 对话锁/完成通知 + seedance 续查(bump 0.56.0) 2026-07-10 16:47:11 +08:00
documents.py feat(tools+loop): 批量抓取 + 重复调用守卫 —— 治高轮数烧 token 2026-06-08 16:47:56 +08:00
fs.py fs tools 输出 user_root-relative 路径 + dev SPA chip 锚点修正 + assistant 正文也挂 chip 2026-05-20 14:22:20 +08:00
gpt_image.py feat(media): 第二图像后端 gpt_image(unifyllm 网关,pro 档)(bump 0.58.0) 2026-07-10 20:47:06 +08:00
image_ref.py fix(tools): look_at_image/seedream 接受容器 /workspace 绝对路径(bump 0.34.6) 2026-07-01 14:07:44 +08:00
look_at_image.py feat(prompt): look_at_image 引导改"慢、谨慎调"口径(bump 0.58.13) 2026-07-13 09:23:42 +08:00
materials_project.py fix(tools): MP 工具改服务端限量查询,止血 IP 被封根因 2026-06-01 15:11:16 +08:00
run_python.py fix(exec): run_python script_path 宿主预检+前缀容错+code 落盘回退(bump 0.58.22) 2026-07-13 16:41:43 +08:00
schedule.py feat(scheduler): 定时任务默认单次超时 0→1800s(bump 0.32.4) 2026-06-29 14:52:09 +08:00
seedance.py feat(procs): 后台进程 bg proc + 对话锁/完成通知 + seedance 续查(bump 0.56.0) 2026-07-10 16:47:11 +08:00
seedream.py fix(seedream): size 面积钳制——修 1920x1080 被 ARK 400 打回(bump 0.37.1) 2026-07-03 12:41:46 +08:00
send_email.py fix(wechat,email): host-side 文件工具翻译容器路径,修复附件发不出 + bump 0.24.1 2026-06-24 14:02:48 +08:00
shell.py feat(procs): 后台进程 bg proc + 对话锁/完成通知 + seedance 续查(bump 0.56.0) 2026-07-10 16:47:11 +08:00
skill_authoring.py feat(skills): 用户私有 skill(.skills)+ 创作工具 + skill-creator + Web 查看页 2026-06-11 09:46:39 +08:00
skill_tool.py feat(skills): 用户私有 skill(.skills)+ 创作工具 + skill-creator + Web 查看页 2026-06-11 09:46:39 +08:00
task_progress.py fix(progress): 停压 task_progress 参数修进度还原 + 进度区移到对话区顶部 2026-06-08 09:52:44 +08:00
transcribe_audio.py feat(asr): 录音文件转写工具 transcribe_audio(讯飞 LFASR,bump 0.53.0) 2026-07-08 15:33:14 +08:00
web_fetch.py feat(tools+loop): 批量抓取 + 重复调用守卫 —— 治高轮数烧 token 2026-06-08 16:47:56 +08:00
web_search.py Add web_search and web_fetch tools via Bocha AI search API 2026-05-25 11:37:33 +08:00
wechat_bot.py feat: 定时任务对话归属 + push 统一记录到渠道对话(bump 0.28.0) 2026-06-26 10:51:06 +08:00