本指南用于本地开发目的。对于生产部署,请参阅部署 Kodus 指南。
先决条件
- Node.js(LTS 版本)
- Docker
- Yarn 或 NPM
- LLM API 密钥
运行项目
- 自动设置(推荐)
- 手动设置
要进行快速自动设置,请使用我们的设置脚本:此脚本将自动:带外部集成(webhook 等):
- ✅ 检查所有必需的依赖项(Node.js、Yarn、Docker、OpenSSL)
- ✅ 安装项目依赖项
- ✅ 创建和配置
.env文件 - ✅ 自动生成所有必需的安全密钥
- ✅ 设置 Docker 网络
- ✅ 提供清晰的后续步骤
选择您的 LLM 模式(必需)
在启动服务之前选择一种模式并填写您的 .env。- Fixed Mode (Recommended for Self-Hosted)
- Automatic Mode (High Quality)
This is the simplest mode and recommended for self-hosted installations. You only need to configure a single LLM model.
This mode is ideal for self-hosted because:
- Requires only a single API key
- Works with any OpenAI-compatible API provider
- Easier to configure and maintain
Model Configuration Guides
Check our model-specific guides for detailed setup instructions with popular providers like Novita, OpenAI, Anthropic, and more.
后续步骤
基本设置:开发工作流程
基本本地开发
- 启动服务:
yarn docker:start - 运行迁移:
yarn migrate:dev - 加载种子数据:
yarn seed - 创建隧道:
yarn tunnel(创建公共端点) - 健康检查:
yarn dev:health-check
带外部集成的开发
如果您需要测试与外部服务的集成(如 Git webhook):- 启动服务:
yarn docker:start && yarn migrate:dev && yarn seed - 创建隧道:
yarn tunnel(创建公共端点) - 更新 webhook URL:隧道命令会自动更新您的
.env - 配置 Git 提供商:在 Git 提供商的 webhook 设置中使用隧道 URL
- 测试集成:触发 webhook 并监控日志
隧道优势:
- 在本地测试真实的 webhook 集成
- 调试外部服务通信
- 与团队成员共享您的开发环境
- 测试移动应用或其他外部客户端
故障排除
快速健康检查
- 🐳 容器状态:Kodus API、PostgreSQL、MongoDB
- 🔌 端口可用性:API(3001)、PostgreSQL(5432)、MongoDB(27017)
- 🗄️ 数据库设置:迁移和种子数据
- 🌐 API 端点:健康端点和基本连接
手动验证
- 检查 API 健康:在浏览器中访问
http://localhost:3001/health - 验证数据库连接:检查日志以查看成功的数据库连接
- 测试 webhook 端点:您的 Git 提供商 webhook 应指向
http://localhost:3001/[provider]/webhook
设置脚本问题
如果自动设置脚本(yarn dev:first-run)失败:
缺少依赖项:
常见问题
端口冲突:- 确保端口 3001(API)、5432(PostgreSQL)和 27017(MongoDB)可用
- 在启动 Kodus 之前停止使用这些端口的其他服务
- 验证项目根目录中存在
.env文件 - 检查变量赋值中是否没有尾随空格
- 确保所有必需的安全密钥都已正确生成
- 运行
yarn dev:health-check以获取详细诊断 - 检查容器是否完全启动(在
yarn docker:start后等待 1-2 分钟) - 验证数据库迁移和种子数据是否已加载
- 使用
yarn docker:logs检查 API 日志以查找启动错误
- 容器启动后 API 需要时间才能完全初始化
- 检查迁移和种子数据是否已加载
- 验证
.env文件是否包含所有必需的变量 - 运行健康检查以查看哪些特定组件失败
- 使用
yarn tunnel为外部 webhook 创建公共端点 - 更新 Git 提供商的 webhook URL 以使用隧道 URL
- 测试 webhook 集成时确保隧道正在运行
- 检查隧道日志以查找连接问题