Skip to content

Repository files navigation

OC Archive

English

OC Archive 是一个基于 Electron 的 OpenCode 归档会话看板源码项目。

当前版本已接入 OpenCode 1.18.25 的本地 HTTP API。用户手动选择自己安装的 opencode.exe 后,程序会在 127.0.0.1 上启动带随机密码的独立服务,管理已归档会话。源码不包含任何会话记录、OpenCode 源码或可执行文件。安全边界详见 连接说明

Note

当前 v1.0.0 仅支持 Windows 10/11。 源码中的 CLI 识别、安装路径、启动脚本和构建配置均按 Windows 实现,macOS 与 Linux 目前不能直接运行。后续版本计划增加这两个平台的适配和独立安装包。

Important

本项目由 SynkBase-hub 独立开发,不是 OpenCode 团队开发的官方项目,也与 OpenCode 团队不存在隶属、授权或关联关系。项目名称中的 OpenCode 仅用于说明兼容对象。

当前功能

  • 查看长短会话详情,详情区独立滚动
  • 按标题、项目名称和项目路径搜索
  • 按项目筛选归档会话
  • 按归档时间升序或降序排列
  • 通过 OpenCode 官方本地接口读取真实归档会话
  • 在看板本地置顶会话,不修改 OpenCode 的置顶状态
  • 通过官方接口重命名或永久删除会话,删除前必须二次确认
  • 将单个会话导出为 Markdown 或 JSON
  • 中英文界面切换
  • 折叠与展开详情面板
  • 浏览器原型预览和 Electron 桌面运行
  • 手动选择并连接用户自行安装的 opencode.exe

演示视频

-.mp4

运行源码

以下步骤仅适用于 Windows 10/11。运行前需要安装 Node.js 22.12 或更高版本,请按以下顺序操作。

1. 安装 OC Archive 的依赖

oc-archive 源码目录打开终端并运行:

npm.cmd install

Windows 用户也可以直接双击 install.bat。这一步安装的是看板依赖,不是 OpenCode CLI。

2. 准备 OpenCode CLI

OC Archive 不内置或自动更新 OpenCode CLI。如果电脑上还没有 OpenCode CLI 1.18.25 至 1.x,请在 PowerShell 中运行:

npm.cmd install --prefix "$env:LOCALAPPDATA\OC Archive\OpenCode-CLI" --no-save --omit=dev opencode-ai@1.18.25

该命令只把固定版本的 CLI 下载到当前用户目录,不进行全局安装,也不会安装 OpenCode Desktop。已经有兼容 CLI 的用户可以跳过这一步。

3. 启动 OC Archive

oc-archive 源码目录运行:

npm.cmd start

Windows 用户也可以直接双击 start.bat

4. 首次连接

启动后点击“连接 OpenCode”,选择支持 serve 命令的 CLI opencode.exe。使用上面的命令下载时,文件位于:

%LOCALAPPDATA%\OC Archive\OpenCode-CLI\node_modules\opencode-ai\bin\opencode.exe

不要选择 OpenCode Desktop 图形客户端。CLI 只需下载和选择一次;直接打开 src/renderer.html 只能看到空数据的浏览器预览,无法访问真实会话。

不再使用时

先关闭 OC Archive,再删除 %LOCALAPPDATA%\OC Archive\OpenCode-CLI,即可移除为看板单独下载的 CLI。该目录不包含 OpenCode Desktop 的真实会话。

构建免安装版

当前构建命令只生成 Windows x64 免安装版,不会生成 macOS 或 Linux 安装包。

npm install
npm run build:portable

打包结果会输出到源码目录旁边的 OC-Archive-免安装版 文件夹,不会混入源码目录。免安装版只包含本项目及 Electron 运行环境,不包含 OpenCode;用户仍需选择自己安装的 opencode.exe

平台支持计划

平台 当前状态 后续发布形式
Windows 10/11 x64 已支持 源码、免安装 .exe
macOS Intel / Apple 芯片 尚未支持 计划提供 .dmg.app.zip
Linux x64 尚未支持 计划提供 .AppImage,可选 .deb

macOS 和 Linux 版本需要分别适配不带 .exe 的 OpenCode CLI、程序路径、文件选择和启动脚本,并在对应系统上完成测试。各平台仍由用户自行安装 OpenCode CLI,本项目不会内置 OpenCode。

项目结构

oc-archive/
├── src/
│   ├── main.js            窗口、生命周期及页面请求处理
│   ├── preload.js         页面与 Electron 主进程之间的安全接口
│   ├── exporter.js        Markdown/JSON 导出生成器
│   ├── renderer.html      页面、样式、交互及浏览器预览适配器
│   └── data/
│       └── db.js          OpenCode 归档会话服务适配器
├── assets/
│   └── logo.png           应用图标
├── docs/
│   └── CONNECTION.md      真实数据接入边界和后续工作
├── THIRD_PARTY_NOTICES.md  第三方依赖许可说明
├── package.json       运行、检查和免安装版构建配置
├── package-lock.json  依赖锁定文件
├── install.bat        Windows 依赖安装入口
├── start.bat          Windows 启动入口
├── README.md          中文说明
├── README.en.md       English documentation
├── .gitignore         Git 忽略规则
└── LICENSE            MIT 许可证

数据流

src/renderer.html
  → src/preload.js
  → src/main.js
  → src/data/db.js
  → 用户安装的 opencode.exe serve
  → OpenCode 本地 HTTP API

页面只调用预加载层暴露的有限接口,不接触认证信息或 OpenCode 数据库。置顶 ID 保存在 Electron 用户数据目录;导出文件只写入用户在保存窗口中选择的位置。服务密码只存在于主进程内存中,程序退出时会停止自己启动的服务。

窗口尺寸

状态 约束
默认/折叠 首次启动为 400 × 680;宽度固定为 400px,切换时保留当前高度
展开 首次为 1100px,可在 900px 至 1100px 之间调整;切换时恢复上次展开宽度
高度 560px 至 900px
区域 左侧固定 400px;右侧约 500px 至 700px
最大化 点击最大化按钮后铺满当前屏幕工作区;还原后恢复普通尺寸约束

代码检查

npm run check

该命令检查主进程、预加载脚本、导出器和数据适配器的 JavaScript 语法。src/renderer.html 可直接在浏览器中打开检查界面。

开发注意事项

  1. src/main.js 明确加载 src/data/db.js,真实数据只在运行时从本机 OpenCode 服务读取。
  2. src/renderer.html 内的浏览器预览适配器是有意保留的,使原型不启动 Electron 也能操作。
  3. 当前接口依据 OpenCode 1.18.25 源码和 OpenAPI 定义实现;升级 OpenCode 后应先检查接口兼容性。
  4. 不要向仓库提交运行时产生的数据文件、日志、真实会话导出或本机配置。

许可证

Copyright (c) 2026 SynkBase-hub。

项目自有源码采用 MIT License:允许个人使用、修改、分发和商业使用,也允许闭源二次开发;使用者必须保留上述版权声明和 MIT 许可文本。

第三方依赖仍受各自许可证约束,详见 THIRD_PARTY_NOTICES.md。本项目不包含或再分发 OpenCode 源码、运行时或可执行文件。

About

A Windows desktop app for viewing, searching, managing, and exporting archived OpenCode conversations.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages