fix: 补全 vendor 快照(model_tools/utils/toolsets/gateway/cron/hermes_time)+ python-dotenv 依赖

- vendor_hermes.sh: 补全遗漏的单文件模块和目录
- pyproject.toml: 添加 python-dotenv 隐性依赖
- 全量 import 测试通过(216 .py, 180K 行)
- firecrawl/fal_client 为可选工具,缺失时优雅跳过
This commit is contained in:
2026-04-29 02:24:04 +08:00
parent 9fe8a43e70
commit 3a1ecd7adc
67 changed files with 53228 additions and 64 deletions
+27 -12
View File
@@ -40,24 +40,39 @@ echo "📦 Vendoring hermes@$COMMIT → $VENDOR_DIR"
rm -rf "$VENDOR_DIR"
mkdir -p "$VENDOR_DIR"
# 核心模块
cp "$HERMES_SRC/cli.py" "$VENDOR_DIR/"
cp "$HERMES_SRC/run_agent.py" "$VENDOR_DIR/"
cp "$HERMES_SRC/mcp_serve.py" "$VENDOR_DIR/"
cp "$HERMES_SRC/hermes_state.py" "$VENDOR_DIR/"
cp "$HERMES_SRC/hermes_constants.py" "$VENDOR_DIR/"
cp "$HERMES_SRC/batch_runner.py" "$VENDOR_DIR/" 2>/dev/null || true
# 核心模块(单文件)
for pyfile in cli.py run_agent.py mcp_serve.py hermes_state.py hermes_constants.py \
batch_runner.py model_tools.py utils.py toolsets.py toolset_distributions.py \
hermes_time.py; do
if [ -f "$HERMES_SRC/$pyfile" ]; then
cp "$HERMES_SRC/$pyfile" "$VENDOR_DIR/"
echo "$pyfile"
else
echo "$pyfile 不存在,跳过"
fi
done
# 子模块
cp -r "$HERMES_SRC/hermes_cli" "$VENDOR_DIR/"
cp -r "$HERMES_SRC/tools" "$VENDOR_DIR/"
cp -r "$HERMES_SRC/agent" "$VENDOR_DIR/"
# 子模块(目录)
for subdir in hermes_cli tools agent model_tools utils toolsets toolset_distributions gateway cron; do
if [ -d "$HERMES_SRC/$subdir" ]; then
cp -r "$HERMES_SRC/$subdir" "$VENDOR_DIR/"
echo "$subdir/"
else
echo "$subdir/ 不存在,跳过"
fi
done
# __init__.py
touch "$VENDOR_DIR/__init__.py"
# 版本锁定标记
echo "$COMMIT" > "$VENDOR_DIR/HERMES_COMMIT"
cat > "$VENDOR_DIR/VENDOR_COMMIT" << MARKER
# MindOS CLI Vendor Snapshot
source: hermes
commit: $COMMIT
snapshot_date: $(date +%Y-%m-%d)
snapshot_by: vendor_hermes.sh
MARKER
# 统计
FILE_COUNT=$(find "$VENDOR_DIR" -name "*.py" | wc -l | tr -d ' ')