复现步骤
- 用Agent模式进行至少一次对话
- fork当前对话
- fork中第一次对话正常
- 对于
Proma 0.8.0 ,第二次会报错:
执行错误 Claude Code returned an error result: No conversation found with session ID: ff21a4d3-67f9-468f-b6e9-4a8c38a3ddcc
第三次对话恢复正常(触发了上下文回填)
- 对于
Proma 0.8.1 ,第二次会触发新版重试逻辑 Session 已失效,切换到上下文回填模式 然后能够正常回答
环境
Windows 11
Node.js v24.14.0
分析
Proma在fork时会为fork agent创造一个新的cwd,但是claude agent sdk的fork本身不兼容这个功能, sdk会把fork的session放在原对话的路径中:
~\.proma\sdk-config\projects\<origin_cwd>\ff21a4d3-67f9-468f-b6e9-4a8c38a3ddcc.jsonl
当fork agent试图resume时,传入接口的是<fork_cwd>,所以claude code sdk会在
~\.proma\sdk-config\projects\<fork_cwd>\
中搜索session文件,自然是找不到的,所以就报错了。
目前的上下文回填机制虽然能用,这个bug还是让体验很不舒服,而且回填貌似只有20条。
/** 最大回填消息条数 */
const MAX_CONTEXT_MESSAGES = 20
和 #164 提到的问题应该是相似的原因。
复现步骤
Proma 0.8.0,第二次会报错:执行错误 Claude Code returned an error result: No conversation found with session ID: ff21a4d3-67f9-468f-b6e9-4a8c38a3ddcc第三次对话恢复正常(触发了上下文回填)
Proma 0.8.1,第二次会触发新版重试逻辑Session 已失效,切换到上下文回填模式然后能够正常回答环境
Windows 11
Node.js v24.14.0
分析
Proma在fork时会为fork agent创造一个新的cwd,但是claude agent sdk的fork本身不兼容这个功能, sdk会把fork的session放在原对话的路径中:
~\.proma\sdk-config\projects\<origin_cwd>\ff21a4d3-67f9-468f-b6e9-4a8c38a3ddcc.jsonl当fork agent试图resume时,传入接口的是<fork_cwd>,所以claude code sdk会在
~\.proma\sdk-config\projects\<fork_cwd>\中搜索session文件,自然是找不到的,所以就报错了。
目前的上下文回填机制虽然能用,这个bug还是让体验很不舒服,而且回填貌似只有20条。
和 #164 提到的问题应该是相似的原因。