yida-export-conversation · diff
git:20260401.a36e002 to git:20260407.21dc6f2
39 added, 2 removed. Audit A to A.
---
name: yida-export-conversation
- description: 导出 AI 对话记录,生成结构化的 Markdown 文档。支持 Claude Code 自动检测,其他环境通过 --input 手动指定。
+ description: 导出 AI 对话记录,生成结构化的 Markdown 文档。支持 Claude Code 自动检测,其他环境通过 --input 手动指定。不适用于:导出宜搭表单数据(应使用 yida-data-management),或导出应用配置(应使用 openyida export-app 命令)。
---
-
# 导出 AI 对话记录
## 严格禁止 (NEVER DO)
- 不要在非 Claude Code 环境下省略 `--input` 参数(其他环境无法自动检测对话文件)
## 严格要求 (MUST DO)
- 导出前确认当前环境(`openyida env`),Claude Code 环境可自动检测,其他环境需 `--input` 手动指定
+ - 导出前必须确认输出路径有写权限,避免导出失败
+ - 导出完成后必须告知用户文件路径和文件大小,方便用户确认
+ - 遇到对话文件格式不支持时,必须明确告知用户支持的格式(`.jsonl`)
+ - **本技能不读写 memory**:对话记录导出为本地 Markdown 文件,不依赖跨会话的 memory 状态
## 适用场景
用户需要"导出对话记录"、"保存 AI 对话"、"生成开发文档"时使用。
无需登录宜搭,为纯本地操作。
+ ## 触发条件
+
+ **正向触发**:
+ - "导出对话记录"、"保存 AI 对话"
+ - "生成开发文档"、"导出本次对话"
+ - "把对话记录存下来"
+
+ **不适用场景(不要触发)**:
+ - 导出宜搭表单数据 → `yida-data-management`
+ - 需要实时同步对话内容 → 本技能为一次性导出,不支持实时同步
+ - 非 Claude Code 环境且未提供 `--input` 参数 → 提示用户手动指定对话文件
+
---
> 将 AI 对话记录导出为结构化的 Markdown 文档,方便分享和存档。
## 命令
```bash
openyida export-conversation [options]
```
| 选项 | 说明 |
|------|------|
| `--output <path>` | 指定输出文件路径(默认 `project/conversation-export.md`) |
| `--input <file>` | 手动指定对话记录文件(覆盖自动检测) |
| `--latest` | 仅导出最近一次对话(默认行为) |
| `--list` | 列出可用的对话记录供选择 |
## 支持的 AI 工具环境
| 环境 | 支持方式 |
|------|---------|
| Claude Code | 自动检测并读取对话记录 |
| 其他环境 | 通过 `--input` 手动指定对话文件 |
## 输出格式
生成的 Markdown 文档包含以下内容:
1. **概要信息**
- 应用名称
- AI 工具环境
- 导出时间
- 对话轮次
- 工具调用次数
2. **关键步骤摘要**
- 从工具调用中自动提取的操作步骤
3. **完整对话记录**
- 用户消息
- AI 回复
- 工具调用及执行结果
## 使用示例
```bash
# 导出最近一次对话(自动检测环境)
openyida export-conversation
# 导出到指定文件
openyida export-conversation --output ./my-conversation.md
# 从指定文件导入对话记录
openyida export-conversation --input ./conversation.jsonl
# 列出可用的对话记录
openyida export-conversation --list
```
## 前置条件
- 无需登录宜搭(对话导出是本地操作)
- Node.js ≥ 18
## 注意事项
1. 目前 MVP 版本主要支持 Claude Code 的对话记录自动检测
2. 其他 AI 工具环境请使用 `--input` 手动指定对话文件
3. 后续版本将支持发布到宜搭社区和钉钉群
+
+ ## 异常处理
+
+ | 异常场景 | 处理方式 |
+ |---------|----------|
+ | 自动检测失败(非 Claude Code 环境) | 使用 `--input` 手动指定对话文件路径 |
+ | 输出文件路径无写权限 | 使用 `--output` 指定有写权限的路径 |
+ | 对话文件格式不支持 | 确认文件格式为 `.jsonl`,其他格式暂不支持 |
+ | 导出内容为空 | 确认对话记录文件存在且非空,使用 `--list` 查看可用记录 |
+
+ ## Agent 错误处理策略
+
+ 当 Agent 执行本技能遇到错误时,必须遵循以下默认行为:
+
+ | 错误类型 | 默认处理策略 |
+ |---------|-------------|
+ | 命令执行失败 | 停止执行,向用户展示错误信息,询问是否重试或调整参数 |
+ | 环境检测失败 | 提示用户使用 `--input` 手动指定对话文件路径 |
+ | 文件写入失败 | 提示用户使用 `--output` 指定有写权限的路径,或检查磁盘空间 |
+ | 对话文件不存在 | 使用 `--list` 列出可用记录,引导用户选择正确文件 |
+ | 网络超时 | 本技能为纯本地操作,无网络依赖,检查文件系统权限 |
+ | 未知错误 | 停止执行,完整展示错误信息,建议用户反馈问题 |