- 支持三种图表: 折线图、柱状图、散点图 - MCP 协议支持 (stdio + HTTP) - 完整的单元测试和集成测试 - Docker 支持 - Makefile 构建脚本
69 lines
1.5 KiB
Markdown
69 lines
1.5 KiB
Markdown
# taolun.md - 会话记录
|
|
|
|
## 会话信息
|
|
|
|
| 项目 | 内容 |
|
|
|------|------|
|
|
| 日期 | 2026-04-15 |
|
|
| 项目 | ttychart-mcp |
|
|
| 目的 | 创建终端图表 MCP 服务 |
|
|
|
|
---
|
|
|
|
## 讨论主题
|
|
|
|
### 1. 项目需求确认
|
|
|
|
用户希望创建:
|
|
- 给多个 CLI 工具 (picoclaw, opencode, zeroclaw, openclaw) 使用的终端图表技能
|
|
- 需要支持折线图、柱状图、散点图
|
|
- 通过 MCP 协议实现跨工具复用
|
|
|
|
### 2. 库选择
|
|
|
|
确认使用:
|
|
- **asciigraph**: 轻量,但只有折线图
|
|
- **ntcharts**: 丰富,但依赖 BubbleTea
|
|
- **最终决定**: 自实现简单图表,保持轻量
|
|
|
|
### 3. MCP SDK 选择
|
|
|
|
尝试:
|
|
- ❌ modelcontextprotocol/go-sdk - API 不稳定
|
|
- ✅ mark3labs/mcp-go - 社区成熟实现
|
|
|
|
### 4. 依赖库
|
|
|
|
- mcp-go: MCP 协议实现
|
|
- lipgloss: 终端样式
|
|
- ntcharts: 保留(备用)
|
|
|
|
---
|
|
|
|
## 决议
|
|
|
|
1. 项目命名为 `ttychart-mcp`
|
|
2. 仓库地址 `hub.gaomia.site/titor/ttychart-mcp`
|
|
3. 首版本实现三种图表: plot_line, plot_bar, plot_scatter
|
|
4. 同时支持 stdio 和 HTTP 模式
|
|
5. 创建必要文档: agents.md, changelog.md, taolun.md
|
|
|
|
---
|
|
|
|
## 踩坑记录
|
|
|
|
| 序号 | 问题 | 解决 |
|
|
|------|------|------|
|
|
| 1 | MCP SDK 选择错误 | 改用 mcp-go |
|
|
| 2 | lipgloss 导入路径错误 | v2 版本使用 charm.land/lipgloss/v2 |
|
|
| 3 | mcp-go 参数访问方式不确定 | JSON 序列化反序列化 |
|
|
| 4 | LSP 报错但编译成功 | LSP 缓存问题,忽略 |
|
|
|
|
---
|
|
|
|
## 下一步
|
|
|
|
- [ ] 添加单元测试
|
|
- [ ] 添加集成测试
|
|
- [ ] 测试三种图表功能
|
|
- [ ] 提交到 Git 仓库 |