feat: improve run.sh with sync/add commands + fix auth-runtime pkg name

This commit is contained in:
ivanberry 2026-03-17 07:28:57 +08:00
parent dc92b8857e
commit 585cc659b8
6 changed files with 1374 additions and 39 deletions

4
.gitignore vendored
View File

@ -3,3 +3,7 @@
.env
.env.local
*.env
# uv build artifacts
python_auth_runtime/build/
python_auth_runtime/src/*.egg-info/

View File

@ -11,7 +11,11 @@ metadata: {"openclaw":{"requires":{"bins":["uv"]},"install":[{"kind":"uv","label
**所有脚本必须通过 `{baseDir}/run.sh` 执行,确保使用 uv 虚拟环境:**
```bash
{baseDir}/run.sh <script_name> [args...]
# 执行脚本(兼容模式)
{baseDir}/run.sh read_excel --file data.xlsx
# 或明确使用 run 子命令
{baseDir}/run.sh run read_excel --file data.xlsx
```
**不要直接使用 `python scripts/xxx.py`,会污染系统环境!**
@ -28,43 +32,46 @@ metadata: {"openclaw":{"requires":{"bins":["uv"]},"install":[{"kind":"uv","label
| `translate_excel` | 翻译中→英 | `./run.sh translate_excel --file data.xlsx` |
| `auto_script` | 自扩展 | `./run.sh auto_script --prompt "计算每列总和"` |
## 依赖管理
### 首次使用 / 安装依赖
```bash
cd {baseDir}
./run.sh sync
```
### 添加新依赖
```bash
./run.sh add pandas openpyxl
```
### 手动同步依赖
```bash
./run.sh sync
```
## 核心功能
### 1. 基础文件操作
- 读取 Excel 文件(.xlsx, .csv
- 创建新的 Excel 文件
- 保存和导出
### 2. 合并功能
- 按行合并多个文件
- 按列合并多个文件
- 合并同一文件中的多个 sheet
- 按行/列合并多个文件
- 合并多个 sheet
### 3. 数据处理
- 单元格内容替换
- 批量替换(支持正则表达式)
- 数据筛选、排序、去重
- 替换、筛选、排序、去重
### 4. 翻译功能
- 中文→英文翻译Google Gemini API
- 智能检测中文字符
- 中文→英文Google Gemini API
- 保留原始格式
### 5. 自扩展功能
- 根据自然语言需求自动生成脚本
- 模板复用 + 智能缓存
## 依赖管理
```bash
cd {baseDir}
# 同步依赖
uv sync
# 添加新包
uv add <package-name>
```
- 根据自然语言自动生成脚本
## 环境变量

View File

@ -9,7 +9,7 @@ dependencies = [
"google-generativeai>=0.8.0",
"requests>=2.28.0",
# 引用本地 auth-runtime 包
"python-auth-runtime-py @ file:///${PROJECT_ROOT}/python_auth_runtime",
"clawd-auth-runtime-py @ file:///${PROJECT_ROOT}/python_auth_runtime",
]
[tool.uv]

View File

@ -1,5 +1,5 @@
[project]
name = "@clawd/auth-runtime-py"
name = "clawd-auth-runtime-py"
version = "1.0.0"
description = "Python 版本的 OpenClaw Auth Runtime"
readme = "README.md"

52
run.sh
View File

@ -2,20 +2,60 @@
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# 检查 uv
if ! command -v uv &> /dev/null; then
echo "❌ uv not found" >&2
echo "❌ uv not found. Install: curl -LsSf https://astral.sh/uv/install.sh | sh" >&2
exit 1
fi
[ ! -d ".venv" ] && uv sync
# 子命令
case "${1:-}" in
sync|install)
echo "📦 Syncing dependencies..."
uv sync
exit $?
;;
add)
shift
echo "📦 Adding package: $@"
uv add "$@"
exit $?
;;
run)
shift
SCRIPT_NAME="$1"
shift
if [ -z "$SCRIPT_NAME" ]; then
echo "Usage: ./run.sh <script> [args...]"
echo "Usage: ./run.sh run <script> [args...]"
ls scripts/*.py | xargs -n1 basename | sed 's/\.py$//' | sed 's/^/ /'
exit 1
fi
uv run python "scripts/${SCRIPT_NAME}.py" "$@"
exit $?
;;
"")
echo "Excel Toolkit - uv managed"
echo ""
echo "Usage:"
echo " ./run.sh sync # Install/sync dependencies"
echo " ./run.sh add <package> # Add a new dependency"
echo " ./run.sh run <script> # Run a script with uv"
echo ""
echo "Scripts:"
ls scripts/*.py 2>/dev/null | xargs -n1 basename | sed 's/\.py$//' | sed 's/^/ /'
exit 0
;;
*)
# 兼容模式:直接当脚本名
SCRIPT_NAME="$1"
shift
SCRIPT_PATH="scripts/${SCRIPT_NAME}.py"
if [ ! -f "$SCRIPT_PATH" ]; then
echo "❌ Script not found: $SCRIPT_PATH" >&2
echo "Try: ./run.sh run <script>"
exit 1
fi
uv run python "$SCRIPT_PATH" "$@"
exit $?
;;
esac

1284
uv.lock Normal file

File diff suppressed because it is too large Load Diff