Skip to content

fix(import): 支持导入 OpenCode v1 SQLite 会话 - #725

Closed
Blue-Berrys wants to merge 1 commit into
vastsa:mainfrom
Blue-Berrys:fix/issue-682-opencode-sqlite
Closed

Blue-Berrys wants to merge 1 commit into
vastsa:mainfrom
Blue-Berrys:fix/issue-682-opencode-sqlite

Conversation

@Blue-Berrys

@Blue-Berrys Blue-Berrys commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

修复 OpenCode v1.x 已迁移到 SQLite 后,PI-Desktop 仍只扫描旧 JSON 目录而检测不到会话的问题。

导入器现在会只读扫描 opencode.db 中的 v1 session、message 和 part 表,同时保留旧 JSON 导入。数据库与 JSON 中存在同一会话时以数据库副本为准;损坏、锁定或不兼容的数据库不会阻断旧 JSON 扫描。读取覆盖 WAL 已提交数据、完整键集分页、稳定消息/部件顺序和转换前完整性校验。

验证:

  • 使用真实 SQLite/文件系统的新增集成测试 13/13 通过
  • 导入相关测试 38/38 通过
  • JS/Desktop build、typecheck、lint 通过
  • 中英文档本地化和 490 页检查通过

范围:支持经 OpenCode v1.18.26 核对的 v1 表结构;暂不导入独立的 v2 session_message 投影、reasoning、附件及结构性 parts。

Fixes #682

Read OpenCode v1 session data from its SQLite store while retaining legacy JSON fallback and read-only WAL-safe behavior.

Fixes vastsa#682
@vastsa

vastsa commented Sep 20, 2026

Copy link
Copy Markdown
Owner

您好,感谢 pr,导入功能可以 pr 到导入插件哦,后面宿主的导入会下掉了

@Blue-Berrys

Copy link
Copy Markdown
Contributor Author

收到,感谢说明。这个修复不再放在宿主中继续推进。

同一问题的插件侧修复已在 vastsa/pi-desktop-plugins#56 处理:现有导入插件已经支持 OpenCode v1.x SQLite,实际缺失的是 Windows %LOCALAPPDATA%\opencode\data 路径探测。这里关闭宿主 PR,后续以插件更新为准。

@vastsa

vastsa commented Sep 20, 2026

Copy link
Copy Markdown
Owner

收到,感谢说明。这个修复不再放在宿主中继续推进。

同一问题的插件侧修复已在 vastsa/pi-desktop-plugins#56 处理:现有导入插件已经支持 OpenCode v1.x SQLite,实际缺失的是 Windows %LOCALAPPDATA%\opencode\data 路径探测。这里关闭宿主 PR,后续以插件更新为准。

感谢您的时间!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] 导入时 OpenCode v1.x 会话无法识别 - 不支持新的 SQLite 存储格式

2 participants