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 或更高版本,请按以下顺序操作。
在 oc-archive 源码目录打开终端并运行:
npm.cmd installWindows 用户也可以直接双击 install.bat。这一步安装的是看板依赖,不是 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 的用户可以跳过这一步。
在 oc-archive 源码目录运行:
npm.cmd startWindows 用户也可以直接双击 start.bat。
启动后点击“连接 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 可直接在浏览器中打开检查界面。
src/main.js明确加载src/data/db.js,真实数据只在运行时从本机 OpenCode 服务读取。src/renderer.html内的浏览器预览适配器是有意保留的,使原型不启动 Electron 也能操作。- 当前接口依据 OpenCode 1.18.25 源码和 OpenAPI 定义实现;升级 OpenCode 后应先检查接口兼容性。
- 不要向仓库提交运行时产生的数据文件、日志、真实会话导出或本机配置。
Copyright (c) 2026 SynkBase-hub。
项目自有源码采用 MIT License:允许个人使用、修改、分发和商业使用,也允许闭源二次开发;使用者必须保留上述版权声明和 MIT 许可文本。
第三方依赖仍受各自许可证约束,详见 THIRD_PARTY_NOTICES.md。本项目不包含或再分发 OpenCode 源码、运行时或可执行文件。