内容
# 开放代码聊天导出
MCP 服务器,用于导出 [开放代码](https://opencode.ai) 聊天记录到 Markdown 文件。
## 功能
- **导出当前对话** — 无需知道会话 ID
- 按时间顺序排列,交织显示用户和助手消息
- 工具调用渲染为可折叠的 `<details>` 块,包含输入/输出
- 模型推理显示为块引用
- 代码补丁带有语法高亮
- 成本和令牌使用总结
## 安装
```bash
pip install opencode-chat-export
```
或使用 uv:
```bash
uv tool install opencode-chat-export
```
## 设置
添加到您的开放代码配置(`~/.config/opencode/opencode.jsonc`):
```jsonc
{
"mcp": {
"chat-export": {
"type": "local",
"command": ["opencode-chat-export"],
"enabled": false
}
}
}
```
将 `"enabled": true` 设置为激活,然后要求您的代理导出当前对话。
## MCP 工具
### `export_current_session`
导出当前活跃的对话 — 最近更新的会话。当您需要保存当前正在进行的对话时,这是您想要的工具。无需知道会话 ID。
**参数:**
- `output_dir`(可选,默认值:`~/opencode-exports/`)
### `export_session`
通过会话 ID(完整或前缀)或 slug 导出特定会话。
**参数:**
- `session_id`(必填)— 例如 `ses_189058eb` 或仅 `ses_1890`
- `output_dir`(可选)
### `export_recent`
导出最近更新的 N 个会话。
**参数:**
- `count`(可选,默认值:`5`)
- `output_dir`(可选)
### `list_sessions`
列出按最后更新时间排序的可用会话(最新优先)。对于查找要传递给 `export_session` 的会话 ID 非常有用。
**参数:**
- `limit`(可选,默认值:`20`)
## 命令行界面用法
```bash
# 列出最近的会话
opencode-chat-export list
# 通过 ID 前缀导出会话
opencode-chat-export export ses_189058eb
# 导出所有会话
opencode-chat-export export-all -o ~/my-exports
```
## 工作原理
该工具直接从开放代码的 SQLite 数据库读取,查询 `session`、`message` 和 `part` 表以按时间顺序重建对话。它自动检测 Windows(`%APPDATA%/ai.opencode.desktop/opencode.db`)和 Linux/macOS(`~/.local/share/opencode/opencode.db`)上的数据库位置。
当前会话通过按 `time_updated`(上次修改时间)降序排列会话并选取第一个来标识 — 这对应于您当前正在进行的对话。
## 许可证
MIT