跳转至

Portal 扩展与架构接入

Gateway/Portal 配置故障修复

时间:2026-03-18 晚
问题:Gateway/Portal 配置故障与数据库接入修复

故障现象

  • Portal 无法正常连接数据库
  • Gateway 配置信息读取异常
  • 系统间数据同步出现问题

根因分析

通过系统性排查发现的问题:

数据库连接配置

  • 连接字符串:数据库连接参数配置错误
  • 权限设置:数据库用户权限不足
  • 网络配置:防火墙规则阻断连接

配置文件同步

  • 版本不一致:不同组件使用的配置文件版本不匹配
  • 路径问题:配置文件路径设置错误
  • 格式验证:配置文件格式验证失败

修复方案

系统化的故障修复流程:

配置标准化

# 统一配置格式
database:
  host: "localhost"
  port: 5432
  database: "openclaw_portal"
  username: "portal_user"
  password: "${DB_PASSWORD}"

gateway:
  port: 18789
  api_prefix: "/api/v1"
  cors_origins: ["http://localhost:18851"]

健康检查机制

建立组件健康检查: - 数据库连通性:定期检查数据库连接状态 - 配置一致性:验证各组件配置的一致性 - 服务可用性:监控各服务的可用性状态

Portal 时光机功能

时间:2026-03-18 深夜

功能设计

Portal 时光机提供历史数据的时间旅行能力:

核心功能

  • 历史查看:查看 OpenClaw 系统的历史状态
  • 时间导航:快速跳转到特定时间点
  • 状态对比:对比不同时间点的系统状态
  • 回滚支持:支持配置回滚到历史状态

数据管理

-- 历史快照表结构
CREATE TABLE system_snapshots (
  id SERIAL PRIMARY KEY,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  component VARCHAR(50) NOT NULL,
  snapshot_data JSONB NOT NULL,
  version VARCHAR(20),
  metadata JSONB
);

-- 配置变更日志
CREATE TABLE config_changes (
  id SERIAL PRIMARY KEY,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  component VARCHAR(50) NOT NULL,
  change_type VARCHAR(20) NOT NULL,
  old_value JSONB,
  new_value JSONB,
  operator VARCHAR(50)
);

前端体验优化

优化 Portal 前端用户体验:

界面设计

  • 时间轴组件:直观的时间选择和导航
  • 状态可视化:系统状态的图形化展示
  • 变更高亮:突出显示配置变更点

交互优化

  • 快速跳转:一键跳转到关键时间点
  • 批量操作:支持批量查看和操作
  • 搜索过滤:快速定位特定事件和变更

端口规划统一

端口分配策略

统一规划各组件的端口分配:

服务组件端口分配:
- OpenClaw Gateway: 18789
- ClawCraft Frontend: 18851
- ClawCraft Plugin API: 18850
- Portal Backend: 18852
- Portal Frontend: 18853
- Clawline Gateway: 18854
- Clawline Channel: 18855

配置管理

建立端口配置的集中管理:

配置模板

// 端口配置模板
const portConfig = {
  development: {
    openclaw_gateway: 18789,
    clawcraft_frontend: 18851,
    clawcraft_api: 18850,
    portal_backend: 18852,
    portal_frontend: 18853
  },
  production: {
    openclaw_gateway: 8789,
    clawcraft_frontend: 8851,
    clawcraft_api: 8850,
    portal_backend: 8852,
    portal_frontend: 8853
  }
};

Clawline Relay/Gateway 架构

时间:2026-03-19 凌晨

架构设计

设计 Clawline 与 OpenClaw 的集成架构:

Relay 层设计

interface ClawlineRelay {
  // 消息转发
  forwardMessage(message: Message): Promise<void>;

  // 状态同步
  syncSystemState(): Promise<SystemState>;

  // 认证管理
  authenticateUser(credentials: UserCredentials): Promise<AuthToken>;

  // 会话管理
  createSession(config: SessionConfig): Promise<Session>;
}

Gateway 集成

  • 协议适配:Clawline 协议与 OpenClaw 协议的转换
  • 状态同步:实时同步系统状态到 Clawline
  • 权限控制:统一的权限验证和控制

Channel 接入

实现 OpenClaw Channel 与 Clawline 的深度集成:

消息流

用户消息 → Clawline → Relay → OpenClaw Gateway → Agent 处理 → 响应返回

状态管理

  • 会话状态:Agent 会话状态的实时同步
  • 任务状态:任务执行进度的实时更新
  • 系统状态:系统健康状态的监控和报告

多 Relay Admin 与认证统一

时间:2026-03-19 白天

多 Relay 管理

设计支持多个 Relay 实例的管理架构:

负载均衡

  • 请求分发:智能分发用户请求到不同 Relay
  • 故障切换:自动切换到健康的 Relay 实例
  • 性能监控:监控各 Relay 实例的性能表现

配置同步

# 多 Relay 配置
relays:
  - name: "relay-primary"
    endpoint: "http://relay1.example.com:18854"
    weight: 100
    status: "active"
  - name: "relay-backup"
    endpoint: "http://relay2.example.com:18854"
    weight: 50
    status: "standby"

认证与数据库统一

建立统一的认证和数据库管理:

统一认证

  • Single Sign-On:用户只需登录一次
  • Token 管理:统一的 Token 生成和验证
  • 权限继承:权限在各组件间的继承和传递

数据库统一

  • 数据一致性:确保各组件数据的一致性
  • 事务管理:跨组件操作的事务处理
  • 备份策略:统一的数据备份和恢复策略

架构演进意义

系统集成深化

这次扩展实现了 OpenClaw 生态系统的深度集成: - 数据互通:各组件间的数据无缝流转 - 功能协同:不同组件功能的协同工作 - 统一管理:集中化的系统管理和监控

可扩展性增强

为系统的横向扩展奠定了基础: - 微服务架构:支持独立部署和扩展 - API 标准化:统一的 API 设计标准 - 配置管理:集中化的配置管理机制

运维效率提升

显著提升了系统的运维效率: - 自动化部署:支持自动化的部署流程 - 监控告警:全面的系统监控和告警机制 - 故障恢复:快速的故障诊断和恢复能力

这次扩展标志着 OpenClaw 从单一平台向完整生态系统的重要转变,为后续的大规模应用和商业化奠定了坚实的基础。