提议:为会话上下文提供安全且可持久化的撤销/重做能力 #467
LingLambda
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
我在写一个社区插件 dsh-undo,想实现多级 /undo 和 /redo。
目标是改变下一次模型请求看到的 surface,现在的公开 API 很难安全实现。用空 assistant 消息做 replace 会产生伪消息。redo 如果复制原消息,会改变 message ID,也可能影响工具调用关联。进程内 redo 栈重启后会消失。
所以我做了两个 append-only 事件的 PoC:surface/rewind 和 surface/restore。
rewind 只能撤销当前 surface 的后缀。restore 后进先出。原始消息、ID 和工具关联都不改变。普通新消息会使 redo 失效。replay 后能恢复相同状态。WebUI 还需要一个用户消息 action slot,让插件能在用户消息旁边放撤销按钮。目前尝试PoC 约改 10 个文件、增加约 300 行,517 项相关测试和 Host/Client 构建都通过。
想问官方是否接受做这种专用事件,还是更倾向其他通用API。
All reactions