---
name: yida-export-conversation
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` 列出可用记录，引导用户选择正确文件 |
| 网络超时 | 本技能为纯本地操作，无网络依赖，检查文件系统权限 |
| 未知错误 | 停止执行，完整展示错误信息，建议用户反馈问题 |
