v1.2.0:SQLite 数据库重构
发布日期:2026年2月14日
一句话总结
这次更新将 OpenCode 的数据存储从分散文件迁移到统一的 SQLite 数据库,性能更稳、查询更快,同时新增 --dir 和 --timeout 命令行参数。
重要提示:首次启动需要迁移数据
这是什么?
OpenCode 1.2.0 将所有会话数据从原来的多个小文件,迁移到一个 SQLite 数据库文件中。
对你有什么影响?
首次启动时会自动执行迁移,根据你的数据量大小,可能需要几秒到几分钟。
如果迁移出问题怎么办?
- 原始数据不会被删除,可以安全降级
- 如需重新迁移,删除数据库文件:
- macOS/Linux:
~/.local/share/opencode/opencode.db* - Windows:
%APPDATA%\opencode\opencode.db*
- macOS/Linux:
- 遇到问题请提交 GitHub Issue,标题中注明 "sqlite"
新功能:命令行参数增强
--dir 参数:指定工作目录
现在可以在运行 Agent 时指定工作目录:
bash
# 在指定目录运行
opencode run --dir /path/to/project "修复登录页面的 Bug"--timeout 参数:设置超时时间
超时配置从 API 移到 CLI,更容易控制:
bash
# 设置 5 分钟超时
opencode --timeout 300SDK 更新:PartDelta 事件
如果你使用 OpenCode SDK 开发应用,新增了 PartDelta 事件,只发送文本的增量变化,而不是每次都发送完整内容:
typescript
PartDelta: BusEvent.define(
"message.part.delta",
z.object({
sessionID: z.string(),
messageID: z.string(),
partID: z.string(),
field: z.string(),
delta: z.string(),
}),
)好处:减少数据传输量,实时性更好。
桌面端改进
- 终端窗口大小调整不再出问题
- 大文件 Diff 显示性能优化
- VPN/隧道连接时使用
prompt_async避免超时 - 服务端地址变化时自动重连
问题修复
TUI 不再因工具参数错误崩溃
之前如果工具输入格式不对,opencode run 会直接崩溃。现在会优雅处理。
要不要升级?
| 情况 | 建议 |
|---|---|
| 数据量大、想要更好性能 | ✅ 升级 |
| 桌面端有大文件 Diff 需求 | ✅ 升级 |
| 用得好好的,没问题 | 可以观察几天再升 |
升级命令:
bash
opencode upgrade技术细节(可跳过)
点击展开完整更新列表
Core(核心)
- 回归 SQLite 数据库实现
- 超时配置从 API 移到 CLI 命令行参数
- 更新 AI SDK 包,支持 Claude Opus 4.6 自适应推理
TUI(终端界面)
- 修复工具输入格式错误导致的崩溃
- run 命令添加
--dir参数
Desktop(桌面端)
- 修复 Rust 编译问题
- 移除 OPENCODE_SQLITE 环境变量
- 修复终端大小调整
- VPN/隧道连接使用 prompt_async 避免超时
- 服务端地址变化时重新挂载 SDK
- 大文件 Diff 显示性能优化
社区贡献(12 位)
- @BlankParticle:添加 --dir 参数
- @neriousy:大文件 Diff 性能优化
- @Seungjun0906:文档同步、韩语翻译
- @ysm-dev:服务端地址变化重连
- @Annopick:中文文档修正
- @eytans:VPN 超时修复
- @G36maid:Arch Linux pacman 安装文档
- @yanhao98:超时配置迁移
- @niushuai1991:中文文档标准化
- @kitlangton:行内代码链接支持
- @0xK3vin:工具输入错误处理
- @Brendonovich:桌面端 Rust 修复

