OpenCode会话可视化

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

将 OpenCode 会话导出为可视化的 HTML 网页,复刻官方 share 页面的暗色主题样式。 从本地 SQLite 数据库提取完整对话数据(包括上下文压缩前的早期消息), 生成的 HTML 包含 Markdown 渲染、代码高亮、工具调用折叠卡片(含完整 input/output)、 思考过程折叠、左侧对话导航边栏、删除/截断对话功能。 触发词:可视化会话、导出会话、会话分享、session visualizer、share session、 导出完整对话、查看压缩前对话、生成会话网页、会话 HTML、conversation visualizer、 opencode 会话导出、完整对话记录、删除对话、清理会话。 当用户提到任何与会话导出、可视化、分享、完整记录查看相关的需求时都应使用此 skill。 即使用户只说"帮我看下之前那个对话"或"导出这个会话"也应触发。

一句话选型结论

按资料字段整理

OpenCode会话可视化是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_b53e245c/nigo-opencode-session-visualizer
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_b53e245c仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791726658
正文体量7.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
OpenCode会话可视化当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

7.8 KB
模型实际读到的说明书原文,来自技能仓库

OpenCode 会话可视化

将 OpenCode 会话从本地数据库导出,生成复刻官方 share 页面样式的单文件 HTML。

核心价值

OpenCode 的上下文压缩(compaction)是不可逆的——恢复会话时只能看到 checkpoint 之后的内容。
但数据库里完整保存了所有消息。这个 skill 直接从数据库提取完整数据,生成可分享的 HTML 网页。

跨平台说明

脚本支持 macOS、Linux 和 Windows。无需额外配置。

  • Python 命令:macOS/Linux 用 python3,Windows 用 python(下方示例统一写 python3,Windows 用户自行替换)
  • 脚本路径:脚本通过 __file__ 自动定位自身目录,无需关心 skill 安装在哪个路径。下方命令中的 SKILL_DIR 指本 skill 的安装目录(因 AI Agent 工具而异,如 ~/.claude/skills/opencode-session-visualizer/、~/.config/opencode/skills/opencode-session-visualizer/ 等)
  • 数据库路径(脚本自动搜索,无需手动指定):
  • Linux: ~/.local/share/opencode/opencode.db
  • macOS: ~/.local/share/opencode/opencode.db 或 ~/Library/Application Support/opencode/opencode.db
  • Windows: %LOCALAPPDATA%\opencode\opencode.db 或 %APPDATA%\opencode\opencode.db

工作流程

快速路径(推荐)

一行命令从数据库直接生成 HTML(SKILL_DIR = 本 skill 目录):

python3 SKILL_DIR/scripts/generate_html.py --session <session_id> [output.html]

如果用户没有提供 session_id,先列出最近会话:

python3 SKILL_DIR/scripts/export_session.py --list -n 15

分步路径

  1. 导出 JSON:python3 SKILL_DIR/scripts/export_session.py <session_id> session.json
  2. 生成 HTML:python3 SKILL_DIR/scripts/generate_html.py session.json [output.html]

生成后提示用户在浏览器中打开(macOS: open <path>,Windows: start <path>,Linux: xdg-open <path>)。

HTML 功能特性

生成的 HTML 是完全自包含的单文件,具备以下交互功能:

渲染

  • Markdown 渲染:助手消息支持完整 Markdown(表格、代码块、列表、标题),用 marked.js
  • 代码高亮:highlight.js 语法高亮,深色主题
  • 暗色主题:背景 #131315,代码块 #0b0b0c,链接 #89b4fa,系统字体 13px

交互

  • 左侧导航边栏:列出所有用户消息摘要,点击平滑滚动跳转,滚动时自动高亮当前消息
  • 工具调用卡片:默认折叠,显示工具名+摘要(如 read · format.ts),点击展开显示完整 Input 和 Output(代码块样式,可滚动)
  • 思考过程折叠:reasoning 内容默认折叠,点击展开查看
  • 压缩事件标记:compaction checkpoint 显示为琥珀色卡片
  • 回到顶部按钮:长页面右下角浮动按钮

