~/.autohand/config.json (또는 .yaml/.yml)의 모든 설정 옵션에 대한 완전한 참조 문서입니다.
현지화된 참조:
- English
- 日本語
- 简体中文
- 繁體中文
- 한국어
- Deutsch
- Español
- Français
- Italiano
- Polski
- Русский
- Português (Brasil)
- Türkçe
- Čeština
- Magyar
- हिन्दी
- Bahasa Indonesia
- 설정 파일 위치
- 환경 변수
- 프로바이더 설정
- 워크스페이스 설정
- UI 설정
- 에이전트 설정
- 권한 설정
- 패치 모드
- 네트워크 설정
- 텔레메트리 설정
- 외부 에이전트
- API 설정
- 인증 설정
- 커뮤니티 스킬 설정
- 공유 설정
- 동기화 설정
- 훅 설정
- MCP 설정
- Chrome 확장 설정
- 스킬 시스템
- 전체 예제
Autohand는 다음 순서로 설정을 찾습니다:
AUTOHAND_CONFIG환경 변수 (사용자 지정 경로)~/.autohand/config.yaml~/.autohand/config.yml~/.autohand/config.json(기본값)
기본 디렉토리를 변경할 수도 있습니다:
export AUTOHAND_HOME=/custom/path # ~/.autohand를 /custom/path로 변경| 변수 | 설명 | 예시 |
|---|---|---|
AUTOHAND_HOME |
모든 Autohand 데이터의 기본 디렉토리 | /custom/path |
AUTOHAND_CONFIG |
사용자 지정 설정 파일 경로 | /path/to/config.json |
AUTOHAND_API_URL |
API 엔드포인트 (설정 덮어쓰기) | https://api.autohand.ai |
AUTOHAND_AUTH_URL |
로그인 및 계정 동기화 원본 (AUTOHAND_API_URL과 별도) |
https://autohand.ai |
AUTOHAND_SECRET |
회사/팀 비밀 키 | sk-xxx |
AUTOHAND_PERMISSION_CALLBACK_URL |
권한 콜백 URL (실험적) | http://localhost:3000/callback |
AUTOHAND_PERMISSION_CALLBACK_TIMEOUT |
권한 콜백 타임아웃 (밀리초) | 5000 |
AUTOHAND_NON_INTERACTIVE |
비대화형 모드로 실행 | 1 |
AUTOHAND_YES |
모든 프롬프트 자동 확인 | 1 |
AUTOHAND_NO_BANNER |
시작 배너 비활성화 | 1 |
AUTOHAND_STREAM_TOOL_OUTPUT |
실시간으로 도구 출력 스트리밍 | 1 |
AUTOHAND_DEBUG |
디버그 로깅 활성화 | 1 |
AUTOHAND_THINKING_LEVEL |
사고 수준 설정 | normal |
AUTOHAND_CLIENT_NAME |
클라이언트/편집기 식별자 (ACP 확장 프로그램에 의해 설정) | zed |
AUTOHAND_CLIENT_VERSION |
클라이언트 버전 (ACP 확장 프로그램에 의해 설정) | 0.169.0 |
AUTOHAND_CODE |
환경 감지 플래그 (자동 설정) | 1 |
AUTOHAND_THINKING_LEVEL 환경 변수는 모델의 추론 깊이를 제어합니다:
| 값 | 설명 |
|---|---|
none |
보이는 추론 없이 직접적인 응답 |
normal |
표준 추론 깊이 (기본값) |
extended |
복잡한 작업을 위한 심층 추론, 더 자세한 사고 과정 표시 |
이는 일반적으로 ACP 클라이언트 확장 프로그램(예: Zed)이 구성 드롭다운을 통해 설정합니다.
# 예시: 복잡한 작업에 확장된 추론 사용
AUTOHAND_THINKING_LEVEL=extended autohand --prompt "이 모듈을 리팩토링하세요"사용할 활성 LLM 프로바이더입니다.
| 값 | 설명 |
|---|---|
"openrouter" |
OpenRouter API (기본값) |
"ollama" |
로컬 Ollama 인스턴스 |
"llamacpp" |
로컬 llama.cpp 서버 |
"openai" |
OpenAI API 직접 사용 |
"mlx" |
Apple Silicon에서 MLX (로컬) |
"llmgateway" |
통합 LLM Gateway API |
OpenRouter 프로바이더 설정입니다.
{
"openrouter": {
"apiKey": "sk-or-v1-xxx",
"baseUrl": "https://openrouter.ai/api/v1",
"model": "your-modelcard-id-here"
}
}| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
apiKey |
string | 예 | - | OpenRouter API 키 |
baseUrl |
string | 아니오 | https://openrouter.ai/api/v1 |
API 엔드포인트 |
model |
string | 예 | - | 모델 식별자 (예: your-modelcard-id-here) |
Ollama 프로바이더 설정입니다.
{
"ollama": {
"baseUrl": "http://localhost:11434",
"port": 11434,
"model": "llama3.2"
}
}| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
baseUrl |
string | 아니오 | http://localhost:11434 |
Ollama 서버 URL |
port |
number | 아니오 | 11434 |
서버 포트 (baseUrl 대안) |
model |
string | 예 | - | 모델 이름 (예: llama3.2, codellama) |
llama.cpp 서버 설정입니다.
{
"llamacpp": {
"baseUrl": "http://localhost:8080",
"port": 8080,
"model": "default"
}
}| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
baseUrl |
string | 아니오 | http://localhost:8080 |
llama.cpp 서버 URL |
port |
number | 아니오 | 8080 |
서버 포트 |
model |
string | 예 | - | 모델 식별자 |
OpenAI API 설정입니다.
{
"openai": {
"apiKey": "sk-xxx",
"baseUrl": "https://api.openai.com/v1",
"model": "gpt-4o"
}
}| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
apiKey |
string | 예 | - | OpenAI API 키 |
baseUrl |
string | 아니오 | https://api.openai.com/v1 |
API 엔드포인트 |
model |
string | 예 | - | 모델 이름 (예: gpt-4o, gpt-4o-mini) |
Apple Silicon Mac용 MLX 프로바이더(로컬 추론).
{
"mlx": {
"baseUrl": "http://localhost:8080",
"port": 8080,
"model": "mlx-community/Llama-3.2-3B-Instruct-4bit"
}
}| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
baseUrl |
string | 아니오 | http://localhost:8080 |
MLX 서버 URL |
port |
number | 아니오 | 8080 |
서버 포트 |
model |
string | 예 | - | MLX 모델 식별자 |
통합 LLM Gateway API 구성. 단일 API를 통해 여러 LLM 프로바이더에 접근할 수 있습니다.
{
"llmgateway": {
"apiKey": "your-llmgateway-api-key",
"baseUrl": "https://api.llmgateway.io/v1",
"model": "gpt-4o"
}
}| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
apiKey |
string | 예 | - | LLM Gateway API 키 |
baseUrl |
string | 아니오 | https://api.llmgateway.io/v1 |
API 엔드포인트 |
model |
string | 예 | - | 모델 이름 (예: gpt-4o, claude-3-5-sonnet-20241022) |
API 키 받기: 계정을 만들고 API 키를 받으려면 llmgateway.io/dashboard를 방문하세요.
지원되는 모델: LLM Gateway는 다음을 포함한 여러 프로바이더의 모델을 지원합니다:
- OpenAI:
gpt-4o,gpt-4o-mini,gpt-4-turbo - Anthropic:
claude-3-5-sonnet-20241022,claude-3-5-haiku-20241022 - Google:
gemini-1.5-pro,gemini-1.5-flash
{
"workspace": {
"defaultRoot": "/path/to/projects",
"allowDangerousOps": false
}
}| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
defaultRoot |
string | 현재 디렉토리 | 지정되지 않은 경우 기본 워크스페이스 |
allowDangerousOps |
boolean | false |
확인 없이 파괴적 작업 허용 |
Autohand는 우발적인 손상을 방지하기 위해 위험한 디렉토리에서 작업을 자동으로 차단합니다:
- 파일 시스템 루트 (
/,C:\,D:\, 등) - 홈 디렉토리 (
~,/Users/<user>,/home/<user>,C:\Users\<user>) - 시스템 디렉토리 (
/etc,/var,/System,C:\Windows, 등) - Windows WSL 마운트 (
/mnt/c,/mnt/c/Users/<user>)
이 검사는 재정의할 수 없습니다. 위험한 디렉토리에서 autohand를 실행하려고 하면 오류가 발생하고 안전한 프로젝트 디렉토리를 지정해야 합니다.
# 이것은 차단됩니다
cd ~ && autohand
# 오류: 안전하지 않은 워크스페이스 디렉토리
# 이것은 작동합니다
cd ~/projects/my-app && autohand자세한 내용은 워크스페이스 안전성을 참조하세요.
{
"ui": {
"theme": "dark",
"autoConfirm": false,
"readFileCharLimit": 300,
"showCompletionNotification": true,
"showThinking": true,
"useInkRenderer": false,
"terminalBell": true,
"checkForUpdates": true,
"updateCheckInterval": 24
}
}| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
theme |
"dark" | "light" |
"dark" |
터미널 출력 색상 테마 |
autoConfirm |
boolean | false |
안전한 작업에 대한 확인 프롬프트 건너뛰기 |
readFileCharLimit |
number | 300 |
읽기/검색 도구 출력에서 표시할 최대 문자 수 (전체 내용은 여전히 모델에 전송됨) |
showCompletionNotification |
boolean | true |
작업 완료 시 시스템 알림 표시 |
showThinking |
boolean | true |
LLM의 추론/사고 과정 표시 |
useInkRenderer |
boolean | false |
깜빡임 없는 UI를 위한 Ink 기반 렌더러 사용 (실험적) |
terminalBell |
boolean | true |
작업 완료 시 터미널 벨 울림 (터미널 탭/독에 배지 표시) |
checkForUpdates |
boolean | true |
시작 시 CLI 업데이트 확인 |
updateCheckInterval |
number | 24 |
업데이트 확인 간격 시간 (간격 내에서 캐시된 결과 사용) |
참고: readFileCharLimit은 read_file, search, search_with_context의 터미널 표시에만 영향을 줍니다. 전체 내용은 여전히 모델에 전송되고 도구 메시지에 저장됩니다.
terminalBell이 활성화되면 (기본값), Autohand는 작업 완료 시 터미널 벨 (\x07)을 울립니다. 이것은 다음을 트리거합니다:
- 터미널 탭 배지 - 작업 완료를 나타내는 시각적 표시기
- 독 아이콘 바운스 - 터미널이 백그라운드에 있을 때 주의 끌기 (macOS)
- 소리 - 터미널 설정에서 소리가 활성화된 경우
비활성화하려면:
{
"ui": {
"terminalBell": false
}
}useInkRenderer가 활성화되면, Autohand는 전통적인 ora 스피너 대신 React 기반 터미널 렌더링 (Ink)을 사용합니다. 이것은 다음을 제공합니다:
- 깜빡임 없는 출력: 모든 UI 업데이트가 React 조정을 통해 배치됨
- 작업 큐 기능: 에이전트가 작업하는 동안 명령어 입력
- 더 나은 입력 처리: readline 핸들러 간 충돌 없음
- 조합 가능한 UI: 향후 고급 UI 기능의 기반
활성화하려면:
{
"ui": {
"useInkRenderer": true
}
}참고: 이 기능은 실험적이며 일부 예외 케이스가 있을 수 있습니다. 기본 ora 기반 UI는 안정적이고 완전히 기능합니다.
checkForUpdates가 활성화되면 (기본값), Autohand는 시작 시 새 릴리스를 확인합니다:
> Autohand v0.6.8 (abc1234) ✓ Up to date
업데이트가 있으면:
> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8
↳ Run: curl -fsSL https://autohand.ai/install.sh | sh
비활성화하려면:
{
"ui": {
"checkForUpdates": false
}
}또는 환경 변수로:
export AUTOHAND_SKIP_UPDATE_CHECK=1에이전트 동작 및 반복 제한을 제어합니다.
{
"agent": {
"maxIterations": 100,
"enableRequestQueue": true,
"idleLogoutEnabled": true,
"idleTimeoutMs": 3600000,
"debug": false
}
}| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
maxIterations |
number | 100 |
중지하기 전 사용자 요청당 최대 도구 반복 횟수 |
enableRequestQueue |
boolean | true |
에이전트 작업 중 요청 입력 및 대기열 허용 |
idleLogoutEnabled |
boolean | true |
유휴 시간 제한 후 인증된 대화형 세션에서 로그아웃 |
idleTimeoutMs |
number | 3600000 |
인증된 세션에서 로그아웃하기 전 비활성 시간(밀리초, 60분) |
debug |
boolean | false |
상세 디버그 출력 활성화 (에이전트 내부 상태 로그를 stderr에 기록) |
{
"sessions": {
"awareness": "warn"
}
}| 필드 | 유형 | 기본값 | 설명 |
|---|---|---|---|
awareness |
string | "warn" |
passive는 다른 세션을 표시하고, warn은 위험한 Git 작업과 파일 충돌도 경고하며, coordinate는 다른 활성 세션이 점유한 경로에 쓰기 전에 확인을 요청합니다 |
유휴 로그아웃을 비활성화하려면 idleLogoutEnabled를 false로 설정합니다. 기간을 변경하려면 idleTimeoutMs를 양의 밀리초 값으로 설정합니다. 기본값은 3600000(60분)이며 잘못된 값은 기본값으로 대체됩니다.
디버그 모드를 활성화하면 에이전트의 내부 상태에 대한 상세 로깅(react 루프 반복, 프롬프트 구축, 세션 세부 정보)을 볼 수 있습니다. 출력은 정상 출력을 방해하지 않도록 stderr로 전송됩니다.
디버그 모드를 활성화하는 세 가지 방법 (우선순위 순):
- CLI 플래그:
autohand -d또는autohand --debug - 환경 변수:
AUTOHAND_DEBUG=1 - 구성 파일:
agent.debug: true설정
enableRequestQueue가 활성화되면, 에이전트가 이전 요청을 처리하는 동안 계속 메시지를 입력할 수 있습니다. 입력은 자동으로 대기열에 추가되고 현재 작업이 완료되면 처리됩니다.
- 메시지를 입력하고 Enter를 눌러 대기열에 추가
- 상태 줄에 대기 중인 요청 수 표시
- 요청은 FIFO (선입선출) 순서로 처리됨
- 최대 대기열 크기는 10개 요청
도구 권한에 대한 세밀한 제어입니다.
{
"permissions": {
"mode": "interactive",
"whitelist": [
"run_command:npm *",
"run_command:bun *",
"run_command:git status"
],
"blacklist": ["run_command:rm -rf *", "run_command:sudo *"],
"rules": [
{
"tool": "run_command",
"pattern": "npm test",
"action": "allow"
}
],
"rememberSession": true
}
}| 값 | 설명 |
|---|---|
"interactive" |
위험한 작업에 대해 승인 요청 (기본값) |
"unrestricted" |
프롬프트 없음, 모두 허용 |
"restricted" |
모든 위험한 작업 거부 |
승인이 필요 없는 도구 패턴 배열입니다.
["run_command:npm *", "run_command:bun test"]항상 차단되는 도구 패턴 배열입니다.
["run_command:rm -rf /", "run_command:sudo *"]세밀한 권한 규칙입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
tool |
string | 일치시킬 도구 이름 |
pattern |
string | 인수와 일치시킬 선택적 패턴 |
action |
"allow" | "deny" | "prompt" |
취할 조치 |
| 타입 | 기본값 | 설명 |
|---|---|---|
| boolean | true |
세션 동안 승인 결정 기억 |
각 프로젝트는 전역 설정을 덮어쓰는 자체 권한 설정을 가질 수 있습니다. 이는 프로젝트 루트의 .autohand/settings.local.json에 저장됩니다.
파일 작업 (편집, 쓰기, 삭제)을 승인하면 이 파일에 자동으로 저장되어 동일한 프로젝트에서 같은 작업에 대해 다시 묻지 않습니다.
{
"version": 1,
"permissions": {
"whitelist": [
"apply_patch:src/components/Button.tsx",
"write_file:package.json",
"run_command:bun test"
]
}
}작동 방식:
- 작업을 승인하면
.autohand/settings.local.json에 저장됨 - 다음 번에 동일한 작업이 자동 승인됨
- 로컬 프로젝트 설정은 전역 설정과 병합됨 (로컬이 우선)
.autohand/settings.local.json을.gitignore에 추가하여 개인 설정 비공개 유지
패턴 형식:
도구_이름:경로- 파일 작업용 (예:apply_patch:src/file.ts)도구_이름:명령 인수- 명령어용 (예:run_command:npm test)
{
"network": {
"maxRetries": 3,
"timeout": 30000,
"retryDelay": 1000
}
}| 필드 | 타입 | 기본값 | 최대 | 설명 |
|---|---|---|---|---|
maxRetries |
number | 3 |
5 |
실패한 API 요청에 대한 재시도 횟수 |
timeout |
number | 30000 |
- | 요청 타임아웃 (밀리초) |
retryDelay |
number | 1000 |
- | 재시도 간 지연 시간 (밀리초) |
텔레메트리는 기본적으로 비활성화되어 있습니다 (옵트인). Autohand 개선을 위해 활성화하세요.
{
"telemetry": {
"enabled": false,
"apiBaseUrl": "https://api.autohand.ai",
"enableSessionSync": false
}
}| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
enabled |
boolean | false |
텔레메트리 활성화/비활성화 (옵트인) |
apiBaseUrl |
string | https://api.autohand.ai |
텔레메트리 API 엔드포인트 |
enableSessionSync |
boolean | false |
팀 기능을 위해 세션을 클라우드에 동기화 |
외부 디렉토리에서 사용자 지정 에이전트 정의를 로드합니다.
{
"externalAgents": {
"enabled": true,
"paths": ["~/.autohand/agents", "/team/shared/agents"]
}
}| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
enabled |
boolean | false |
외부 에이전트 로딩 활성화 |
paths |
string[] | [] |
에이전트를 로드할 디렉토리 |
팀 기능을 위한 백엔드 API 설정입니다.
{
"api": {
"baseUrl": "https://api.autohand.ai",
"companySecret": "sk-team-xxx"
}
}| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
baseUrl |
string | https://api.autohand.ai |
API 엔드포인트 |
companySecret |
string | - | 공유 기능을 위한 팀/회사 비밀 |
환경 변수로도 설정 가능:
AUTOHAND_API_URL→api.baseUrlAUTOHAND_SECRET→api.companySecret
원격 파일 이름은 활성화된 동기화 범주 안의 상대 POSIX 경로로만 허용됩니다. 동기화는 디렉터리 순회, 절대 경로 또는 Windows 형식 경로, 중복되거나 빈 세그먼트, 심볼릭 링크를 통해 활성화된 루트 밖으로 우회되는 대상을 거부합니다.
애플리케이션 로그인 토큰은 구성된 동기화 API와 오리진이 같은 전송 URL에만 Authorization 헤더로 전송됩니다. 교차 오리진 미리 서명된 HTTPS URL에는 이 토큰이 전송되지 않으며, 안전하지 않거나 잘못된 교차 오리진 URL은 거부됩니다.
| 명령어 | 설명 |
|---|---|
/skills |
사용 가능한 모든 스킬 목록 |
/skills use <이름> |
현재 세션에서 스킬 활성화 |
/skills deactivate <이름> |
스킬 비활성화 |
/skills info <이름> |
스킬 상세 정보 표시 |
/skills install |
커뮤니티 레지스트리에서 탐색 및 설치 |
/skills install @<slug> |
slug로 커뮤니티 스킬 설치 |
/skills search <검색어> |
커뮤니티 스킬 레지스트리 검색 |
/skills trending |
트렌딩 커뮤니티 스킬 표시 |
/skills remove <slug> |
커뮤니티 스킬 제거 |
/skills new |
대화형으로 새 스킬 생성 |
/skills feedback <slug> <1-5> |
커뮤니티 스킬 평가 |
| 명령어 | 설명 |
|---|---|
/learn |
프로젝트 분석 및 스킬 추천 (빠른 스캔) |
/learn deep |
더 정확한 결과를 위한 딥스캔 (소스 파일 읽기) |
/learn update |
프로젝트 재분석 및 오래된 LLM 생성 스킬 재생성 |
/learn은 2단계 LLM 플로우를 사용합니다:
- 1단계 — 분석 + 랭킹 + 감사: 프로젝트 구조를 스캔하고, 설치된 스킬의 중복/충돌을 감사하며, 커뮤니티 스킬을 관련성(0-100)으로 순위를 매깁니다.
- 2단계 — 생성 (조건부): 커뮤니티 스킬 중 60점 이상이 없으면, 프로젝트에 맞춤화된 커스텀 스킬 생성을 제안합니다.
--auto-skill CLI 플래그는 대화형 어드바이저 플로우 없이 스킬을 생성합니다:
autohand --auto-skill이 명령은:
- 프로젝트 구조 분석 (package.json, requirements.txt 등)
- 언어, 프레임워크, 패턴 감지
- LLM을 사용하여 3개의 관련 스킬 생성
<프로젝트>/.autohand/skills/에 스킬 저장
더 정확한 대화형 경험을 원하시면 세션 내에서 /learn을 사용하세요.
{
"provider": "openrouter",
"openrouter": {
"apiKey": "sk-or-v1-your-key-here",
"baseUrl": "https://openrouter.ai/api/v1",
"model": "your-modelcard-id-here"
},
"ollama": {
"baseUrl": "http://localhost:11434",
"model": "llama3.2"
},
"workspace": {
"defaultRoot": "~/projects",
"allowDangerousOps": false
},
"ui": {
"theme": "dark",
"autoConfirm": false,
"showCompletionNotification": true,
"showThinking": true,
"terminalBell": true,
"checkForUpdates": true,
"updateCheckInterval": 24
},
"agent": {
"maxIterations": 100,
"enableRequestQueue": true,
"idleLogoutEnabled": true,
"idleTimeoutMs": 3600000
},
"permissions": {
"mode": "interactive",
"whitelist": ["run_command:npm *", "run_command:bun *"],
"blacklist": ["run_command:rm -rf /"],
"rememberSession": true
},
"network": {
"maxRetries": 3,
"timeout": 30000,
"retryDelay": 1000
},
"telemetry": {
"enabled": false,
"enableSessionSync": false
},
"externalAgents": {
"enabled": false,
"paths": []
},
"api": {
"baseUrl": "https://api.autohand.ai"
}
}provider: openrouter
openrouter:
apiKey: sk-or-v1-your-key-here
baseUrl: https://openrouter.ai/api/v1
model: your-modelcard-id-here
ollama:
baseUrl: http://localhost:11434
model: llama3.2
workspace:
defaultRoot: ~/projects
allowDangerousOps: false
ui:
theme: dark
autoConfirm: false
showCompletionNotification: true
showThinking: true
terminalBell: true
checkForUpdates: true
updateCheckInterval: 24
agent:
maxIterations: 100
enableRequestQueue: true
idleLogoutEnabled: true
idleTimeoutMs: 3600000
permissions:
mode: interactive
whitelist:
- "run_command:npm *"
- "run_command:bun *"
blacklist:
- "run_command:rm -rf /"
rememberSession: true
network:
maxRetries: 3
timeout: 30000
retryDelay: 1000
telemetry:
enabled: false
enableSessionSync: false
externalAgents:
enabled: false
paths: []
api:
baseUrl: https://api.autohand.aiAutohand는 ~/.autohand/ (또는 $AUTOHAND_HOME)에 데이터를 저장합니다:
~/.autohand/
├── config.json # 기본 설정
├── config.yaml # 대체 YAML 설정
├── device-id # 고유 장치 식별자
├── error.log # 에러 로그
├── feedback.log # 피드백 제출
├── sessions/ # 세션 기록
├── projects/ # 프로젝트 지식 베이스
├── memory/ # 사용자 수준 메모리
├── commands/ # 사용자 지정 명령어
├── agents/ # 에이전트 정의
├── tools/ # 사용자 지정 메타 도구
├── feedback/ # 피드백 상태
└── telemetry/ # 텔레메트리 데이터
├── queue.json
└── session-sync-queue.json
프로젝트 수준 디렉토리 (워크스페이스 루트에서):
<project>/.autohand/
├── settings.local.json # 로컬 프로젝트 권한 (gitignore에 추가)
├── memory/ # 프로젝트 특정 메모리
└── skills/ # 프로젝트 특정 스킬
다음 플래그는 설정 파일 설정을 덮어씁니다:
| 플래그 | 설명 |
|---|---|
--model <model> |
모델 덮어쓰기 |
--path <path> |
워크스페이스 루트 덮어쓰기 |
--worktree [name] |
세션을 격리된 git worktree에서 실행 (선택적으로 worktree/브랜치 이름 지정) |
--tmux |
전용 tmux 세션에서 실행 (--worktree 포함, --no-worktree와 함께 사용 불가) |
--add-dir <path> |
워크스페이스 범위에 추가 디렉토리 추가 (여러 번 사용 가능) |
--config <path> |
사용자 지정 설정 파일 사용 |
--temperature <n> |
온도 설정 (0-1) |
--yes |
프롬프트 자동 확인 |
--dry-run |
실행 없이 미리보기 |
--unrestricted |
승인 프롬프트 없음 |
--restricted |
위험한 작업 거부 |
--browser |
브라우저 통합 활성화 |
--no-browser |
브라우저 통합 비활성화 |
--setup |
설정 마법사를 실행하여 Autohand 설정 또는 재설정 |
--sys-prompt <값> |
전체 시스템 프롬프트 교체 (인라인 문자열 또는 파일 경로) |
--append-sys-prompt <값> |
시스템 프롬프트에 추가 (인라인 문자열 또는 파일 경로) |
--auto-skill |
프로젝트 분석 기반 스킬 자동 생성 (대화형은 /learn 참조) |
Autohand는 AI 에이전트가 사용하는 시스템 프롬프트를 사용자 정의할 수 있습니다. 이는 전문 워크플로우, 커스텀 지침 또는 다른 시스템과의 통합에 유용합니다.
| 플래그 | 설명 |
|---|---|
--sys-prompt <값> |
전체 시스템 프롬프트 교체 |
--append-sys-prompt <값> |
기본 시스템 프롬프트에 콘텐츠 추가 |
두 플래그 모두 다음을 허용합니다:
- 인라인 문자열: 직접 텍스트 콘텐츠
- 파일 경로: 프롬프트가 포함된 파일 경로 (자동 감지)
다음 경우 값이 파일 경로로 처리됩니다:
./,../,/, 또는~/로 시작- Windows 드라이브 문자로 시작 (예:
C:\) .txt,.md, 또는.prompt로 끝남- 공백 없이 경로 구분자 포함
그렇지 않으면 인라인 문자열로 처리됩니다.
제공되면 기본 시스템 프롬프트를 완전히 교체합니다. 에이전트는 다음을 로드하지 않습니다:
- Autohand 기본 지침
- AGENTS.md 프로젝트 지침
- 사용자/프로젝트 메모리
- 활성 스킬
# 인라인 문자열
autohand --sys-prompt "당신은 Python 전문가입니다. 간결하게 답하세요." --prompt "hello world 작성"
# 파일에서
autohand --sys-prompt ./custom-prompt.txt --prompt "이 코드를 설명해주세요"제공되면 전체 기본 시스템 프롬프트에 콘텐츠를 추가합니다. 에이전트는 모든 기본 지침을 계속 로드합니다.
# 인라인 문자열
autohand --append-sys-prompt "항상 JavaScript 대신 TypeScript를 사용하세요" --prompt "함수 생성"
# 파일에서
autohand --append-sys-prompt ./team-guidelines.md --prompt "오류 처리 추가"두 플래그가 모두 제공된 경우:
--sys-prompt가 완전한 우선순위--append-sys-prompt는 무시됨
Autohand는 메인 워크스페이스 외의 여러 디렉토리에서 작업할 수 있습니다. 이는 프로젝트에 의존성, 공유 라이브러리 또는 다른 디렉토리에 있는 관련 프로젝트가 있을 때 유용합니다.
--add-dir을 사용하여 추가 디렉토리를 추가합니다 (여러 번 사용 가능):
# 단일 추가 디렉토리 추가
autohand --add-dir /path/to/shared-lib
# 여러 디렉토리 추가
autohand --add-dir /path/to/lib1 --add-dir /path/to/lib2
# 제한 없는 모드와 함께 (모든 디렉토리에 쓰기 자동 승인)
autohand --add-dir /path/to/shared-lib --unrestricted대화형 세션 중에 /add-dir을 사용합니다:
/add-dir # 현재 디렉토리 표시
/add-dir /path/to/dir # 새 디렉토리 추가
다음 디렉토리는 추가할 수 없습니다:
- 홈 디렉토리 (
~또는$HOME) - 루트 디렉토리 (
/) - 시스템 디렉토리 (
/etc,/var,/usr,/bin,/sbin) - Windows 시스템 디렉토리 (
C:\Windows,C:\Program Files) - Windows 사용자 디렉토리 (
C:\Users\username) - WSL Windows 마운트 (
/mnt/c,/mnt/c/Windows)