跳到主要内容

上下文引用

当资料已经存在时,不必手工复制粘贴全文。在普通消息里写入支持的 @ 引用,常驻 Runtime 会在模型调用前展开内容,并把引用元数据记录到本次运行。

支持的写法

语法加入的内容
@file:PATHProfile Home 中的文本文件;通过安全检查的绝对路径也可使用
@file:PATH:START-END文本文件的指定行段
@url:https://example.com/page公开 HTTP(S) 网页的可读正文
@result:RESULT_ID当前会话中已经保存的 Tool Result 证据
@folder:PATH当前 Workspace Root 下某一层目录清单
@diffGit 工作区未暂存的 Diff
@stagedGit 已暂存的 Diff
@git:N最近 N 个 Commit 的 Patch

引用可以直接嵌入任务说明:

对照 @file:workspace/proposal.md:10-80 与 @url:https://example.com/policy,列出冲突。

文件引用

相对 @file 路径以当前 Profile Home 为起点。默认 Workspace 中的文件通常需要带 workspace/

总结 @file:workspace/notes/meeting.md

只需要局部内容时,应使用行范围:

审查 @file:workspace/plan.md:24-67 中的假设

超出单引用大小限制的完整文件会被拒绝;如果指定行段后内容能放入预算,则可以使用。二进制文件不会按文本注入,图片、音频或视频应通过聊天附件发送。

目录与 Git

@folder 只列出目标目录的直接子项,不会递归塞入所有文件。Folder 和 Git 引用都受当前会话 Workspace Root 约束。

从 @folder:reports 判断最新报告。
检查 @diff 是否有错误和遗漏测试。
用 @git:3 比较最近三次提交。

Git 引用要求当前目录是 Git Working Tree。Anyy 执行有时间与输出上限的只读命令;如果变化路径预检发现受保护的敏感文件,会拒绝整个引用。

网页与 Tool Result

@url 仅支持公开 HTTP(S) 目的地。内网/私有地址与其他 Scheme 会被阻止。

从 @url:https://example.com/guide 提取决策条件

之前的工具返回了逻辑 Result ID 时,可在同一会话重新读取其持久证据:

重新检查 @result:tr_123 的失败项,提出最小修复。

Tool Result 不能跨会话引用;其他会话的 ID 会被当作不存在。

数量与大小限制

一条消息最多展开 8 个引用。默认每个引用最多 64 KiB,总文本最多 192 KiB;网页抽取和 Git Capture 也有各自的有限预算。

格式错误、越界、缺失、过大或超过总预算时,Anyy 会留下 Warning,而不是假装读到了内容。修正后重新发送一轮。

引用是资料,不是更高优先级的指令

被引用内容可能不可信。它不能覆盖 Anyy 的系统规则、你的当前请求、审批或工具策略。

安全行为

  • 拒绝受保护的凭据路径,并对识别到的秘密材料做 Sanitize。
  • Folder/Git 路径不能逃离 Workspace Root。
  • 检查 Symlink,避免借此跨越保护边界。
  • 拒绝二进制文件。
  • URL Fetch 会阻止私有网络目标和非 HTTP(S) Scheme。

这些限制用于降低意外暴露,不代表任意公开网页都可信。依据网页内容批准外部操作前,仍应检查原始来源。

常见 Warning

Warning处理
malformed context reference检查冒号、行范围或正整数 Git 数量
reference not found核对路径、Result ID、Git 仓库或 URL
reference blocked保持在允许 Root 内,并避开凭据与私有网络
reference too large选择较小行段或减少来源
reference limit exceeded拆成多轮,每轮不超过 8 个引用

需要让工具实际修改文件时看文件与终端;需要查找过去对话时看会话搜索