Skip to content

Latest commit

 

History

History
934 lines (713 loc) · 33.5 KB

File metadata and controls

934 lines (713 loc) · 33.5 KB

Autohand 설정 참조

~/.autohand/config.json (또는 .yaml/.yml)의 모든 설정 옵션에 대한 완전한 참조 문서입니다.

목차


설정 파일 위치

Autohand는 다음 순서로 설정을 찾습니다:

  1. AUTOHAND_CONFIG 환경 변수 (사용자 지정 경로)
  2. ~/.autohand/config.yaml
  3. ~/.autohand/config.yml
  4. ~/.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_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 "이 모듈을 리팩토링하세요"

프로바이더 설정

provider

사용할 활성 LLM 프로바이더입니다.

설명
"openrouter" OpenRouter API (기본값)
"ollama" 로컬 Ollama 인스턴스
"llamacpp" 로컬 llama.cpp 서버
"openai" OpenAI API 직접 사용
"mlx" Apple Silicon에서 MLX (로컬)
"llmgateway" 통합 LLM Gateway API

openrouter

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 프로바이더 설정입니다.

{
  "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)

llamacpp

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

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)

mlx

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 모델 식별자

llmgateway

통합 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 설정

{
  "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 업데이트 확인 간격 시간 (간격 내에서 캐시된 결과 사용)

참고: readFileCharLimitread_file, search, search_with_context의 터미널 표시에만 영향을 줍니다. 전체 내용은 여전히 모델에 전송되고 도구 메시지에 저장됩니다.

터미널 벨

terminalBell이 활성화되면 (기본값), Autohand는 작업 완료 시 터미널 벨 (\x07)을 울립니다. 이것은 다음을 트리거합니다:

  • 터미널 탭 배지 - 작업 완료를 나타내는 시각적 표시기
  • 독 아이콘 바운스 - 터미널이 백그라운드에 있을 때 주의 끌기 (macOS)
  • 소리 - 터미널 설정에서 소리가 활성화된 경우

비활성화하려면:

{
  "ui": {
    "terminalBell": false
  }
}

Ink 렌더러 (실험적)

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,
    "debug": false
  }
}
필드 타입 기본값 설명
maxIterations number 100 중지하기 전 사용자 요청당 최대 도구 반복 횟수
enableRequestQueue boolean true 에이전트 작업 중 요청 입력 및 대기열 허용
debug boolean false 상세 디버그 출력 활성화 (에이전트 내부 상태 로그를 stderr에 기록)

디버그 모드

디버그 모드를 활성화하면 에이전트의 내부 상태에 대한 상세 로깅(react 루프 반복, 프롬프트 구축, 세션 세부 정보)을 볼 수 있습니다. 출력은 정상 출력을 방해하지 않도록 stderr로 전송됩니다.

디버그 모드를 활성화하는 세 가지 방법 (우선순위 순):

  1. CLI 플래그: autohand -d 또는 autohand --debug
  2. 환경 변수: AUTOHAND_DEBUG=1
  3. 구성 파일: 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
  }
}

mode

설명
"interactive" 위험한 작업에 대해 승인 요청 (기본값)
"unrestricted" 프롬프트 없음, 모두 허용
"restricted" 모든 위험한 작업 거부

whitelist

승인이 필요 없는 도구 패턴 배열입니다.

["run_command:npm *", "run_command:bun test"]

blacklist

항상 차단되는 도구 패턴 배열입니다.

["run_command:rm -rf /", "run_command:sudo *"]

rules

세밀한 권한 규칙입니다.

필드 타입 설명
tool string 일치시킬 도구 이름
pattern string 인수와 일치시킬 선택적 패턴
action "allow" | "deny" | "prompt" 취할 조치

rememberSession

타입 기본값 설명
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 설정입니다.

{
  "api": {
    "baseUrl": "https://api.autohand.ai",
    "companySecret": "sk-team-xxx"
  }
}
필드 타입 기본값 설명
baseUrl string https://api.autohand.ai API 엔드포인트
companySecret string - 공유 기능을 위한 팀/회사 비밀

환경 변수로도 설정 가능:

  • AUTOHAND_API_URLapi.baseUrl
  • AUTOHAND_SECRETapi.companySecret

스킬 시스템

슬래시 명령어

/skills — 패키지 관리자

명령어 설명
/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 — LLM 기반 스킬 어드바이저

명령어 설명
/learn 프로젝트 분석 및 스킬 추천 (빠른 스캔)
/learn deep 더 정확한 결과를 위한 딥스캔 (소스 파일 읽기)
/learn update 프로젝트 재분석 및 오래된 LLM 생성 스킬 재생성

