第52课 · 分享你的 AI 会话过程
你用 AI 做完了一个项目,想让同事看看整个过程是怎么跑的;或者你想把一次精彩的 AI 对话保存下来做教学素材——怎么把 OpenCode 里的会话导出、分享给别人?
这节课讲两种方法,各有各的用处。
本节要点
- 方法一:
/share命令——OpenCode 自带,一键生成网页链接,方便快捷 - 方法二:Session Visualizer Skill——读取本地数据库,生成完整 HTML,能恢复压缩前的原始内容
- 两种方法的区别:
/share上传到服务器(公开可访问),Skill 在本地生成(隐私安全) - HTML 导出的实用功能:筛选思考/工具/事件、删除/截断会话、导出清理版、消息统计
1. 方法一:/share 命令(最简单)
1.1 怎么用
在 OpenCode 的对话框里输入:
/shareOpenCode 会自动把当前会话上传到服务器,生成一个网页链接,复制到你的剪贴板里。
1.2 查看分享的会话
把链接粘贴到浏览器打开,你就能看到:
- 完整的会话内容——从你的第一条消息到最后一条
- 左侧导航栏——可以快速跳转到某一条消息
- 排版精美——和你在 OpenCode 里看到的样子几乎一样
1.3 取消分享
如果你不想让这个链接继续公开,再输入一次:
/unshare之前分享的会话就会被取消公开,别人再打开链接就看不到了。
1.4 /share 的局限
/share 有两个问题:
- 上传到服务器,任何人都能访问——如果你对话里有敏感信息(代码、文件路径、公司数据),用
/share就有隐私风险 - 长会话被压缩后,看到的不是原始内容——如果你用了 ACP 插件,长会话的早期内容已经被压缩了,
/share只能看到压缩后的版本,看不到最原始的完整对话
2. 方法二:Session Visualizer Skill
2.1 为什么需要这个 Skill
nigo 自己做了一个 Skill,叫 OpenCode Session Visualizer,专门解决 /share 的两个痛点:
关键原理:OpenCode 的会话数据完整保存在本地 SQLite 数据库里。即使 ACP 压缩了上下文(替换了显示内容),数据库里的原始消息记录并没有被删除。这个 Skill 直接读取数据库,把压缩前的完整内容恢复出来,生成一个本地 HTML 文件。
2.2 两种用法
用法一:在当前会话里直接调用
在 OpenCode 对话框里跟 AI 说:
将当前会话输出成 HTML
AI 会自动识别并调用 OpenCode Session Visualizer 这个 Skill,帮你生成完整的 HTML 文件。
用法二:指定 session ID 生成
如果你已经退出了那个会话,也可以:
- 找到会话的 session ID(在 OpenCode 界面上可以看到,是一串字符)
- 把 session ID 告诉 AI,让它生成对应会话的 HTML
2.3 这个方法的好处
| 对比项 | /share 命令 | Session Visualizer Skill |
|---|---|---|
| 隐私 | 上传服务器,任何人可访问 | 纯本地生成,不上传任何地方 |
| 压缩内容 | 只能看到压缩后的版本 | 能恢复压缩前的完整原始内容 |
| 文件格式 | 网页链接(在线访问) | HTML 文件(本地保存,离线可看) |
| 速度 | 需要上传 | 极快(直接用代码填充模板,不是 AI 生成) |
2.4 ⚠️ 关于 ACP 压缩内容的说明
如果你用了 ACP 插件,长会话的早期内容会被压缩。普通方法(包括 /share)看到的都是压缩后的摘要。
但 Session Visualizer Skill 可以找到原始会话的 ID,从数据库里读取压缩前的完整消息,所以能恢复出最真实的早期对话内容。
3. 生成的 HTML 有哪些功能
用 Skill 生成的 HTML 文件,功能比 /share 的网页还丰富:
3.1 三个筛选按钮
页面顶部有三个筛选按钮,可以分别控制内容的显示和隐藏:
- 思考:AI 的内部推理(reasoning),点一下全部隐藏,再点一下恢复
- 工具:AI 调用的各种工具(读文件、执行命令、搜索等),默认折叠,点开后能展开看具体输入输出
- 事件:压缩标记等系统事件
把三个都关掉,页面就只剩下最干净的问答对话——你说什么、AI 回什么,一目了然。适合给别人看结果时用。
把工具打开,就能看到 AI 每一步具体做了什么——执行了哪些命令、读了哪些文件。适合做教学演示时用。
3.2 删除和截断
鼠标悬停在任意一条用户消息上,会出现两个操作按钮:
- 🗑 删除(垃圾桶):删除这一条消息及其连续的助手回复,只去掉这一轮
- ✂️ 截断(剪刀):删除这条消息之后的所有内容,一刀切掉后半段
比如一个会话有 100 条消息,前 20 条是探索过程(不重要),第 21 条开始才是正式工作——你可以在第 20 条上点 ✂️,前面全部截掉,只留精华。
3.3 导出清理后的 HTML
执行删除或截断操作后,左侧导航栏会自动出现一个导出按钮。点击它,就能下载一份只包含保留内容的全新 HTML 文件——删干净了的、可以直接分享的版本。
3.4 消息统计
页面会显示当前会话的统计信息:
- 用户消息数(你问了几次)
- 助手返回数(AI 回了几次)
- 耗用时间
4. 这个 Skill 怎么获取
nigo 会把 OpenCode Session Visualizer 这个 Skill 放到课程的百度网盘里,学员可以直接下载使用。
安装方式和其他 Skill 一样——放到你的 skills 目录下,OpenCode 就能自动识别。
5. 不用 OpenCode?你也可以自己做
如果你用的是 Claude Code、Codex 等其他 AI 工具,也可以参考这个思路自己做一个:
原理很简单:写一个 HTML 模板 → 用代码读取本地数据库里的会话数据 → 把数据填充到模板里 → 生成 HTML 文件。
关键是用代码填充模板,不是让 AI 逐字生成——这样速度极快,而且不会出错。
你可以让 AI 参考这个 Skill 的实现方式,帮你写一个适合你工具的版本。
小结
| 要点 | 说明 |
|---|---|
| 快速分享 | /share 一键生成网页链接,但会上传服务器 |
| 取消分享 | /unshare 取消之前分享的会话 |
| 完整导出 | Session Visualizer Skill 读取本地数据库,恢复压缩前的完整内容 |
| 隐私安全 | Skill 纯本地生成,不上传任何地方 |
| 实用功能 | 筛选思考/工具/事件、🗑删除/✂️截断会话、导出清理版 HTML、消息统计 |
| Skill 获取 | 课程百度网盘下载 |
两种方法各有适用场景:随手分享用 /share,需要完整内容或注重隐私就用 Skill。