# svc-code - 代码生成微服务 简单的Go微服务,用于管理AI代码生成会话、项目和提示词。 ## 功能 - 会话管理(创建、列表、更新、删除) - 项目管理(创建、列表) - 前端界面(HTML+JS) - 实时日志(SSE) - 健康检查 ## 快速开始 ### 1. 构建 ```bash go build -o svc-code . ``` ### 2. 运行 ```bash ./svc-code ``` 服务将在 `http://localhost:8787` 启动。 ### 3. 访问前端 打开浏览器访问 `http://localhost:8787` ## API 接口 ### 会话管理 - `GET /session` - 获取会话列表 - `POST /session` - 创建新会话 - `GET /session/:id` - 获取会话详情 - `PUT /session/:id` - 更新会话 - `DELETE /session/:id` - 删除会话 ### 项目管理 - `GET /project` - 获取项目列表 - `POST /project` - 创建新项目 - `GET /project/current` - 获取当前项目 ### 系统 - `GET /global/health` - 健康检查 - `GET /global/event` - 事件流(SSE) ## 数据库 表定义在 `tables/` 目录: - `code_sessions` - 会话表 - `code_projects` - 项目表 - `code_prompts` - 提示词表 服务启动时自动创建表(如果使用数据库)。 ## 配置 使用go-base配置框架,支持YAML配置文件或环境变量。 ### 配置文件示例(config.yaml) ```yaml app: name: svc-code version: "1" service: port: 8787 database: host: localhost port: 3306 name: code_service username: root password: "" mongodb: uri: mongodb://localhost:27017 database: code_service ``` ## 前端功能 - 创建/加载会话 - 创建项目 - 输入提示词 - 查看实时日志 - 显示结果 ## 扩展 ### 添加新API 1. 在 `handlers/` 目录创建新的处理函数 2. 在 `main.go` 的 `registerDefaultRouter` 中注册路由 ### 添加新表 1. 在 `tables/` 目录创建新表定义 2. 导入表包(自动注册) ### 添加前端页面 1. 在 `web/` 目录添加HTML/JS/CSS文件 2. 通过 `/` 路径访问 ## 开发 ```bash # 运行开发服务器 go run . # 代码检查 go vet . go fmt . # 测试 go test ./... ``` ## 注意事项 - 默认使用内存存储,重启后数据丢失 - 如需持久化,配置数据库连接 - 认证中间件已启用,需要配置JWT