编辑(浏览器内操作)

  • 删除消息 🗑:悬浮用户消息显示删除按钮,删除该消息及其后续连续的助手回复
  • 截断对话 ✂️:悬浮用户消息显示截断按钮,删除该消息之后的所有内容(批量删除尾部对话)
  • 导出清理后的 HTML:执行删除/截断操作后,导航栏出现导出按钮,点击下载清理后的单文件 HTML

数据结构

导出的 JSON 结构:

{
  "session": {
    "id": "ses_xxx",
    "title": "会话标题",
    "stats": { "total_messages": 222, "user_messages": 59, ... }
  },
  "messages": [
    {
      "id": "msg_xxx",
      "role": "user|assistant",
      "timestamp": "2026-07-23 16:18:45",
      "agent": "Orchestrator",
      "model": "glm-5.1",
      "parts": [
        {"type": "text", "data": {"text": "markdown内容"}},
        {"type": "tool", "data": {"type": "tool", "tool": "bash", "callID": "...", "state": {"status": "completed", "input": {"command": "..."}, "output": "...", "title": "...", "time": {"start": 123, "end": 456}}}},
        {"type": "reasoning", "data": {"text": "思考内容"}},
        {"type": "step-start", "data": {...}},
        {"type": "step-finish", "data": {...}},
        {"type": "compaction", "data": {...}},
        {"type": "patch", "data": {...}}
      ]
    }
  ]
}

Part 类型处理:
- text:渲染为 Markdown(用户消息和助手消息的正文)
- tool:折叠卡片,显示工具名+摘要,展开显示 Input 参数和 Output 结果
- reasoning:折叠卡片,点击展开查看思考过程
- step-start / step-finish:步骤分隔标记(不在页面显示)
- compaction:琥珀色压缩事件卡片
- patch:代码补丁卡片
- agent:agent 切换标记

Tool 的 input 字段因工具而异:
- read/edit/write:{filePath: "/path/to/file"}
- bash:{command: "ls -la"}
- grep:{pattern: "...", include: "*.ts"}
- glob:{pattern: "**/*.py"}
- task:{description: "...", prompt: "..."}

文件结构

opencode-session-visualizer/
├── SKILL.md                      # 本文件
├── scripts/
│   ├── export_session.py         # 数据库导出脚本(session_id → JSON)
│   └── generate_html.py          # HTML 生成脚本(JSON/DB → HTML)
└── assets/
    └── template.html             # HTML 模板(含 __SESSION_DATA__ 占位符)

脚本说明

export_session.py — 从 opencode.db 导出完整会话数据
- python3 export_session.py <session_id> [output.json] — 导出指定会话
- python3 export_session.py --list -n 15 — 列出最近 15 个会话
- session_id 支持部分匹配

generate_html.py — 将会话数据注入模板生成 HTML
- python3 generate_html.py --session <session_id> [output.html] — 直接从数据库生成(推荐)
- python3 generate_html.py <session.json> [output.html] — 从导出的 JSON 生成
- 模板路径自动解析为同目录下 assets/template.html

template.html — HTML 模板
- 占位符 __SESSION_DATA__ 位于 <script id="conv-data"> 内
- generate_html.py 将 JSON 数据注入占位符位置
- 包含完整的 CSS/JS(暗色主题、Markdown 渲染、交互功能、删除/截断/导出)
- CDN 依赖:marked.js、highlight.js、JetBrains Mono 字体

注意事项

  • 数据库路径由脚本自动检测(见上方「跨平台说明」),通常 5GB+,查询务必带 WHERE session_id
  • session_id 支持部分匹配(脚本会自动补全)
  • 大会话(200+ 条消息)生成的 HTML 可能 5MB+,浏览器可正常处理
  • 删除/截断功能在浏览器端操作,不影响原始数据库数据
  • 导出清理后的 HTML 时,只包含未被删除的消息

> 作者:nigo
> 微信公众号:逆行的狗

常见问题

5 问
答案由本站依据条目字段整理
OpenCode会话可视化怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_b53e245c/nigo-opencode-session-visualizer。安装方式为未标注。装完刷新技能列表或重开客户端。

OpenCode会话可视化支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

OpenCode会话可视化权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

OpenCode会话可视化收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

OpenCode会话可视化用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。