docs/prds/conversations/acp/messaging.md
本文档由 PM 从
prd-acp-scenarios.md抽取,保持与源同步。 覆盖技术场景:S-MSG-01 ~ S-MSG-12, S-FILE-03
实现差距:消息队列基础功能已实现(入队/编辑/删除/清空/自动发送),但缺少「多条排队消息合并为一条发出」
用户故事:作为用户,我希望在输入框中输入文字并发送,能立即看到我的消息出现在对话中,同时 AI 开始回复。
正常流程(用户视角):
AI 回复期间的消息队列:
异常情况:
不同 AI 后端的差异:
验收标准:
覆盖场景:S-MSG-01, S-MSG-02, S-MSG-09, S-MSG-10, S-MSG-11, S-MSG-12
实现差距:三种引用方式均已实现,但缺少:(1) 多方式引用同一文件时自动去重;(2) 路径标记剥离不完整
用户故事:作为用户,我希望能以多种方式将文件内容提供给 AI,以便 AI 能基于这些文件进行回复。
前置条件:用户已设置工作区目录(Add to Chat 方式需要)
文件引用的三种方式:
方式一:Add to Chat(从工作区目录树引用)
@路径 形式添加到输入框@文件名 触发自动补全方式二:上传文件
方式三:粘贴板
异常情况:
@filename 文本直接传递给 AI,由 AI 自行处理不同 AI 后端的差异:
验收标准:
@路径 添加到输入框覆盖场景:S-MSG-03, S-MSG-07, S-FILE-01, S-FILE-02, S-FILE-04
用户故事:作为用户,我希望每个新会话的第一条消息自动包含 AI 的行为规则和技能索引,以便 AI 从一开始就按照正确的规则工作,我无需每次手动说明。
正常流程(用户视角):
异常情况:
验收标准:
覆盖场景:S-MSG-04, S-MSG-05, S-MSG-06
用户故事:作为系统(定时任务、频道集成等),我需要能够发送不显示在用户界面中的消息给 AI,以便后台自动化任务能够无干扰地运行。
正常流程(用户视角):
验收标准:
覆盖场景:S-MSG-08
用户故事:作为用户,我希望在输入框中通过上下键浏览历史输入,以便快速复用之前发过的消息内容。
正常流程(用户视角):
上 键 -> 显示上一条历史输入内容上 键 -> 继续往前翻历史下 键 -> 往后翻历史,回到更近的输入验收标准:
实现差距:代码库中无任何 redo/undo 相关实现
用户故事:作为用户,我希望能够编辑并重新发送最后一轮对话中的消息(重试),或撤销最后一轮对话回到发送前的状态,以便修正提问或尝试不同的表述。
前置条件:最后一个 prompt turn 已结束(AI 已完成回复)
正常流程(用户视角):
异常情况:
不同 AI 后端的差异:
验收标准:
/btw 追加上下文 [部分实现]实现差距:/btw 已实现但采用 fork session 独立回答方式,非注入当前 AI 上下文;不支持的后端直接提示不支持而非入队
用户故事:作为用户,我希望在 AI 回复过程中通过 /btw 命令追加补充信息,AI 能在不中断当前回复的情况下参考这些补充内容。
前置条件:AI 正在回复中
正常流程(用户视角):
/btw 补充内容 并发送不同 AI 后端的差异:
/btw 消息进入等待队列,等当前 turn 结束后作为普通消息发出验收标准:
/btw 消息实时注入到 AI 上下文/btw 消息进入等待队列/btw 消息在对话界面中有区别于普通消息的展示实现差距:V2 路径缺少 auto-mkdir 和编辑器通知,但当前走 V1 路径,V1 完整实现
用户故事:作为用户,我希望 AI 能够按需读取我工作区中的文件、以及在工作区中创建或修改文件,以便 AI 可以帮我完成代码编写、文档编辑等任务。
前置条件:用户已设置工作区目录
正常流程(用户视角):
异常情况:
验收标准:
覆盖场景:S-FILE-03