Skip to content

当前harnessagent 对话过程中,调用harnessagent.interrupt 方法后,会话记忆没有保存 #1440

@lsh13865950442-droid

Description

@lsh13865950442-droid

AgentScope-Java is an open-source project. To involve a broader community, we recommend asking your questions in English.
创建一个harnessagent 对话,在对话过程中调用harnessagent.interrupt 方法,发现记忆树里,没有刚才的会话记忆,没有保存。interruptFlag 被设为 true后,checkInterruptedAsync() 在推理循环中检测到标志,抛出 InterruptedException,异常跳过了 notifyPostCall 的 flatMap,进入 onErrorResume,createErrorHandler 对 InterruptedException 做了特殊处理 — 直接调用 handleInterrupt() 返回恢复消息,既不触发 PostCallEvent,也不触发 ErrorEvent。而 MemoryFlushHook 只监听 PostCallEvent,SessionPersistenceHook 只监听 PostCallEvent 和 ErrorEvent,所以两个保存 Hook 都不会被触发,对话记录就丢了
希望修复这个问题,当对话过程中,触发中断,中断之前的对话记忆都能保存到文件中

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions