Skip to content

eeeric-code/opencode-log-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCode Log Viewer

在 VS Code 侧边栏浏览并查看 opencode 的会话记录。直接读取 opencode 数据库,安装即用,无需任何额外脚本或插件。

功能

  • 侧边栏活动栏「OpenCode 会话」视图,树状列出所有会话
  • 默认只显示当前打开项目的会话(按 session 目录匹配工作区)
  • 工具栏漏斗图标切换「当前项目 / 全部」,全部模式按项目分组、当前项目置顶
  • 点击会话在 VS Code 内 Webview 渲染完整对话:
    • 深色主题、代码高亮、表格、Markdown 渲染
    • 工具调用卡片(输入 / 输出 / 状态)
    • 右侧「用户对话」侧边导航,可折叠、点击跳转、随滚动高亮
  • 工具栏刷新按钮:立即重新读取数据库
  • 自动监听数据库变化,对话更新后自动刷新列表和已打开的会话

数据来源

扩展直接读取 opencode 的 SQLite 数据库(opencode.db),无需 opencode 插件或导出脚本。

数据库路径解析优先级:

  1. 设置项 opencodeLogViewer.databasePath
  2. 环境变量 OPENCODE_DB_PATH
  3. 自动搜索默认位置:
    • ~/.local/share/opencode/opencode.db(Linux)
    • ~/Library/Application Support/opencode/opencode.db(macOS)
    • %APPDATA%\opencode\opencode.db(Windows)

扩展只读数据库,从不写入或修改任何文件。

技术说明

  • 使用 sql.js(WebAssembly)读取 SQLite,无原生模块依赖,跨平台开箱即用。
  • 内置 WAL 合并:opencode 使用 WAL 模式,扩展会纯 JS 解析 -wal 文件并合并最新页,因此能读到尚未 checkpoint 的最新对话。

开发

npm install
npm run compile      # 编译 TS
npm run package      # 打包成 .vsix

License

MIT

安装

方式一:从 Release 下载 vsix(推荐)

  1. 到本仓库的 Releases 下载 opencode-log-viewer-x.y.z.vsix
  2. VS Code 命令面板(Ctrl/Cmd+Shift+P)→ Extensions: Install from VSIX... → 选择该文件 或命令行:code --install-extension opencode-log-viewer-x.y.z.vsix
  3. 重载窗口后,左侧活动栏出现「OpenCode 会话」图标

方式二:从源码构建

git clone https://github.com/eeeric-code/opencode-log-viewer.git
cd opencode-log-viewer
npm install
npm run package        # 生成 opencode-log-viewer-x.y.z.vsix
code --install-extension opencode-log-viewer-*.vsix

开发

npm install
npm run compile        # 编译 TS
npm run package        # 打包成 .vsix

发布到 VS Code Marketplace(维护者)

需要一个 publisher 和 Azure DevOps 个人访问令牌(PAT):

npx @vscode/vsce login <publisher>   # 输入 PAT
npm run compile && npm run copy-wasm
npx @vscode/vsce publish

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages