分享一个OpenCode Windows桌面端的小问题解决办法,亲测有效,希望能帮到有需要的朋友(本人用的Windows11,其他Windows版本可参考)。
问题描述:在使用OpenCode过程中不小心点了OpenCode的会话归档,然后这个会话在会话栏消失了,虽然能在搜索栏搜到会话、打开查看,但每次继续会话后对话框就变成空白,而且每次都要到搜索栏中去搜索,特别不方便,去OpenCode issue中找了下也没有特别明确的解决方案,故记录下。
下面是亲测可行的两个解决方案:
方案1:直接让OpenCode帮你恢复(简单优先试)
直接在OpenCode对话窗口,让它把归档的会话恢复成未归档状态,记得告诉它这个会话的标题,方便它找到对应会话。
如果它提示找不到会话,就把opencode.db的位置告诉它,Windows系统的位置是:~.local\share\opencode\opencode.db
之后让它根据会话标题找到对应的session id,再根据session id恢复就行。
注意:这个方法不一定能成功,我当时执行update语句时,提示没有权限。如果你的电脑装了sqlite或者python,让OpenCode用sqlite命令或python脚本处理。
![]()
方案2:用sqlite3命令直接操作(成功率高)
第一步:获取会话的sessionid,可使用opencode session list命令进行查询,如果装了cc-switch也可从cc-switch找sessionId,更直观。
第二步:打开命令工具,输入以下命令,替换里面的“你的opencode.db目录”和“sessionId”(替换成你找到的实际内容):
.\sqlite3.exe 你的opencode.db目录 “UPDATE session SET time_archived=NULL WHERE id=‘sessionId’;”
执行完命令,归档的会话就能恢复到会话记录窗口了。
总结:优先试方案1,简单省事;方案1不行就用方案2,稍微麻烦一点但成功率高。
1 个帖子 - 1 位参与者
