跳转到主要内容

生产环境部署指南

自信地将 Shannon 部署到您的基础设施。本节涵盖部署模式、云平台集成和运维最佳实践。
Shannon 目前正在积极开发中。生产环境部署指南正在最后确定。对于生产环境使用,我们建议:
  • 在预发布环境中进行充分测试
  • 密切监控所有服务
  • 加入我们的 Discord 获取部署支持

部署选项

运维

快速开始: 本地开发

对于开发和测试,使用 Docker Compose:
# 克隆仓库
git clone https://github.com/Kocoro-lab/Shannon.git
cd Shannon

# 设置配置
make setup
echo "OPENAI_API_KEY=sk-your-key-here" >> .env

# 下载 Python WASI 解释器
./scripts/setup_python_wasi.sh

# 启动所有服务
make dev
详细的设置说明请参见安装指南

架构概览

Shannon 由多个需要部署的服务组成:

核心服务

服务用途扩展方式
GatewayREST API, 身份认证水平扩展 (无状态)
Orchestrator任务协调, gRPC水平扩展 (通过 Temporal 有状态)
Agent CoreAgent 执行, Rust 运行时水平扩展
LLM ServiceLLM 提供商网关水平扩展
Desktop App实时监控 UI(原生客户端)客户端侧;后端独立扩展

数据存储

存储用途扩展方式
PostgreSQL任务元数据、事件、会话垂直扩展 + 只读副本
Redis缓存、发布/订阅、会话集群模式
Qdrant向量嵌入、语义记忆水平扩展
Temporal工作流状态、持久化执行集群模式

生产环境检查清单

在部署到生产环境之前:

安全性

  • 启用身份认证 (GATEWAY_SKIP_AUTH=0)
  • 为所有服务配置 TLS/SSL
  • 定期轮换 API 密钥
  • 设置 OPA 策略进行访问控制
  • 启用审计日志
  • 配置网络策略/防火墙

可靠性

  • 设置健康检查和就绪探针
  • 配置自动扩展策略
  • 实现熔断器
  • 设置资源限制 (CPU、内存)
  • 配置备份和灾难恢复
  • 测试故障转移场景

可观测性

  • 部署 Prometheus 和 Grafana
  • 配置告警规则
  • 设置日志聚合 (ELK/Loki)
  • 启用分布式追踪 (OpenTelemetry)
  • 为常见问题创建运维手册

性能

  • 调优 Temporal worker 并发
  • 优化数据库连接
  • 配置 Redis 缓存
  • 设置适当的资源限制
  • 生产环境启动前进行负载测试

资源需求

最低配置 (开发环境)

  • CPU: 4 核
  • RAM: 8GB
  • 存储: 20GB SSD

推荐配置 (生产环境 - 小型)

  • CPU: 总共 16 核 (分布在各服务中)
  • RAM: 总共 32GB
  • 存储: 100GB SSD
  • 网络: 1Gbps

推荐配置 (生产环境 - 大型)

  • CPU: 64+ 核
  • RAM: 128GB+
  • 存储: 500GB+ SSD
  • 网络: 10Gbps
  • 负载均衡器: 必需
  • 多可用区: 推荐

下一步

获取帮助

  • Discord: 加入我们的社区获取部署帮助
  • GitHub: 提交部署问题或疑问
  • 文档: 查看故障排除了解常见问题