Files
openclaw-skill-qiniu/deploy.sh
daoqi 1aeae9cc51 initial: 七牛云上传 OpenClaw Skill
功能特性:
- 支持 /upload, /u 命令上传文件到七牛云
- 支持 /qiniu-config 配置管理
- 支持飞书卡片交互
- 支持指定上传路径和存储桶
- 自动刷新 CDN 缓存
- 支持文件覆盖上传

包含组件:
- OpenClaw 处理器 (openclaw-processor.js)
- 独立监听器 (scripts/feishu-listener.js)
- 核心上传脚本 (scripts/upload-to-qiniu.js)
- 部署脚本 (deploy.sh)
- 完整文档

部署方式:
1. 复制 skill 到 ~/.openclaw/workspace/skills/
2. 配置 ~/.openclaw/credentials/qiniu-config.json
3. 重启 OpenClaw Gateway
2026-03-07 16:02:18 +08:00

139 lines
3.8 KiB
Bash
Executable File
Raw Permalink 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.
#!/bin/bash
# 七牛云上传 Skill - 部署脚本
# 用途:将 Skill 部署到其他 OpenClaw 服务器
set -e
SKILL_NAME="qiniu-uploader"
SKILL_DIR="$HOME/.openclaw/workspace/skills/$SKILL_NAME"
CREDENTIALS_DIR="$HOME/.openclaw/credentials"
echo "🍙 七牛云上传 Skill - 部署工具"
echo "════════════════════════════════════════════════════"
echo ""
# 检查是否提供了目标服务器
if [ -z "$1" ]; then
echo "用法:$0 <目标服务器> [目标路径]"
echo ""
echo "示例:"
echo " $0 user@192.168.1.100"
echo " $0 user@example.com:~/.openclaw/workspace/skills/"
echo ""
echo "或者,如果是本地部署到其他 OpenClaw 实例:"
echo " $0 local"
exit 1
fi
TARGET="$1"
TARGET_PATH="${2:-$HOME/.openclaw/workspace/skills/}"
if [ "$TARGET" = "local" ]; then
echo "📦 本地部署模式"
echo ""
# 检查 Skill 目录是否存在
if [ ! -d "$SKILL_DIR" ]; then
echo "❌ Skill 目录不存在:$SKILL_DIR"
exit 1
fi
# 创建凭证目录
mkdir -p "$CREDENTIALS_DIR"
# 创建配置模板
CONFIG_FILE="$CREDENTIALS_DIR/qiniu-config.json"
if [ ! -f "$CONFIG_FILE" ]; then
echo "📝 创建配置模板..."
cat > "$CONFIG_FILE" << 'EOF'
{
"buckets": {
"default": {
"accessKey": "YOUR_ACCESS_KEY_HERE",
"secretKey": "YOUR_SECRET_KEY_HERE",
"bucket": "your-bucket-name",
"region": "z2",
"domain": "https://your-cdn-domain.com"
}
}
}
EOF
echo "✅ 配置模板已创建:$CONFIG_FILE"
echo ""
echo "⚠️ 请编辑配置文件,填入你的七牛云密钥:"
echo " nano $CONFIG_FILE"
echo ""
else
echo "✅ 配置文件已存在:$CONFIG_FILE"
fi
echo "🎉 本地部署完成!"
echo ""
echo "下一步:"
echo " 1. 编辑配置文件nano $CONFIG_FILE"
echo " 2. 重启 Gateway: openclaw gateway restart"
echo " 3. 测试上传:/upload /test/file.txt"
else
echo "📦 远程部署模式"
echo "目标:$TARGET:$TARGET_PATH"
echo ""
# 检查 Skill 目录是否存在
if [ ! -d "$SKILL_DIR" ]; then
echo "❌ Skill 目录不存在:$SKILL_DIR"
exit 1
fi
# 打包 Skill
echo "📦 打包 Skill..."
cd "$HOME/.openclaw/workspace/skills/"
tar -czf "/tmp/${SKILL_NAME}.tar.gz" "$SKILL_NAME/"
# 传输到目标服务器
echo "📤 传输到目标服务器..."
scp "/tmp/${SKILL_NAME}.tar.gz" "$TARGET:/tmp/"
# 在目标服务器上解压
echo "📥 在目标服务器上解压..."
ssh "$TARGET" << 'ENDSSH'
mkdir -p ~/.openclaw/workspace/skills/
tar -xzf /tmp/qiniu-uploader.tar.gz -C ~/.openclaw/workspace/skills/
rm /tmp/qiniu-uploader.tar.gz
echo "✅ Skill 已部署到 ~/.openclaw/workspace/skills/qiniu-uploader/"
ENDSSH
# 创建配置说明
echo ""
echo "📝 请在目标服务器上配置七牛云凭证:"
echo ""
echo "ssh $TARGET << 'ENDSSH'"
echo "mkdir -p ~/.openclaw/credentials/"
echo "cat > ~/.openclaw/credentials/qiniu-config.json << 'EOF'"
echo "{"
echo ' "buckets": {'
echo ' "default": {'
echo ' "accessKey": "YOUR_ACCESS_KEY_HERE",'
echo ' "secretKey": "YOUR_SECRET_KEY_HERE",'
echo ' "bucket": "your-bucket-name",'
echo ' "region": "z2",'
echo ' "domain": "https://your-cdn-domain.com"'
echo ' }'
echo ' }'
echo "}"
echo "EOF"
echo "openclaw gateway restart"
echo "ENDSSH"
echo ""
# 清理临时文件
rm -f "/tmp/${SKILL_NAME}.tar.gz"
echo "🎉 远程部署完成!"
fi
echo ""
echo "════════════════════════════════════════════════════"
echo "📖 详细文档:$SKILL_DIR/INSTALL.md"