mcpField
C
conversation-json-to-md

conversation-json-to-md

github.com/yangsonhung文档处理1864 次安装12 周前更新
代码仓库

关于 conversation-json-to-md

将聊天导出 JSON 转换为 Markdown 文件的技能,每段对话单独成档。它保留用户与助手的问答及回答格式,并在第二轮检查文件名和标题结构。

主要功能

  1. 01识别常见聊天导出结构
  2. 02每段对话生成一个 Markdown 文件
  3. 03仅保留用户与助手的问答
  4. 04保留回答 Markdown 并规范标题
  5. 05检查文件名和格式

适用场景

  1. 01将聊天导出内容拆分为多个对话文件
  2. 02从导出聊天生成问答 Markdown
  3. 03规范转换文件的标题和文件名

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yangsonhung/awesome-agent-skills --skill conversation-json-to-md

安装后在 Claude Code 中输入/conversation-json-to-md确认已加载。

附带文件scripts/convert_conversations.py

详细介绍

Conversation JSON 转 MD

概述

将用户提供的聊天导出 JSON 转换为多个 Markdown 文件,并统一问答格式。此工作流仅保留用户与助手之间的对话,将每段对话写入一个 Markdown 文件,保留答案中的 Markdown,并通过第二轮处理规范文件名和标题结构。

适用场景

用户提出以下需求时,使用此技能:

  • 将一份 JSON 聊天导出文件拆分为多个 .md 文件
  • 每个 Markdown 文件保存一段对话
  • 仅保留用户和助手的问答内容
  • 将回复部分的标题改为 Answer
  • 通过第二轮格式处理规范导出的文件

不适用场景

以下情况不要使用此技能:

  • 不涉及 JSON 聊天导出的纯文本转换
  • 非对话 JSON 处理任务
  • 需要语义总结而非结构转换的请求

说明

  1. 读取用户提供的输入文件路径。不要假设文件名是默认值。
  2. 自动检测对话/消息结构。
  3. 每段对话导出为一个 Markdown 文件。
  4. 仅保留用户/助手的问答内容。
  5. 将每个问答块格式化为:
    • ## <question text>
    • ### Answer
  6. 保留答案中的 Markdown,并将答案内部标题级别降低一级。
  7. 运行独立的第二轮格式检查,在最终交付前修正文件名和标题结构。

支持的输入结构

随附脚本支持常见的导出格式,包括:

  • DeepSeek/ChatGPT 类映射树(mapping/root/children/fragments)
  • Qwen 类导出(data[].chat.messages[]、带有 phase=answer 的 content_list)
  • Claude 网页导出格式(list[{ name, chat_messages: [...] }])
  • 通用消息数组(messages、history、conversations、dialog、turns)
  • 成对字段(question-answer、prompt-response、input-output)

如果格式检测失败,请停止并向用户索要一段示例片段,然后扩展解析规则。

运行脚本

python3 scripts/convert_conversations.py \
  --input /path/to/<user-provided>.json \
  --output-dir /path/to/output_md \
  --clean

输出格式

每个输出文件使用以下结构:

# <conversation title>

## <user question 1>
### Answer
<assistant answer markdown>

## <user question 2>
### Answer
<assistant answer markdown>

第二轮格式处理(必需)

导出后,对输出文件运行第二轮检查/修正:

  1. 文件名规范化:
  • 仅使用标题命名
  • 移除非法文件名字符
  • 使用 (2)、 (3)……解决重名问题
  1. 标题规范化:
  • 仅保留一个 H1:# <conversation title>
  • 确保问题为 H2
  • 确保回复标题严格为 ### Answer
  1. 正文规范化:
  • 保留答案正文中的 Markdown
  • 保留答案内部标题降级
  1. 最终验证:
  • 确认没有文件违反文件名或标题规则

验证清单

  • 文件数量与检测到的对话数量一致
  • 文件名中没有随机后缀
  • 输出中没有 ## REQUEST 或 ## RESPONSE 标题
  • 回复块均使用 ### Answer
  • 输出能正确保留 Markdown 渲染效果

评论

支持 Markdown