본문으로 건너뛰기

컨텍스트 참조

type @ 를 입력하여 메시지를 직접 입력합니다. Hermes는 참조 인라인을 확장하고 --- Attached 컨텍스트 --- 섹션에서 콘텐츠를 추가합니다.

지원된 참고

옵션 정보설명
@file:path/to/file.py파일 내용
@file:path/to/file.py:10-25특정 라인 범위 (1-indexed, 포함)
@folder:path/to/dir파일 metadata로 디렉토리 트리 목록
@diffInject git diff (단일 작업 나무 변경)
@stagedgit diff --staged (단일 변경)
@git:5마지막 N는 패치 (최대 10)로 커밋합니다.
@url:https://example.comFetch and inject 웹 페이지 내용

사용 예제

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

다중 참조는 단일 메시지에서 작동:

Check @file:main.py, and also @file:test.py.

순회화 (,, ., ;, !, ?)는 참조 값에서 자동으로 벗겨집니다.

CLI 탭 완료

인터렉티브 CLI에서 @ 트리거를 자동 완성합니다

  • @는 모든 참조 유형 (@diff, @staged, @file:, @folder:, @git:, ...)을 보여줍니다
  • @file:@folder: 트리거 파일시스템 경로 완료 파일 크기 메타데이터
  • Bare @는 부분 텍스트가 현재 디렉토리의 파일과 폴더에 매칭합니다

선 범위

@file: 참고는 정확한 내용 주입을 위한 선 범위를 지원합니다:

@file:src/main.py:42        # Single line 42
@file:src/main.py:10-25 # Lines 10 through 25 (inclusive)

라인은 1-indexed입니다. 잘못된 범위는 침묵적으로 무시됩니다 (전체 파일이 반환됩니다).

크기 제한

컨텍스트 References는 모델의 컨텍스트 창을 압도적으로 방지하기 위해 경계를 둡니다:

임계값주요 특징채용 정보
소프트 제한맥락 길이의 25%경고 부과, 확장 진행
단단한 한계컨텍스트 길이의 50%확장 거부, 원래 메시지가 변경되지 않음
폴더 항목최대 200 파일Excess 항목은 -...로 대체됩니다
Git 커밋최대 10@git:N 범위에 클램프 [1, 10]

보안 보안

민감한 경로 차단

이 경로는 항상 @file: 참조에서 차단됩니다

  • SSH 열쇠와 구성: ~/.ssh/id_rsa, ~/.ssh/id_ed25519, ~/.ssh/authorized_keys, ~/.ssh/config
  • 셸 단면도: ~/.bashrc, ~/.zshrc, ~/.profile, ~/.bash_profile, ~/.zprofile
  • Credential 파일: ~/.netrc, ~/.pgpass, ~/.npmrc, ~/.pypirc
  • 헤르메스 env: $HERMES_HOME/.env

이 감독은 완전히 차단됩니다 (내에 어떤 파일):

  • ~/.ssh/, ~/.aws/, ~/.gnupg/, ~/.kube/, $HERMES_HOME/skills/.hub/

Path Traversal 보호

모든 경로는 작업 디렉토리에 상대를 해결합니다. 허용되는 workspace root 밖에 해결하는 참조는 거부됩니다.

Binary 파일 탐지

이진 파일은 MIME 유형과 null 바이트 스캐닝을 통해 감지됩니다. 알려진 텍스트 확장 (.py, .md, .json, .yaml, .toml, .js, .ts 등) 우회 MIME 기반 탐지. Binary 파일은 경고로 거부됩니다.

플랫폼 가용성

컨텍스트 참조는 주로 CLI 기능입니다. @ 트리거 탭 완료 및 참조가 에이전트에 전송되기 전에 확장 된 대화 형 CLI에서 작동합니다.

messaging platform (Telegram, Discord 등), @ 구문은 게이트웨이에 의해 확장되지 않습니다 - 메시지는 as-is를 통해 전달됩니다. 에이전트 자체는 read_file를 통해 아직도 참조 파일을 할 수 있습니다, search_filesweb_extract 도구.

컨텍스트 압축을 가진 상호 작용

대화 컨텍스트가 압축되면 확장된 참조 내용이 압축 요약에 포함되어 있습니다. 이 수단:

  • 대용량 파일 내용 @file: 컨텍스트 사용에 기여
  • 대화가 나중에 압축되면 파일 내용이 요약됩니다 (동사적 보존되지 않음)
  • 매우 큰 파일에 대해서는 라인 범위 (@file:main.py:100-200)를 사용하여 관련 섹션 만 주사해야합니다

일반 패턴

# 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

오류 처리

잘못된 참조는 실패보다 인라인 경고를 생성합니다

(주)채용 정보
찾을 수 없음경고: "파일을 찾을 수 없습니다"
Binary 파일경고: "기본 파일이 지원되지 않습니다"
찾을 수 없음경고: "찾지 못했습니다"
Git 명령은 실패git stderr로 경고
URL 반환 내용경고: "작용되지 않음"
민감한 경로경고: "path는 민감한 식별 파일"
외부 작업 공간경고: "path는 허용된 업무 공간 밖에 없습니다"