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:
晴天
2026-03-23 20:37:48 +08:00
parent dccb4b4dbf
commit 3687e26d5d
50 changed files with 8055 additions and 2715 deletions

163
docker-compose.yml Normal file
View File

@@ -0,0 +1,163 @@
# =============================================================================
# ClawPanel Docker Compose 配置
# =============================================================================
# 使用方法:
# 1. 快速启动: docker compose up -d
# 2. 查看日志: docker compose logs -f
# 3. 停止服务: docker compose down
# 4. 重新构建: docker compose up -d --build
# =============================================================================
services:
# ---------------------------------------------------------------------------
# ClawPanel Web 服务
# ---------------------------------------------------------------------------
clawpanel:
build:
context: .
dockerfile: Dockerfile
# 使用 BuildKit 构建缓存
cache_from:
- clawpanel:build-cache
args:
- NPM_REGISTRY=https://registry.npmmirror.com
container_name: clawpanel
hostname: clawpanel
# -------------------------------------------------------------------------
# 网络配置 - 关键:使用 host 网络模式解决容器内外互通问题
# -------------------------------------------------------------------------
# host 模式:容器共享宿主机网络命名空间
# 优点:
# 1. 容器可以直接访问宿主机上的服务(如 Gateway
# 2. 避免端口映射的复杂性
# 3. 性能更好(无额外网络层)
# 注意:使用 host 模式后ports 配置无效
# -------------------------------------------------------------------------
network_mode: host
# -------------------------------------------------------------------------
# 端口映射(仅在 network_mode 为 default 时生效)
# 如果你想用 bridge 模式而不是 host 模式,注释上面一行,取消下面注释
# -------------------------------------------------------------------------
# ports:
# - "1420:1420" # ClawPanel Web 界面
# -------------------------------------------------------------------------
# 卷挂载 - 数据持久化
# -------------------------------------------------------------------------
volumes:
# OpenClaw 配置目录 - 关键!
# 包含 openclaw.json, mcp.json, agents/, devices/ 等
- ~/.openclaw:/root/.openclaw
# ClawPanel 数据目录(可选,用于存储临时文件)
- ./data:/app/data
# -------------------------------------------------------------------------
# 环境变量
# -------------------------------------------------------------------------
environment:
- NODE_ENV=production
# OpenClaw Gateway 地址(如果 Gateway 不在本地,修改为实际地址)
# 注意host 模式下直接使用 localhost 或 127.0.0.1
- OPENCLAW_URL=http://127.0.0.1:18789
# 如果需要代理(取消注释并修改为实际代理地址)
# - HTTP_PROXY=http://host.docker.internal:7890
# - HTTPS_PROXY=http://host.docker.internal:7890
# 时区设置
- TZ=Asia/Shanghai
# 确保 HOME 环境变量正确
- HOME=/root
# -------------------------------------------------------------------------
# 重启策略
# -------------------------------------------------------------------------
restart: unless-stopped
# -------------------------------------------------------------------------
# 健康检查
# -------------------------------------------------------------------------
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1420/"]
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
# -------------------------------------------------------------------------
# 安全配置
# -------------------------------------------------------------------------
# 使用读安全选项减少攻击面
security_opt:
- no-new-privileges:true
# -------------------------------------------------------------------------
# 资源限制(可选,取消注释以限制资源使用)
# -------------------------------------------------------------------------
# deploy:
# resources:
# limits:
# cpus: '1.0'
# memory: 1G
# reservations:
# cpus: '0.5'
# memory: 512M
# -------------------------------------------------------------------------
# 日志配置
# -------------------------------------------------------------------------
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# -------------------------------------------------------------------------
# 依赖(可选,如果 Gateway 在另一个容器中)
# -------------------------------------------------------------------------
# depends_on:
# gateway:
# condition: service_healthy
# ---------------------------------------------------------------------------
# OpenClaw Gateway 服务(可选,取消注释以启用)
# ---------------------------------------------------------------------------
# gateway:
# image: node:22-alpine
# container_name: openclaw-gateway
# hostname: openclaw-gateway
# network_mode: host
# volumes:
# - ~/.openclaw:/root/.openclaw
# environment:
# - TZ=Asia/Shanghai
# restart: unless-stopped
# command: >
# sh -c "npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmmirror.com &&
# openclaw init 2>/dev/null || true &&
# openclaw gateway start --foreground"
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
# interval: 30s
# timeout: 5s
# retries: 3
# logging:
# driver: "json-file"
# options:
# max-size: "10m"
# max-file: "3"
# =============================================================================
# 网络配置(使用 host 模式时不需要)
# =============================================================================
# networks:
# default:
# name: clawpanel-network
# driver: bridge
# =============================================================================
# 卷配置
# =============================================================================
# volumes:
# openclaw-config:
# name: clawpanel-openclaw-config