# 输入框 @ 笔记文档

在 DSH 输入框键入 `@` 或 `@标题关键词`，原有文件、会话结果之后增加独立的「笔记文档」分组。

- 只检索独立笔记空间的 `document` 节点，跨目录按标题匹配；不混入知识条目、文件夹或上传附件。空查询展示最多 20 份按名称排序的文档。
- 结果显示文档名和所属目录；重名文档以独立 ID 选取。沿用宿主方向键、Enter、Tab 和 Escape 行为，不替换文件与会话搜索；文件夹下钻和带引号的文件路径不插入笔记结果。
- 选中后插入原子引用，点击引用可打开笔记工作区。复制时使用 `@[标题](note://note_id)`，不复制会话句柄或正文。
- 发送时重新核对当前知识库来源与文档 ID，再生成当前会话专用的 `knowledge_note_read` 句柄；改名仍指向原文档，删除或切换来源会明确拒绝发送该引用。搜索及引用序列化不读取正文，模型按需调用工具读取。
- 引用不授予修改或删除权限。原有更新确认和删除授权规则不变。
- 使用宿主 `inputTriggers.registerSource` 扩展接口，无需修改 DSH 核心或主题；禁用输入触发服务不影响知识库其他界面。搜索防抖 120ms，支持取消旧请求。
- 本地与远程笔记接口均支持 `kind=document&recursive=1`。远程知识库服务也应升级到包含此功能的版本；旧服务忽略新参数时仍会过滤非文档结果，但空查询或候选较多时可能不完整。

验证：单元测试覆盖文档过滤、嵌套目录、远程接口、稳定引用、会话隔离、取消及失效提示；使用实际 DSH 输入触发控制器验证与文件/会话来源共存、方向键/Enter/Tab 选取及 Escape 退出。测试不向真实会话发送消息。
