mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-05-10 17:42:49 +08:00
feat: 飞书官方插件迁移 + 配对审批 + Gateway防卡死 + 微信升级修复 + 更新检测修复
- 飞书渠道从 @openclaw/feishu 迁移到 @larksuite/openclaw-lark 官方插件 - 保存飞书配置时自动禁用旧 feishu 插件,防止新旧插件冲突 - 所有主要渠道(飞书/Telegram/Discord/Slack)启用配对审批UI - gateway_command 增加20s超时,超时后force-kill+fresh start - 全平台启动前端口占用检查,防止Guardian无限拉起 - Linux gateway_command 补齐 Duration 导入和 cleanup_zombie 实现 - Guardian自动守护在Tauri桌面端也启用,轮询间隔30s→15s - 微信渠道:升级操作不再弹出扫码二维码,按钮文案区分安装/升级 - 版本更新检测:CI不再将minAppVersion写死为当前版本 - 部署脚本增强OpenClaw检测,支持已安装的官方版 - 日间/夜间模式圆形扩散切换动画(View Transitions API) - API错误信息完整展示(429限流等),URL自动转可点击链接 - 第三方API接入引导优化:移除内置密钥,引导式流程 - 修复全平台 Clippy 警告(strip_prefix/dead_code/unnecessary_unwrap等) - Rust代码格式化修复(cargo fmt) - toast组件支持HTML内容渲染 - Rust后端test_model返回详细错误信息
This commit is contained in:
@@ -129,18 +129,69 @@ install_git() {
|
||||
echo "✅ Git 安装完成"
|
||||
}
|
||||
|
||||
# 查找 openclaw 可执行文件(兼容各种安装方式)
|
||||
find_openclaw() {
|
||||
# 1. 直接在 PATH 中查找
|
||||
if command -v openclaw &> /dev/null; then
|
||||
echo "$(command -v openclaw)"
|
||||
return 0
|
||||
fi
|
||||
# 2. 常见 npm 全局安装路径
|
||||
local candidates=(
|
||||
"/usr/local/bin/openclaw"
|
||||
"/usr/bin/openclaw"
|
||||
"$HOME/.npm-global/bin/openclaw"
|
||||
"$HOME/.local/bin/openclaw"
|
||||
)
|
||||
# 3. 从 npm prefix 获取(不使用 sudo,避免触发密码提示)
|
||||
local npm_prefix=$(npm config get prefix 2>/dev/null)
|
||||
if [ -n "$npm_prefix" ]; then
|
||||
candidates+=("$npm_prefix/bin/openclaw")
|
||||
fi
|
||||
for p in "${candidates[@]}"; do
|
||||
if [ -x "$p" ]; then
|
||||
echo "$p"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
# 检测 OpenClaw 版本来源(官方 vs 汉化版)
|
||||
detect_openclaw_source() {
|
||||
local oc_bin="$1"
|
||||
local ver=$("$oc_bin" --version 2>/dev/null || echo "")
|
||||
if echo "$ver" | grep -qi "zh\|汉化\|chinese"; then
|
||||
echo "chinese"
|
||||
else
|
||||
echo "official"
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装 OpenClaw
|
||||
install_openclaw() {
|
||||
if command -v openclaw &> /dev/null; then
|
||||
echo "✅ OpenClaw 已安装: $(openclaw --version 2>/dev/null || echo '未知版本')"
|
||||
local oc_path=$(find_openclaw)
|
||||
if [ -n "$oc_path" ]; then
|
||||
local oc_ver=$("$oc_path" --version 2>/dev/null || echo "未知版本")
|
||||
local oc_src=$(detect_openclaw_source "$oc_path")
|
||||
if [ "$oc_src" = "chinese" ]; then
|
||||
echo "✅ OpenClaw 汉化版已安装: $oc_ver (${oc_path})"
|
||||
else
|
||||
echo "✅ OpenClaw 已安装: $oc_ver (${oc_path})"
|
||||
fi
|
||||
# 确保 openclaw 在 PATH 中(防止后续步骤找不到)
|
||||
if ! command -v openclaw &> /dev/null; then
|
||||
export PATH="$(dirname "$oc_path"):$PATH"
|
||||
echo "ℹ️ 已将 $(dirname "$oc_path") 加入 PATH"
|
||||
fi
|
||||
else
|
||||
echo "📦 安装 OpenClaw 汉化版..."
|
||||
if [ "$IS_ROOT" = true ]; then
|
||||
npm install -g @qingchencloud/openclaw-zh --registry "$NPM_REGISTRY" || \
|
||||
npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmjs.org
|
||||
else
|
||||
sudo npm install -g @qingchencloud/openclaw-zh --registry "$NPM_REGISTRY" || \
|
||||
sudo npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmjs.org
|
||||
sudo -E npm install -g @qingchencloud/openclaw-zh --registry "$NPM_REGISTRY" || \
|
||||
sudo -E npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmjs.org
|
||||
fi
|
||||
echo "✅ OpenClaw 安装完成"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user