- Support 9 chart types: line, bar, pie, scatter, bubble, donut, mixed, polar, radar - Multi-format output: ANSI, SVG, PNG, Markdown - Go + Fiber + gonum/plot - Docker support - Morandi color palette
75 lines
1.7 KiB
Markdown
75 lines
1.7 KiB
Markdown
# agents.md
|
||
|
||
## AI 行为规范
|
||
|
||
### 1. 代码规范
|
||
|
||
- 使用 OOP 风格 + 设计模式
|
||
- 遵循 Go 编码规范(fmt, vet, lint)
|
||
- 所有公共函数/类型必须有注释
|
||
- 错误处理:返回有意义错误,使用 errors.Wrap
|
||
|
||
### 2. 文件结构
|
||
|
||
```
|
||
picoclaw-chart/
|
||
├── cmd/server/ # 入口点
|
||
├── internal/
|
||
│ ├── handler/ # HTTP 处理层
|
||
│ ├── service/ # 业务逻辑层
|
||
│ ├── renderer/ # 渲染器(策略模式)
|
||
│ │ ├── renderer.go # 接口定义
|
||
│ │ ├── svg.go # SVG 渲染
|
||
│ │ ├── png.go # PNG 渲染
|
||
│ │ ├── ansi.go # ANSI 彩色渲染
|
||
│ │ └── text.go # 纯文本渲染
|
||
│ └── types/ # 数据结构
|
||
├── .env.example # 环境变量示例
|
||
├── Dockerfile
|
||
├── docker-compose.yml
|
||
└── go.mod
|
||
```
|
||
|
||
### 3. API 设计
|
||
|
||
- 路由前缀:`/api/v1`
|
||
- POST `/chart` - 创建图表
|
||
- GET `/chart/:id` - 获取图表
|
||
- GET `/chart/:id.png` - 下载 PNG
|
||
- GET `/health` - 健康检查
|
||
|
||
### 4. 响应格式
|
||
|
||
```json
|
||
{
|
||
"chart_id": "string",
|
||
"text": "string",
|
||
"ansi": "string",
|
||
"svg": "string",
|
||
"png_url": "string",
|
||
"markdown": "string"
|
||
}
|
||
```
|
||
|
||
### 5. 错误处理
|
||
|
||
- HTTP 4xx: 客户端错误(参数错误等)
|
||
- HTTP 5xx: 服务端错误
|
||
- 错误响应格式:`{"error": "message"}`
|
||
|
||
### 6. 配置管理
|
||
|
||
- 使用 `.env` 文件
|
||
- 支持环境变量覆盖
|
||
- 配置结构:`internal/config/config.go`
|
||
|
||
### 7. 测试策略
|
||
|
||
- 单元测试覆盖核心渲染器
|
||
- 集成测试覆盖 API 端点
|
||
|
||
### 8. 调试策略
|
||
|
||
- 一个问题循环 3 次未解决,强制自动退出
|
||
- 交由用户操作
|