/learn은 2단계 LLM 플로우를 사용합니다:

  1. 1단계 — 분석 + 랭킹 + 감사: 프로젝트 구조를 스캔하고, 설치된 스킬의 중복/충돌을 감사하며, 커뮤니티 스킬을 관련성(0-100)으로 순위를 매깁니다.
  2. 2단계 — 생성 (조건부): 커뮤니티 스킬 중 60점 이상이 없으면, 프로젝트에 맞춤화된 커스텀 스킬 생성을 제안합니다.

자동 스킬 생성 (--auto-skill)

--auto-skill CLI 플래그는 대화형 어드바이저 플로우 없이 스킬을 생성합니다:

autohand --auto-skill

이 명령은:

  1. 프로젝트 구조 분석 (package.json, requirements.txt 등)
  2. 언어, 프레임워크, 패턴 감지
  3. LLM을 사용하여 3개의 관련 스킬 생성
  4. <프로젝트>/.autohand/skills/에 스킬 저장

더 정확한 대화형 경험을 원하시면 세션 내에서 /learn을 사용하세요.


전체 예제

JSON 형식 (~/.autohand/config.json)

{
  "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
  },
  "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"
  }
}

YAML 형식 (~/.autohand/config.yaml)

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

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

디렉토리 구조

Autohand는 ~/.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/              # 프로젝트 특정 스킬

CLI 플래그 (설정 덮어쓰기)

다음 플래그는 설정 파일 설정을 덮어씁니다:

플래그 설명
--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 위험한 작업 거부
--setup 설정 마법사를 실행하여 Autohand 설정 또는 재설정
--sys-prompt <값> 전체 시스템 프롬프트 교체 (인라인 문자열 또는 파일 경로)
--append-sys-prompt <값> 시스템 프롬프트에 추가 (인라인 문자열 또는 파일 경로)
--auto-skill 프로젝트 분석 기반 스킬 자동 생성 (대화형은 /learn 참조)

시스템 프롬프트 사용자 정의

Autohand는 AI 에이전트가 사용하는 시스템 프롬프트를 사용자 정의할 수 있습니다. 이는 전문 워크플로우, 커스텀 지침 또는 다른 시스템과의 통합에 유용합니다.

CLI 플래그

플래그 설명
--sys-prompt <값> 전체 시스템 프롬프트 교체
--append-sys-prompt <값> 기본 시스템 프롬프트에 콘텐츠 추가

두 플래그 모두 다음을 허용합니다:

  • 인라인 문자열: 직접 텍스트 콘텐츠
  • 파일 경로: 프롬프트가 포함된 파일 경로 (자동 감지)

파일 경로 감지

다음 경우 값이 파일 경로로 처리됩니다:

  • ./, ../, /, 또는 ~/로 시작
  • Windows 드라이브 문자로 시작 (예: C:\)
  • .txt, .md, 또는 .prompt로 끝남
  • 공백 없이 경로 구분자 포함

그렇지 않으면 인라인 문자열로 처리됩니다.

--sys-prompt (전체 교체)

제공되면 기본 시스템 프롬프트를 완전히 교체합니다. 에이전트는 다음을 로드하지 않습니다:

  • Autohand 기본 지침
  • AGENTS.md 프로젝트 지침
  • 사용자/프로젝트 메모리
  • 활성 스킬
# 인라인 문자열
autohand --sys-prompt "당신은 Python 전문가입니다. 간결하게 답하세요." --prompt "hello world 작성"

# 파일에서
autohand --sys-prompt ./custom-prompt.txt --prompt "이 코드를 설명해주세요"

--append-sys-prompt (기본값에 추가)

제공되면 전체 기본 시스템 프롬프트에 콘텐츠를 추가합니다. 에이전트는 모든 기본 지침을 계속 로드합니다.

# 인라인 문자열
autohand --append-sys-prompt "항상 JavaScript 대신 TypeScript를 사용하세요" --prompt "함수 생성"

# 파일에서
autohand --append-sys-prompt ./team-guidelines.md --prompt "오류 처리 추가"

우선순위

두 플래그가 모두 제공된 경우:

  1. --sys-prompt가 완전한 우선순위
  2. --append-sys-prompt는 무시됨

멀티 디렉토리 지원

Autohand는 메인 워크스페이스 외의 여러 디렉토리에서 작업할 수 있습니다. 이는 프로젝트에 의존성, 공유 라이브러리 또는 다른 디렉토리에 있는 관련 프로젝트가 있을 때 유용합니다.

CLI 플래그

--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)