81 lines
3.8 KiB
Plaintext
81 lines
3.8 KiB
Plaintext
# 打包工具也纳入 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 已在上面
|