Tham chiếu bối cảnh
Nhập @ theo sau là tham chiếu để đưa nội dung trực tiếp vào tin nhắn của bạn. Hermes mở rộng tham chiếu nội tuyến và nối thêm nội dung vào phần --- Attached Context ---.
Tài liệu tham khảo được hỗ trợ
| Cú pháp | Mô tả |
|---|---|
@file:path/to/file.py | Tiêm nội dung tập tin |
@file:path/to/file.py:10-25 | Chèn phạm vi dòng cụ thể (1 chỉ mục, bao gồm) |
@folder:path/to/dir | Chèn danh sách cây thư mục với siêu dữ liệu tệp |
@diff | Tiêm git diff (thay đổi cây làm việc không theo giai đoạn) |
@staged | Tiêm git diff --staged (thay đổi theo giai đoạn) |
@git:5 | Tiêm N cam kết cuối cùng với các bản vá (tối đa 10) |
@url:https://example.com | Tìm nạp và chèn nội dung trang web |
Ví dụ sử dụng
Review @file:src/main.py and suggest improvements
What changed? @diff
Compare @file:old_config.yaml and @file:new_config.yaml
What's in @folder:src/components?
Summarize this article @url:https://arxiv.org/abs/2301.00001
Nhiều tài liệu tham khảo hoạt động trong một tin nhắn:
Check @file:main.py, and also @file:test.py.
Dấu câu ở cuối ( , , . , ; , ! , ? ) sẽ tự động bị xóa khỏi giá trị tham chiếu.
Hoàn thành tab CLI
Trong CLI tương tác, việc nhập @ sẽ kích hoạt tính năng tự động hoàn tất:
@hiển thị tất cả các loại tham chiếu (@diff,@staged,@file:,@folder:,@git:,@url:)@file:và@folder:kích hoạt hoàn thành đường dẫn hệ thống tệp với siêu dữ liệu kích thước tệp- Trần
@theo sau là một phần văn bản hiển thị các tệp và thư mục phù hợp từ thư mục hiện tại
Phạm vi dòng
Tham chiếu @file: hỗ trợ phạm vi dòng để chèn nội dung chính xác:
@file:src/main.py:42
# Single line 42
@file:src/main.py:10-25
# Lines 10 through 25 (inclusive)
Các dòng được lập chỉ mục 1. Phạm vi không hợp lệ được âm thầm bỏ qua (tệp đầy đủ được trả về).
Giới hạn kích thước
Tham chiếu ngữ cảnh được giới hạn để tránh làm tràn cửa sổ ngữ cảnh của mô hình:
| Ngưỡng | Giá trị | Hành vi |
|---|---|---|
| Giới hạn mềm | 25% độ dài ngữ cảnh | Đã thêm cảnh báo, tiến hành mở rộng |
| Giới hạn cứng | 50% độ dài ngữ cảnh | Việc mở rộng bị từ chối, tin nhắn ban đầu được trả về không thay đổi |
| Mục nhập thư mục | Tối đa 200 tệp | Các mục thừa được thay thế bằng - ... |
| Cam kết Git | tối đa 10 | @git:N được gắn vào phạm vi [1, 10] |
Bảo mật
Chặn đường dẫn nhạy cảm
Các đường dẫn này luôn bị chặn khỏi các tham chiếu @file: để ngăn chặn việc lộ thông tin xác thực:
- Khóa SSH và cấu hình:
~/.ssh/id_rsa,~/.ssh/id_ed25519,~/.ssh/authorized_keys,~/.ssh/config - Cấu hình vỏ:
~/.bashrc,~/.zshrc,~/.profile,~/.bash_profile,~/.zprofile - Tệp thông tin xác thực:
~/.netrc,~/.pgpass,~/.npmrc,~/.pypirc - Hermes env:
$HERMES_HOME/.env
Các thư mục này bị chặn hoàn toàn (bất kỳ tệp nào bên trong):
~/.ssh/,~/.aws/,~/.gnupg/,~/.kube/,$HERMES_HOME/skills/.hub/
Bảo vệ truyền tải đường dẫn
Tất cả các đường dẫn được giải quyết liên quan đến thư mục làm việc. Các tham chiếu giải quyết bên ngoài vùng làm việc gốc được phép sẽ bị từ chối.
Phát hiện tệp nhị phânCác tệp nhị phân được phát hiện thông qua loại MIME và quét byte rỗng. Các tiện ích mở rộng văn bản đã biết ( .py , .md , .json , .yaml , .toml , .js , .ts , v.v.) bỏ qua việc phát hiện dựa trên MIME. Các tệp nhị phân bị từ chối kèm theo cảnh báo.
Tính khả dụng của nền tảng
Tham chiếu ngữ cảnh chủ yếu là tính năng CLI. Chúng hoạt động trong CLI tương tác trong đó @ kích hoạt việc hoàn thành tab và các tham chiếu được mở rộng trước khi tin nhắn được gửi đến tổng đài viên.
Trong nền tảng nhắn tin (Telegram, Discord, v.v.), cú pháp @ không được cổng mở rộng — tin nhắn được truyền qua nguyên trạng. Bản thân tác nhân vẫn có thể tham chiếu các tệp thông qua các công cụ read_file , search_files và web_extract .
Tương tác với nén ngữ cảnh
Khi ngữ cảnh hội thoại được nén, nội dung tham chiếu mở rộng sẽ được đưa vào bản tóm tắt nén. Điều này có nghĩa là:
- Nội dung tệp lớn được chèn qua
@file:góp phần sử dụng ngữ cảnh - Nếu đoạn hội thoại sau đó được nén lại thì nội dung file sẽ được tóm tắt (không giữ nguyên nguyên văn)
- Đối với các tệp rất lớn, hãy cân nhắc sử dụng phạm vi dòng (
@file:main.py:100-200) để chỉ chèn các phần có liên quan
Các mẫu phổ biến
# Code review workflow
Review @diff and check for security issues
# Debug with context
This test is failing. Here's the test @file:tests/test_auth.py
and the implementation @file:src/auth.py:50-80
# Project exploration
What does this project do? @folder:src @file:README.md
# Research
Compare the approaches in @url:https://arxiv.org/abs/2301.00001
and @url:https://arxiv.org/abs/2301.00002
Xử lý lỗi
Tham chiếu không hợp lệ tạo ra cảnh báo nội tuyến thay vì lỗi:
| Tình trạng | Hành vi | |----------||----------| | Không tìm thấy tệp | Cảnh báo: "không tìm thấy tập tin" | | Tệp nhị phân | Cảnh báo: "tệp nhị phân không được hỗ trợ" | | Không tìm thấy thư mục | Cảnh báo: "không tìm thấy thư mục" | | Lệnh Git không thành công | Cảnh báo với git stderr | | URL không trả về nội dung | Cảnh báo: "không có nội dung được trích xuất" | | Con đường nhạy cảm | Cảnh báo: "đường dẫn là tệp thông tin xác thực nhạy cảm" | | Đường dẫn bên ngoài không gian làm việc | Cảnh báo: "đường dẫn nằm ngoài không gian làm việc được phép" |