feat: improve run.sh with sync/add commands + fix auth-runtime pkg name
This commit is contained in:
parent
dc92b8857e
commit
585cc659b8
|
|
@ -3,3 +3,7 @@
|
|||
.env
|
||||
.env.local
|
||||
*.env
|
||||
|
||||
# uv build artifacts
|
||||
python_auth_runtime/build/
|
||||
python_auth_runtime/src/*.egg-info/
|
||||
|
|
|
|||
55
SKILL.md
55
SKILL.md
|
|
@ -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>
|
||||
```
|
||||
- 根据自然语言自动生成脚本
|
||||
|
||||
## 环境变量
|
||||
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
66
run.sh
66
run.sh
|
|
@ -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
|
||||
|
||||
SCRIPT_NAME="$1"
|
||||
shift
|
||||
|
||||
if [ -z "$SCRIPT_NAME" ]; then
|
||||
echo "Usage: ./run.sh <script> [args...]"
|
||||
ls scripts/*.py | xargs -n1 basename | sed 's/\.py$//' | sed 's/^/ /'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
uv run python "scripts/${SCRIPT_NAME}.py" "$@"
|
||||
# 子命令
|
||||
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 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
|
||||
|
|
|
|||
Loading…
Reference in New Issue