文件上下文
将文件添加到 AI 上下文,让 YeePilot 能够读取、引用和处理您的配置文件、日志和脚本。
为什么文件上下文很重要
当您要求 YeePilot 修改配置文件、调试脚本或分析日志时,AI 在能看到实际文件内容时表现最佳。文件上下文让您将文件直接加载到对话中,使 AI 能够引用它们、理解其结构并生成精确的命令。
没有文件上下文,AI 只能猜测文件格式和当前值。有了文件上下文,它可以看到确切内容并提出有针对性的更改。
添加文件
使用 /file 命令后跟文件路径:
> /file /etc/nginx/nginx.confYeePilot 读取文件并将其内容添加到 AI 上下文中。AI 现在可以在回复中引用文件内容,并利用这些信息生成更准确的命令。
您可以逐个添加多个文件:
> /file /etc/nginx/sites-available/myapp.conf
> /file /var/log/nginx/error.log
> /file /home/deploy/myapp/docker-compose.yml实际示例
> /file /etc/nginx/nginx.conf
Added /etc/nginx/nginx.conf to context (2.1 KB)
> The site is returning 502 errors. Check the nginx config for issues
and fix any problems you find.加载了配置文件后,AI 可以读取实际的 server 块、upstream 定义和代理设置,而不是盲目猜测。
列出已加载的文件
查看当前 AI 上下文中有哪些文件:
> /files这显示所有已加载的文件及其大小:
Files in context:
1. /etc/nginx/nginx.conf (2.1 KB)
2. /etc/nginx/sites-available/myapp.conf (856 B)
3. /var/log/nginx/error.log (12.3 KB)
Total: 3 files, 15.3 KB移除文件
当不再需要某个文件时,从上下文中移除它:
> /unfile /var/log/nginx/error.log这释放了上下文空间用于其他文件或对话。移除不再需要的文件有助于降低 Token 使用量并让 AI 专注于相关内容。
上传文件
/upload 命令提供了另一种添加文件的方式:
> /upload这会打开一个文件选择流程。当您想交互式地添加文件而不是直接输入路径时,可以使用它。
限制
文件上下文有合理的限制,以防止占满 AI 的上下文窗口:
| 限制 | 默认值 |
|---|---|
| 最大文件数量 | 20 |
| 单个文件最大大小 | 100 KB |
| 总计最大大小 | 512 KB |
超过单文件限制的文件将被拒绝,并显示解释大小约束的消息。如果总加载大小将超过 512 KB,您需要先移除一些文件再添加新文件。
调整限制
您可以在配置文件(~/.yeepilot/config.yaml)中自定义这些限制:
files:
max_entries: 20
max_file_size: 102400 # 字节(100 KB)
max_total: 524288 # 字节(512 KB)增加这些限制会使每条消息使用更多 AI 上下文窗口,这会增加 Token 费用并可能更快触发上下文压缩。默认值适合大多数服务器管理任务。
实时流面板
当 YeePilot 的智能体循环在多步骤任务中执行文件编辑时,实时流面板会实时显示这些更改。这让您能看到 AI 在工作时正在读取和修改什么。
切换实时流
> /livestream这会切换实时流面板的开关。启用后,面板出现在主对话旁边并显示:
- AI 正在读取的文件内容
- 以差异高亮显示的提议编辑
- 多文件操作的实时进度
实时流在智能体模式下特别有用,当 AI 正在处理一系列文件修改时,例如更新多个配置文件或在项目中应用一组更改。
常见工作流
配置审查
加载配置文件并让 AI 审查:
> /file /etc/ssh/sshd_config
> Review this SSH configuration for security issues and suggest hardening changesAI 读取实际配置值并提供具体建议和精确的行更改。
日志分析
加载日志文件以获取理解错误的帮助:
> /file /var/log/syslog
> What errors occurred in the last hour? Summarize the issues.对于超过大小限制的大型日志文件,可以让 AI 读取特定部分:
> Show me the last 200 lines of /var/log/syslog that contain "error" or "fail"多文件上下文
处理涉及多个相关文件的任务时,全部加载:
> /file /etc/nginx/nginx.conf
> /file /etc/nginx/sites-available/api.conf
> /file /etc/letsencrypt/renewal/api.example.com.conf
> /file docker-compose.yml
> Set up nginx as a reverse proxy for the Docker service on port 3000
with SSL using the existing Let's Encrypt certificate加载了所有相关文件后,AI 可以交叉引用 Docker 服务配置、现有 SSL 证书路径和当前 nginx 设置,以生成完整且正确的配置。
脚本开发
加载现有脚本以获取扩展或调试帮助:
> /file /home/deploy/backup.sh
> This backup script is failing silently. Add proper error handling
and send an email notification on failure.AI 看到当前脚本结构,可以添加符合现有编码风格和逻辑流程的错误处理。
使用技巧
- **先加载文件再提问。**当 AI 能看到实际内容而不是猜测时,会给出更好的答案。
- **移除不再需要的文件。**这保持上下文整洁并降低费用。
- 使用
/files检查已加载的内容,然后再开始新任务。之前任务遗留的文件可能会让 AI 困惑。 - 对于非常大的文件,让 AI 用
head、tail或grep等命令读取特定部分,而不是将整个文件加载到上下文中。