- 支持三种图表: 折线图、柱状图、散点图 - MCP 协议支持 (stdio + HTTP) - 完整的单元测试和集成测试 - Docker 支持 - Makefile 构建脚本
1.5 KiB
1.5 KiB
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: 保留(备用)
决议
- 项目命名为
ttychart-mcp - 仓库地址
hub.gaomia.site/titor/ttychart-mcp - 首版本实现三种图表: plot_line, plot_bar, plot_scatter
- 同时支持 stdio 和 HTTP 模式
- 创建必要文档: 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 仓库