zcbot/requirements.txt

81 lines
3.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 打包工具也纳入 pip-audit安全下限需随部署一起升级避免应用依赖干净但
# 虚拟环境自带的 pip 仍触发已知漏洞。
pip>=26.1.2
litellm>=1.83.0 # zai provider(GLM)要 ≥1.83;PR #17307 merge 后才内置
aiohttp>=3.14.1 # litellm 传递依赖3.14.1 修复 2026-08 pip-audit 命中项
pyyaml>=6.0
click>=8.1.0
rich>=13.7.0
# 文档生成 (run_python 在 ppt / proposal skill 里会用到)
python-pptx>=0.6.21
python-docx>=1.1.0
matplotlib>=3.8.0
Pillow>=12.3.0 # ppt skill(SVG-first)svg_finalize:配图裁切/内嵌 + 安全修复
# ppt skill 可选 —— 老版 Office(<2019)的 SVG→PNG 兜底;现代 PowerPoint 直接渲 SVG 无需,核心不依赖:
# svglib>=1.5.0
# reportlab>=4.0.0
markdown>=3.5 # skills/_shared/render_pdf.py: md→HTML→chromium 出 PDF(纯 Python,host/sandbox 通吃)
# 素材摄取: PDF/DOCX/PPTX/XLSX/HTML/URL → Markdown (ppt 阶段零 + proposal 阶段零)
markitdown[pdf,docx,pptx,xlsx]>=0.0.1
# 老格式(OLE 复合文档)解析 —— markitdown 只吃现代 xlsx/docx/pptx,盖不到二进制老件;
# 建材院高频收到老 .doc/.xls/.msg 转发件,run_python 里模型手撸解析撞 ModuleNotFoundError
# (toolfail 巡检:olefile 3 用户/3 任务),按"装齐免摩擦"策略补齐这一族:
olefile>=0.46 # OLE 复合文档底层读取(老 .doc/.ppt/.xls/.msg 手工解析)
xlrd>=2.0 # 老 .xls(BIFF)读取,openpyxl 读不了
extract-msg>=0.48 # Outlook .msg 直接解析,省手撸 olefile
# 联网搜索 / web fetch
httpx>=0.27.0
html2text>=2024.0
mcp==2.0.0 # [host-only] 外部系统 Streamable HTTP MCP client
# 语音听写(core/asr_xfyun.py 连讯飞 IAT wss;uvicorn[standard] 也附带,这里显式声明直接依赖)
websockets>=12.0
# 个人微信语音解码(core/audio.py):ClawBot voice_item 是 SILK v3,ffmpeg 解不了;
# 企微 AMR 由系统 ffmpeg 解(见 RUN.md env 段),不走 pilk。
# `[host-only]` 标记 = sandbox 镜像 build 时 grep 剔除:容器内 run_python 用不到语音解码,
# 且 pilk 无 py3.12 预编译 wheel,slim 镜像没 gcc 编不过;host 侧源码编译需 build-essential
pilk>=0.2.4 # [host-only]
# 定时任务(§8.5 scheduled_jobs):cron 串 → next_run_at 计算,正确处理 dom/dow OR 语义 + 时区
croniter>=2.0
# 微信接入(§8.7 ClawBot):segno 渲绑定二维码;cryptography 做凭据列加密 + 文件 AES-128-ECB
segno>=1.6
cryptography>=48.0.1
# broker 外置(§7.0,蓝绿双实例跨进程 SSE/cancel):ZCBOT_REDIS_URL 设了才用,
# 不设走进程内 broker(dev 不需要起 redis);fakeredis 供单测(无需真 redis 服务)
redis>=5.0
fakeredis>=2.23
# §7 B 阶段: Storage 落 PG
sqlalchemy>=2.0.0
jsonschema>=4.23.0 # 专业软件 capability contract 的 Draft 2020-12 校验
psycopg[binary]>=3.1.0
alembic>=1.13.0
# §7 Phase G / D: 纯 JSON API(FastAPI + 原生 SSE),前端由 platform 提供
fastapi>=0.111.0
starlette>=1.3.1 # FastAPI 底层 ASGI显式固定安全下限
uvicorn[standard]>=0.30.0
python-multipart>=0.0.31 # files upload multipart 解析 + 安全修复
pyjwt>=2.8.0 # /v1/auth/login HS256 token mint/verify(§7 D' 过渡形态)
bcrypt>=4.1.0 # /v1/auth/login_password 密码哈希(users.password_hash)
# 科学计算 skill(2026-05-28 加)
# pymatgen skill: 无机材料计算(晶体结构/XRD/相图/Materials Project)
pymatgen>=2024.0
mp-api>=0.41.0
pydantic-settings>=2.14.2 # mp-api 传递依赖;固定安全下限
# stats_ml skill: 统计建模与 ML(sklearn 必装,statsmodels 必装,PyMC 可选)
scikit-learn>=1.4.0
statsmodels>=0.14.0
# pymc>=5.10.0 # 贝叶斯小样本估计,装包重(带 pytensor),按需打开
# arviz>=0.17.0 # PyMC 后验诊断,跟 pymc 一起开
# plot_pub skill: 出版级 matplotlib(中文字体 + viridis 配色),依赖 matplotlib 已在上面