Полный справочник по всем параметрам конфигурации в ~/.autohand/config.json (или .toml/.yaml/.yml).
Совет. Большинство приведенных ниже настроек можно изменить в интерактивном режиме с помощью команды
/settingsвместо редактирования файла вручную.
Локализованные ссылки:
- English
- 日本語
- 简体中文
- 繁體中文
- 한국어
- Deutsch
- Español
- Français
- Italiano
- Polski
- Русский
- Português (Brasil)
- Türkçe
- Čeština
- Magyar
- हिन्दी
- Bahasa Indonesia
- Расположение файла конфигурации
- Переменные среды
- Базовый режим
- Настройки провайдера
- Настройки рабочей области
- Настройки пользовательского интерфейса
- Настройки агента
- Настройки разрешений
- Режим исправления
- Настройки сети
- Настройки телеметрии
- Внешние агенты
- Система навыков
- Настройки API
- Настройки аутентификации
- Настройки навыков сообщества
- Настройки общего доступа
- Синхронизация настроек
- Настройки хуков
- Настройки MCP
- Настройки расширения Chrome
- Полный пример
Autohand ищет конфигурацию в следующем порядке:
- Переменная среды
AUTOHAND_CONFIG(пользовательский путь) ~/.autohand/config.toml~/.autohand/config.yaml~/.autohand/config.yml~/.autohand/config.json(по умолчанию)
Вы также можете переопределить базовый каталог:
export AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path| Переменная | Описание | Пример |
|---|---|---|
AUTOHAND_HOME |
Базовый каталог для всех данных Autohand | /custom/path |
AUTOHAND_CONFIG |
Пользовательский путь к файлу конфигурации | /path/to/config.toml |
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_CODE_SIMPLE |
Включить простой режим без передачи --bare |
1 |
Переменная среды AUTOHAND_THINKING_LEVEL контролирует глубину рассуждений, используемых моделью:
| Значение | Описание |
|---|---|
none |
Прямые ответы без видимых аргументов |
normal |
Стандартная глубина рассуждений (по умолчанию) |
extended |
Глубокое обоснование сложных задач, более подробный мыслительный процесс |
Обычно это задается клиентскими расширениями ACP (например, Zed) через раскрывающийся список конфигурации.
# Example: Use extended thinking for complex tasks
AUTOHAND_THINKING_LEVEL=extended autohand --prompt "refactor this module"Простой режим запускает Autohand только с явно запрошенной интеграцией контекста и среды выполнения. Включите его одним из следующих способов:
autohand --bare
AUTOHAND_CODE_SIMPLE=1 autohandКогда передается --bare, Autohand также устанавливает AUTOHAND_CODE_SIMPLE=1 для запущенного процесса.
Режим Bare отключает автоматический запуск и интерактивную интеграцию:
- крючки и уведомления о крючках
- запуск ЛСП
- синхронизация плагинов, автоматическая загрузка плагинов и автозагрузка мета-инструментов.
- атрибуция, телеметрия, синхронизация сеансов, автоматические отчеты и фоновые пинги
- автоматический контекст начальной загрузки памяти/сессии
- предложения фоновых подсказок, проверки обновлений, выборка флагов функций и предварительная выборка метаданных модели.
- резервная аутентификация OAuth для ключей и браузера
- автоматическое обнаружение
AGENTS.mdи инструкций поставщика - все команды с косой чертой, включая пустой
/, введенный в командную строку
Абсолютные пути к файлам в форме косой черты, например /Users/alex/project/file.ts, по-прежнему рассматриваются как обычный текст подсказки. Ввод косой черты в форме команды, например /help, /model или /mcp, печатает Slash commands are disabled in bare mode. и не выполняется.
Аутентификация в простом режиме является только явной. Autohand сначала считывает AUTOHAND_API_KEY, затем auth.apiKeyHelper, если настроено. Он не считывает учетные данные связки ключей и не запускает вход в OAuth/браузер. Сторонние поставщики продолжают использовать ключи API и конфигурацию своего поставщика.
Эти явные входные данные остаются доступными в простом режиме:
| Ввод | Описание |
|---|---|
--system-prompt <value> |
Замените системное приглашение встроенным текстом или значением в виде пути |
--system-prompt-file <path> |
Заменить системное приглашение содержимым файла |
--append-system-prompt <value> |
Добавить встроенный текст или значение, подобное пути, в системную подсказку |
--append-system-prompt-file <path> |
Добавить содержимое файла в системное приглашение |
--add-dir <path...> |
Добавить явные каталоги в область рабочей области |
--mcp-config <path> |
Загрузить явный файл конфигурации MCP |
--settings |
Открыть настройки прямо из флага CLI |
--config <path> |
Используйте явный файл конфигурации Autohand |
--agents <json|path> |
Загрузить явные встроенные агенты в формате JSON или каталог явных агентов |
--plugin-dir <path> |
Загрузить явный каталог плагинов/мета-инструментов |
Активный поставщик LLM для использования.
| Значение | Описание |
|---|---|
"openrouter" |
API OpenRouter (по умолчанию) |
"ollama" |
Локальный экземпляр Ollama |
"llamacpp" |
Локальный сервер llama.cpp |
"openai" |
OpenAI API напрямую |
"mlx" |
MLX на Apple Silicon (локально) |
"llmgateway" |
Единый API LLM Gateway |
"deepseek" |
API DeepSeek |
"zai" |
Z.ai GLM API |
"sakana" |
Sakana.AI Фугу API |
"bedrock" |
Основа AWS |
"custom:<id>" |
Пользовательский поставщик, совместимый с OpenAI, из customProviders |
Конфигурация провайдера OpenRouter.
{
"openrouter": {
"apiKey": "sk-or-v1-xxx",
"baseUrl": "https://openrouter.ai/api/v1",
"model": "your-modelcard-id-here",
"contextWindow": 262144
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
apiKey |
строка | Да | - | Ваш ключ API OpenRouter |
baseUrl |
строка | Нет | https://openrouter.ai/api/v1 |
Конечная точка API |
model |
строка | Да | - | Идентификатор модели (например, your-modelcard-id-here) |
contextWindow |
номер | Нет | Авто | Окно контекста точной модели. Autohand заполняет это значение из OpenRouter, если оно известно. |
Конфигурация провайдера Z.ai.
{
"zai": {
"apiKey": "your-zai-api-key",
"baseUrl": "https://api.z.ai/api/paas/v4",
"model": "glm-5.2",
"contextWindow": 1000000
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
apiKey |
строка | Да | - | Ваш API-ключ Z.ai |
baseUrl |
строка | Нет | https://api.z.ai/api/paas/v4 |
Конечная точка API |
model |
строка | Да | glm-5.2 |
Идентификатор модели, например glm-5.2, glm-5.1 или glm-4.5 |
contextWindow |
номер | Нет | Авто | Окно контекста точной модели. Autohand предполагает 1 миллион для GLM-5.2 и 200 тысяч для GLM-5.1. |
Конфигурация провайдера Sakana.AI. API совместим с OpenAI и использует https://api.sakana.ai/v1 в качестве базового URL-адреса.
{
"sakana": {
"apiKey": "your-sakana-api-key",
"baseUrl": "https://api.sakana.ai/v1",
"model": "fugu",
"contextWindow": 1000000
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
apiKey |
строка | Да | - | Ваш ключ API Sakana |
baseUrl |
строка | Нет | https://api.sakana.ai/v1 |
Конечная точка API |
model |
строка | Да | fugu |
Идентификатор модели, например fugu или fugu-ultra |
contextWindow |
номер | Нет | Авто | Окно контекста точной модели. Autohand предполагает 1 миллион для моделей Fugu. |
Пользовательские поставщики позволяют пользователям использовать конечную точку, совместимую с OpenAI, без изменения кода или нового связанного поставщика. Добавьте поставщика в customProviders, затем выберите его с помощью provider: "custom:<id>". Тот же поток доступен из /model с Новым поставщиком.... Во время установки Autohand проверяет базовый URL-адрес, аутентификацию и выбранную модель через OpenAI-совместимую конечную точку /models перед сохранением поставщика.
{
"provider": "custom:acme",
"customProviders": {
"acme": {
"id": "acme",
"displayName": "Acme AI",
"apiFormat": "openai-compatible",
"baseUrl": "https://api.acme.example/v1",
"apiKey": "acme-api-key",
"apiKeyRequired": true,
"model": "acme-code-1",
"contextWindow": 256000,
"reasoningEffort": "high",
"models": [
{
"id": "acme-code-1",
"label": "Acme Code 1",
"contextWindow": 256000,
"reasoningEffort": "high"
}
]
}
}
}Для локальных серверов, совместимых с OpenAI, которые не требуют аутентификации, установите для apiKeyRequired значение false и опустите apiKey.
| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
id |
строка | Да | - | Стабильный идентификатор провайдера. Он должен соответствовать ключу объекта и выбирается как custom:<id>. |
displayName |
строка | Да | - | Имя отображается в /model и настройках провайдера. |
apiFormat |
строка | Да | - | Должно быть openai-compatible. |
baseUrl |
строка | Да | - | Корень конечной точки, например https://api.example.com/v1. Autohand проверяет /models и вызывает /chat/completions. |
apiKey |
строка | Условное | - | Токен носителя для размещенных конечных точек. Требуется, если apiKeyRequired истинно. |
apiKeyRequired |
логическое | Нет | true |
Установите false для локальных или уже прошедших проверку подлинности шлюзов. |
model |
строка | Да | - | Идентификатор активной модели. |
contextWindow |
номер | Нет | Авто | Точное контекстное окно для планирования бюджета токенов, статуса, телеметрии и синхронизации метаданных. |
reasoningEffort |
строка | Нет | - | Необязательные none, low, medium, high или xhigh. Отправляется как reasoning_effort для пользовательских запросов, совместимых с OpenAI. |
models |
массив | Нет | - | Дополнительные записи выбора модели с контекстом каждой модели и метаданными обоснования. |
Конфигурация провайдера Ollama.
{
"ollama": {
"baseUrl": "http://localhost:11434",
"port": 11434,
"model": "llama3.2"
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
baseUrl |
строка | Нет | http://localhost:11434 |
URL-адрес сервера Оллама |
port |
номер | Нет | 11434 |
Порт сервера (альтернатива baseUrl) |
model |
строка | Да | - | Название модели (например, llama3.2, codellama) |
Конфигурация сервера llama.cpp.
{
"llamacpp": {
"baseUrl": "http://localhost:8080",
"port": 8080,
"model": "default"
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
baseUrl |
строка | Нет | http://localhost:8080 |
URL-адрес сервера llama.cpp |
port |
номер | Нет | 8080 |
Порт сервера |
model |
строка | Да | - | Идентификатор модели |
Конфигурация API OpenAI.
{
"openai": {
"authMode": "api-key",
"apiKey": "sk-xxx",
"baseUrl": "https://api.openai.com/v1",
"model": "gpt-5.4"
}
}OpenAI также может использовать вашу подписку на ChatGPT через встроенный процесс входа в систему OpenAI Autohand:
{
"openai": {
"authMode": "chatgpt",
"baseUrl": "https://api.openai.com/v1",
"contextWindow": 1050000,
"model": "gpt-5.4",
"chatgptAuth": {
"accessToken": "...",
"refreshToken": "...",
"accountId": "..."
}
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
authMode |
строка | Нет | api-key |
Режим аутентификации: api-key или chatgpt |
apiKey |
строка | Да для режима api-key |
- | Ключ API OpenAI |
baseUrl |
строка | Нет | https://api.openai.com/v1 |
Конечная точка API |
model |
строка | Да | - | Название модели (например, gpt-5.4, gpt-5.4-mini) |
contextWindow |
номер | Нет | Авто | Окно контекста точной модели. Установите этот параметр, чтобы переопределить устаревшие локальные предположения. |
chatgptAuth |
объект | Да для режима chatgpt |
- | Сохраненные токены аутентификации ChatGPT/Codex и идентификатор учетной записи |
Поставщик MLX для компьютеров Apple Silicon Mac (локальный вывод).
{
"mlx": {
"baseUrl": "http://localhost:8080",
"port": 8080,
"model": "mlx-community/Llama-3.2-3B-Instruct-4bit"
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
baseUrl |
строка | Нет | http://localhost:8080 |
URL-адрес сервера MLX |
port |
номер | Нет | 8080 |
Порт сервера |
model |
строка | Да | - | Идентификатор модели MLX |
Конфигурация унифицированного API LLM Gateway. Предоставляет доступ к нескольким поставщикам LLM через единый API.
{
"llmgateway": {
"apiKey": "your-llmgateway-api-key",
"baseUrl": "https://api.llmgateway.io/v1",
"model": "gpt-4o"
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
apiKey |
строка | Да | - | Ключ API шлюза LLM |
baseUrl |
строка | Нет | https://api.llmgateway.io/v1 |
Конечная точка API |
model |
строка | Да | - | Название модели (например, gpt-4o, claude-3-5-sonnet-20241022) |
Получение ключа API: Посетите llmgateway.io/dashboard, чтобы создать учетную запись и получить ключ API.
Поддерживаемые модели: LLM Gateway поддерживает модели от нескольких поставщиков, включая:
- OpenAI:
gpt-4o,gpt-4o-mini,gpt-4-turboclaude-3-5-haiku-20241022– Google:gemini-1.5-pro,gemini-1.5-flash
Конфигурация провайдера DeepSeek. API совместим с OpenAI и использует https://api.deepseek.com в качестве базового URL-адреса.
{
"deepseek": {
"apiKey": "your-deepseek-api-key",
"baseUrl": "https://api.deepseek.com",
"model": "deepseek-v4-flash"
}
}| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
apiKey |
строка | Да | - | Ключ API DeepSeek |
baseUrl |
строка | Нет | https://api.deepseek.com |
Конечная точка API |
model |
строка | Да | - | Название модели, например deepseek-v4-flash или deepseek-v4-pro |
Конфигурация поставщика AWS Bedrock. converse — это режим по умолчанию, в котором используется цепочка учетных данных AWS SDK. В режимах, совместимых с OpenAI, используются ключи API Bedrock и конечные точки, совместимые с OpenAI.
{
"bedrock": {
"apiMode": "converse",
"authMode": "aws-credentials",
"profile": "enterprise-prod",
"region": "us-east-1",
"model": "anthropic.claude-3-5-sonnet-20241022-v2:0"
}
}provider: bedrock
bedrock:
apiMode: openai-chat
authMode: bedrock-api-key
apiKey: bedrock-api-key
region: us-east-1
model: openai.gpt-oss-120b-1:0provider = "bedrock"
[bedrock]
apiMode = "openai-responses"
authMode = "bedrock-api-key"
apiKey = "bedrock-api-key"
region = "us-west-2"
endpoint = "https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1"
model = "arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0"| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
model |
строка | Да | - | Идентификатор модели Bedrock, идентификатор профиля вывода или ARN |
region |
строка | Да | AWS_REGION, затем AWS_DEFAULT_REGION, затем us-east-1 в настройке |
Регион AWS |
apiMode |
строка | Нет | converse |
converse, openai-chat или openai-responses |
authMode |
строка | Нет | aws-credentials для converse, bedrock-api-key для режимов, совместимых с OpenAI |
Режим аутентификации |
profile |
строка | Нет | - | Дополнительный профиль AWS для аутентификации по цепочке учетных данных |
endpoint |
строка | Нет | На основе режима и региона | Пользовательская/частная конечная точка Bedrock |
apiKey |
строка | Да для режимов, совместимых с OpenAI | - | Ключ API Bedrock. Не используйте ключи API OpenAI. |
Запустите aws configure sso или установите AWS_PROFILE=enterprise-prod autohand для аутентификации AWS на основе профиля. Учетные данные метаданных роли IAM, контейнера и экземпляра поддерживаются AWS SDK. Прежде чем использовать модель, включите доступ к модели в консоли AWS.
{
"workspace": {
"defaultRoot": "/path/to/projects",
"allowDangerousOps": false
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
defaultRoot |
строка | Текущий каталог | Рабочая область по умолчанию, если ничего не указано |
allowDangerousOps |
логическое | 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 в опасном каталоге, вы увидите ошибку и должны будете указать безопасный каталог проекта.
# This will be blocked
cd ~ && autohand
# Error: Unsafe Workspace Directory
# This works
cd ~/projects/my-app && autohandПодробную информацию см. в разделе Безопасность на рабочем месте.
{
"ui": {
"theme": "dark",
"customThemes": {
"company": {
"colors": {
"accent": "#7c3aed",
"success": "#22c55e"
}
}
},
"autoConfirm": false,
"readFileCharLimit": 300,
"silentToolOutput": false,
"activityVerbs": ["Compiling", "Parsing", "Reviewing"],
"activityVerbsEnabled": true,
"activitySymbol": "✳",
"statusLine": {
"showProviderModel": true,
"showContext": true,
"showCommandHint": true,
"showPullRequest": true,
"showSessionLines": false,
"showQueue": true,
"showActiveStatus": true,
"showActiveMetrics": true,
"showCancelHint": true
},
"showCompletionNotification": true,
"showThinking": true,
"terminalBell": true,
"checkForUpdates": true,
"updateCheckInterval": 24
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
theme |
строка | "dark" |
Цветовая тема для вывода через терминал. Встроенные модули включают dark, light, dracula, sandy, tui, github-dark, cappadocia, rio и australia. Устаревшие значения turkey и brazil по-прежнему загружаются как псевдонимы. |
customThemes |
объект | {} |
Встроенные определения пользовательских тем, привязанные к имени темы. Установите для theme тот же ключ, чтобы использовать его. |
autoConfirm |
логическое | false |
Пропускайте запросы на подтверждение для безопасной работы |
readFileCharLimit |
номер | 300 |
Максимальное количество символов для отображения в выходных данных инструмента чтения/поиска (полное содержимое по-прежнему отправляется в модель) |
silentToolOutput |
логическое | false |
Скрыть блоки вывода инструмента в терминале, сохраняя при этом результаты инструмента для модели/сеанса |
activityVerbs |
строка или строка[] | встроенный бассейн | Пользовательский глагол активности или пул глаголов для рабочего индикатора, отображаемый как Verb... |
activityVerbsEnabled |
логическое | true |
Показывать глаголы смены действий, например Compiling..., во время работы агента |
activitySymbol |
строка | "✳" |
Символ, отображаемый перед глаголом активности в выходных данных индикатора активности |
statusLine.showProviderModel |
логическое | true |
Показать активного поставщика и модель в строке состояния композитора |
statusLine.showContext |
логическое | true |
Показать процент контекста в строке состояния композитора |
statusLine.showCommandHint |
логическое | true |
Показывать подсказки по командам, упоминаниям, навыкам и входу в терминал в строке состояния композитора |
statusLine.showPullRequest |
логическое | true |
Показать связанный номер запроса на включение или PR #123, если PR не связан |
statusLine.showSessionLines |
логическое | false |
Показать строки, добавленные и удаленные во время текущего сеанса |
statusLine.showQueue |
логическое | true |
Показывать количество запросов в очереди в строке состояния |
statusLine.showActiveStatus |
логическое | true |
Показывать текст статуса активной очереди во время работы агента |
statusLine.showActiveMetrics |
логическое | true |
Отображение затраченного времени и показателей токенов во время работы агента |
statusLine.showCancelHint |
логическое | true |
Показывать подсказку отмены Esc во время работы агента |
completionReportEnabled |
логическое | true |
Попросите модель включить краткий отчет о завершении после выполненных ходов действий |
showCompletionNotification |
логическое | true |
Показывать системное уведомление о завершении задачи |
showThinking |
логическое | true |
Отображение рассуждений/мысленного процесса LLM |
terminalBell |
логическое | true |
Звонок терминала, когда задача завершена (показывает значок на вкладке/док-станции терминала) |
checkForUpdates |
логическое | true |
Проверка обновлений CLI при запуске |
updateCheckInterval |
номер | 24 |
Часы между проверками обновлений (использует кэшированный результат в пределах интервала) |
Пользовательские темы могут переопределять любой семантический токен цвета. Недостающие токены унаследованы от темной темы:
{
"ui": {
"theme": "company",
"customThemes": {
"company": {
"vars": {
"brand": "#7c3aed",
"brandSoft": "#a78bfa"
},
"colors": {
"accent": "brand",
"borderAccent": "brandSoft",
"mdHeading": "brand"
}
}
}
}
}Примечание. readFileCharLimit и silentToolOutput влияют только на отображение терминала. Полный контент по-прежнему отправляется в модель и сохраняется в сообщениях инструмента.
Вы можете переключить вывод инструмента без звука, не редактируя файл:
autohand config set silent_tool_output true
autohand config set silent_tool_output falseВы можете переключать глаголы ротации активности, не редактируя файл:
autohand config set verbs activity true
autohand config set verbs activity falseНастройте глаголы в файле конфигурации, если вам нужна фиксированная метка статуса или небольшая ротация для конкретного проекта:
{
"ui": {
"activityVerbs": "Compiling"
}
}{
"ui": {
"activityVerbs": ["Indexing", "Reviewing", "Testing"],
"activitySymbol": ">"
}
}activityVerbs принимает либо одну строку, либо непустой массив строк. Если activityVerbsEnabled равен false, Autohand возвращается к Working... вместо смены пользовательских или встроенных глаголов.
Вы можете переключать отчеты о завершении, включая структурированное приглашение SITREP, без редактирования файла:
autohand config set sitrep true
autohand config set sitrep falseЕсли terminalBell включен (по умолчанию), Autohand подает звуковой сигнал терминала (\x07) после завершения задачи. Это вызывает:
- Значок на вкладке терминала — Показывает визуальный индикатор завершения работы.
- Значок на панели подпрыгивает - Привлекает ваше внимание, когда терминал находится в фоновом режиме (macOS).
- Звук – если в настройках терминала включены звуки терминала.
Настройки терминала:
- Терминал macOS: «Настройки» > «Профили» > «Дополнительно» > «Звонок» (визуальный/звуковой).
- iTerm2: Настройки > Профили > Терминал > Уведомления.
- Терминал VS Code: Настройки > Терминал > Интегрировано: Включить звонок.
Чтобы отключить:
{
"ui": {
"terminalBell": false
}
}Autohand по умолчанию использует средство рендеринга Ink 7 + React 19 для интерактивных терминалов. Устаревшее поле конфигурации ui.useInkRenderer игнорируется, поэтому старые файлы конфигурации не могут принудительно использовать простой композитор терминала. Чернила обеспечивают:
- Вывод без мерцания: все обновления пользовательского интерфейса группируются посредством согласования React.
- Функция рабочей очереди: вводите инструкции, пока агент работает.
- Улучшенная обработка ввода: нет конфликтов между обработчиками строки чтения.
- Компонуемый пользовательский интерфейс: основа для будущих расширенных функций пользовательского интерфейса.
Аварийный резерв для совместимости терминала:
AUTOHAND_LEGACY_UI=1 autohandПримечание. Эта функция является экспериментальной и может иметь крайние случаи. Пользовательский интерфейс на основе ora по умолчанию остается стабильным и полностью функциональным.
Когда 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
Как это работает:
- Получает последнюю версию из API GitHub.
- Кэширует результат
~/.autohand/version-check.json. - Проверяется только один раз в
updateCheckIntervalчасов (по умолчанию: 24). - Неблокирующий: запуск продолжается, даже если проверка не удалась.
Чтобы отключить:
{
"ui": {
"checkForUpdates": false
}
}Или через переменную среды:
export AUTOHAND_SKIP_UPDATE_CHECK=1Управляйте поведением агента и ограничениями итераций.
{
"agent": {
"maxIterations": 100,
"enableRequestQueue": true,
"toolSelectionCache": true,
"autoMemory": true,
"idleLogoutEnabled": true,
"idleTimeoutMs": 3600000,
"debug": false
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
maxIterations |
номер | 100 |
Максимальное количество итераций инструмента по запросу пользователя до остановки |
enableRequestQueue |
логическое | true |
Разрешить пользователям вводить и ставить запросы в очередь во время работы агента |
toolSelectionCache |
логическое | true |
Кэшировать локальный выбор схемы инструмента для каждого оборота для эквивалентного ввода выбора инструмента |
autoMemory |
логическое | true |
Извлечение и сохранение долговременной памяти пользователя/проекта после завершённых интерактивных ходов, включая подтверждённые выводы из сбоев и отмен |
idleLogoutEnabled |
логическое | true |
Выход из интерактивных сеансов с проверкой подлинности по истечении времени простоя |
idleTimeoutMs |
номер | 3600000 |
Миллисекунды бездействия до выхода из сеанса с проверкой подлинности (60 минут) |
debug |
логическое | false |
Включить подробный вывод отладки (внутреннее состояние агента регистрируется в stderr) |
{
"sessions": {
"awareness": "warn"
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
awareness |
строка | "warn" |
passive показывает другие сеансы, warn также предупреждает о рискованных операциях Git и конфликтах файлов, а coordinate запрашивает подтверждение перед записью пути, занятого другим активным сеансом |
Autohand не отправляет каждую полную схему инструмента при каждом запросе LLM. Системное приглашение включает компактный каталог возможностей инструмента, и каждый запрос предоставляет только небольшой набор конкретных схем, выбранных из:
- Основные инструменты обнаружения, такие как
tool_search,read_file,fff_findиfff_grep. - Инструменты, соответствующие намерениям, для редактирования, проверки, работы с Git, браузером, Интернетом, зависимостями или отслеживания проектов.
– Инструменты, запрошенные посредством недавних вызовов
tool_searchили явно упомянутые по имени.
Это позволяет избежать больших предварительных контекстных затрат на отправку всех схем инструментов до того, как станет известно намерение пользователя. toolSelectionCache управляет только локальным кэшем селектора для эквивалентных поворотов; он не выполняет предварительную пользовательскую прогрев LLM и не требует принудительного использования большого префикса кэшированного приглашения.
Чтобы отключить локальный кэш селектора:
{
"agent": {
"toolSelectionCache": false
}
}Чтобы сохранить аутентифицированные длительные сеансы агентов, пока они ожидают работы:
{
"agent": {
"idleLogoutEnabled": false
}
}Для одного процесса используйте autohand --no-idle-logout или установите AUTOHAND_NO_IDLE_LOGOUT=1.
Установите idleTimeoutMs в положительное значение в миллисекундах, чтобы изменить период бездействия. Значение по умолчанию — 3600000 (60 минут); недопустимые значения заменяются значением по умолчанию.
Включите режим отладки, чтобы просмотреть подробную регистрацию внутреннего состояния агента (итерации цикла реагирования, построение подсказок, сведения о сеансе). Вывод поступает в 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 | строка | Название инструмента, соответствующее |
| pattern | строка | Необязательный шаблон для сопоставления с аргументами |
| action | "allow" | "deny" | "prompt" | Действия, которые необходимо предпринять |
| Тип | По умолчанию | Описание |
|---|---|---|
| логическое | 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, чтобы сохранить конфиденциальность личных настроек.
Формат шаблона:
tool_name:path— для операций с файлами (например,apply_patch:src/file.ts)tool_name:command args— для команд (например,run_command:npm test)
Вы можете просмотреть текущие настройки разрешений двумя способами:
Флаг CLI (неинтерактивный):
autohand --permissionsЭто отображает:
- Текущий режим разрешений (интерактивный, неограниченный, ограниченный)
- Пути к рабочему пространству и файлам конфигурации.
- Все одобренные шаблоны (белый список)
- Все запрещенные шаблоны (черный список)
- Сводная статистика
Интерактивная команда:
/permissions
В интерактивном режиме команда /permissions предоставляет ту же информацию, а также следующие возможности:
- Удаление элементов из белого списка
- Удаление элементов из черного списка
- Очистить все сохраненные разрешения
Режим исправлений позволяет создавать общедоступные патчи, совместимые с git, без изменения файлов рабочей области. Это полезно для:
- Проверка кода перед применением изменений.
- Обмен изменениями, созданными ИИ, с членами команды.
- Создание воспроизводимых наборов изменений
- Конвейеры CI/CD, которым необходимо фиксировать изменения, не применяя их.
# Generate patch to stdout
autohand --prompt "add user authentication" --patch
# Save to file
autohand --prompt "add user authentication" --patch --output auth.patch
# Pipe to file (alternative)
autohand --prompt "refactor api handlers" --patch > refactor.patchЕсли указан --patch:
- Автоподтверждение: все подтверждения принимаются автоматически (подразумевается
--yes). - Нет запросов: запросы на утверждение не отображаются (подразумевается
--unrestricted). - Только предварительный просмотр: изменения фиксируются, но НЕ записываются на диск.
- Принудительная безопасность: операции из черного списка (
.env, ключи SSH, опасные команды) по-прежнему блокируются.
Получатели могут применить патч, используя стандартные команды git:
# Check what would be applied (dry-run)
git apply --check changes.patch
# Apply the patch
git apply changes.patch
# Apply with 3-way merge (handles conflicts better)
git apply -3 changes.patch
# Apply and stage changes
git apply --index changes.patch
# Reverse a patch
git apply -R changes.patchСгенерированный патч соответствует унифицированному формату различий git:
diff --git a/src/auth.ts b/src/auth.ts
new file mode 100644
--- /dev/null
+++ b/src/auth.ts
@@ -0,0 +1,15 @@
+export function authenticate(user: string, password: string) {
+ // Implementation here
+}
diff --git a/src/index.ts b/src/index.ts
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,5 +1,7 @@
import express from 'express';
+import { authenticate } from './auth';
const app = express();
+app.use(authenticate);| Код | Значение |
|---|---|
0 |
Успех, патч создан |
1 |
Ошибка (отсутствует --prompt, отказ в разрешении и т. д.) |
# Use specific model
autohand --prompt "optimize queries" --patch --model gpt-4o
# Specify workspace
autohand --prompt "add tests" --patch --path ./my-project
# Use custom config
autohand --prompt "refactor" --patch --config ~/.autohand/work.json# Developer A: Generate patch for a feature
autohand --prompt "implement user dashboard with charts" --patch --output dashboard.patch
# Share via git (create PR with just the patch file)
git checkout -b patch/dashboard
git add dashboard.patch
git commit -m "Add dashboard feature patch"
git push
# Developer B: Review and apply
git fetch origin patch/dashboard
git apply dashboard.patch
# Run tests, review code, then commit
git add -A && git commit -m "feat: add user dashboard with charts"{
"network": {
"maxRetries": 3,
"timeout": 30000,
"retryDelay": 1000
}
}| Поле | Тип | По умолчанию | Макс | Описание |
|---|---|---|---|---|
maxRetries |
номер | 3 |
5 |
Повторные попытки для неудачных запросов API |
timeout |
номер | 30000 |
- | Таймаут запроса в миллисекундах |
retryDelay |
номер | 1000 |
- | Задержка между повторными попытками в миллисекундах |
Телеметрия отключена по умолчанию (по желанию). Включите его, чтобы улучшить Autohand.
{
"telemetry": {
"enabled": false,
"apiBaseUrl": "https://api.autohand.ai",
"batchSize": 20,
"flushIntervalMs": 60000,
"maxQueueSize": 500,
"maxRetries": 3,
"enableSessionSync": true,
"companySecret": ""
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
логическое | false |
Включить/отключить телеметрию (по желанию) |
apiBaseUrl |
строка | https://api.autohand.ai |
Конечная точка API телеметрии |
batchSize |
номер | 20 |
Количество событий для пакетной обработки перед автоматической очисткой |
flushIntervalMs |
номер | 60000 |
Интервал промывки в миллисекундах (1 минута) |
maxQueueSize |
номер | 500 |
Максимальный размер очереди перед удалением старых событий |
maxRetries |
номер | 3 |
Повторные попытки для неудачных запросов телеметрии |
enableSessionSync |
логическое | true |
Синхронизируйте сеансы с облаком для функций команды, если включена телеметрия |
companySecret |
строка | "" |
Секрет компании для аутентификации API |
Телеметрия поставщика/модели включает в себя идентификатор активного поставщика, идентификатор модели и доступные несекретные метаданные, такие как отображаемое имя пользовательского поставщика, формат API, усилия по обоснованию и контекстное окно. Ключи API и токены на предъявителя никогда не включаются.
Загрузите определения пользовательских агентов из внешних каталогов.
{
"externalAgents": {
"enabled": true,
"paths": ["~/.autohand/agents", "/team/shared/agents"]
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
логическое | false |
Включить загрузку внешнего агента |
paths |
строка[] | [] |
Каталоги для загрузки агентов |
Навыки — это пакеты инструкций, которые предоставляют специализированные инструкции агенту ИИ. Они работают как файлы AGENTS.md по требованию, которые можно активировать для конкретных задач.
Навыки обнаруживаются из разных мест, причем более поздние источники имеют приоритет:
| Местоположение | Идентификатор источника | Описание |
|---|---|---|
~/.codex/skills/**/SKILL.md |
codex-user |
Навыки Кодекса на уровне пользователя (рекурсивно) |
~/.claude/skills/*/SKILL.md |
claude-user |
Навыки Клода на уровне пользователя (один уровень) |
~/.autohand/skills/**/SKILL.md |
autohand-user |
Навыки Autohand уровня пользователя (рекурсивно) |
<project>/.claude/skills/*/SKILL.md |
claude-project |
Навыки Клода на уровне проекта (один уровень) |
<project>/.autohand/skills/**/SKILL.md |
autohand-project |
Навыки Autohand уровня проекта (рекурсивно) |
Навыки, обнаруженные в локациях Кодекса или Клода, автоматически копируются в соответствующую локацию Autohand:
~/.codex/skills/и~/.claude/skills/→~/.autohand/skills/<project>/.claude/skills/→<project>/.autohand/skills/
Существующие навыки в локациях Autohand никогда не перезаписываются.
В навыках используется заголовок YAML, за которым следует контент с уценкой:
---
name: my-skill-name
description: Brief description of the skill
license: MIT
compatibility: Works with Node.js 18+
allowed-tools: read_file write_file run_command
metadata:
author: your-name
version: "1.0.0"
---
# My Skill
Detailed instructions for the AI agent...| Поле | Требуется | Максимальная длина | Описание |
|---|---|---|---|
name |
Да | 64 символа | Строчные буквы и цифры, только через дефис |
description |
Да | 1024 символа | Краткое описание навыка |
license |
Нет | - | Идентификатор лицензии (например, MIT, Apache-2.0) |
compatibility |
Нет | 500 символов | Примечания о совместимости |
allowed-tools |
Нет | - | Список разрешенных инструментов, разделенный пробелами |
metadata |
Нет | - | Дополнительные метаданные «ключ-значение» |
Autohand поддерживает специальные префиксы в строке ввода:
| Префикс | Описание | Пример |
|---|---|---|
/ |
Слэш-команды | /help, /model, /quit, /exit |
@ |
Упоминания файлов (автозаполнение) | @src/index.ts |
$ |
Упоминания навыков (автозаполнение) | $frontend-design, $code-review |
! |
Запускайте команды терминала напрямую | ! git status, ! ls -la |
Упоминания о навыках ($):
- Введите
$, а затем символы, чтобы увидеть доступные навыки с автозаполнением. – Tab принимает самое верхнее предложение (например,$frontend-design). - Навыки открываются из
~/.autohand/skills/и<project>/.autohand/skills/. - Активированные навыки прикреплены к подсказке как специальные инструкции для текущей сессии.
- На панели предварительного просмотра отображаются метаданные навыка (имя, описание, состояние активации).
Команды оболочки (!):
- Команды выполняются в вашем текущем рабочем каталоге.
- Выходные данные отображаются непосредственно в терминале
- Не поступает в LLM
- 30-секундный тайм-аут
- Возврат к подсказке после выполнения
| Команда | Описание |
|---|---|
/skills |
Список всех доступных навыков |
/skills use <name> |
Активировать навык для текущего сеанса |
/skills deactivate <name> |
Деактивировать навык |
/skills info <name> |
Показать подробную информацию о навыках |
/skills install |
Просмотр и установка из реестра сообщества |
/skills install @<slug> |
Установите навык сообщества с помощью слизняка |
/skills search <query> |
Поиск в реестре общественных навыков |
/skills trending |
Показать популярные навыки общения |
/skills remove <slug> |
Удаление навыка сообщества |
/skills new |
Создайте новый навык в интерактивном режиме |
/skills feedback <slug> <1-5> |
Оцените навык сообщества |
| Команда | Описание |
|---|---|
/learn |
Проанализируйте проект и порекомендуйте навыки (быстрое сканирование) |
/learn deep |
Проект глубокого сканирования (читает исходные файлы) для более целевых результатов |
/learn update |
Повторно проанализировать проект и восстановить устаревшие навыки, полученные в рамках LLM |
/learn использует двухфазный поток LLM:
- Этап 1 — Анализ + Ранжирование + Аудит: сканирует структуру вашего проекта, проверяет установленные навыки на наличие избыточности/конфликтов и ранжирует навыки сообщества по релевантности (0–100).
- Этап 2 — Создание (условно): если ни один навык сообщества не набрал более 60 баллов, предлагается создать собственный навык, адаптированный к вашему проекту.
Сгенерированные навыки включают метаданные (
agentskill-source: llm-generated,agentskill-project-hash), поэтому/learn updateможет обнаруживать изменения в вашей кодовой базе и восстанавливать устаревшие навыки.
Флаг CLI --auto-skill генерирует навыки без потока интерактивного советника:
autohand --auto-skillЭто будет:
- Проанализируйте структуру вашего проекта (package.json, require.txt и т. д.).
- Обнаружение языков, фреймворков и шаблонов
- Создайте 3 соответствующих навыка с помощью LLM.
- Сохраните навыки в
<project>/.autohand/skills/.
Для более целенаправленного интерактивного взаимодействия вместо этого используйте /learn внутри сеанса.
Обнаруженные закономерности включают в себя:
- Языки: TypeScript, JavaScript, Python, Rust, Go.
- Фреймворки: React, Next.js, Vue, Express, Flask, Django.
- Шаблоны: инструменты CLI, тестирование, монорепозиторий, Docker, CI/CD.
Конфигурация серверного API для функций команды.
{
"api": {
"baseUrl": "https://api.autohand.ai",
"companySecret": "sk-team-xxx"
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
baseUrl |
строка | https://api.autohand.ai |
Конечная точка API |
companySecret |
строка | - | Секрет команды/компании для общих функций |
Также можно установить через переменные среды:
AUTOHAND_API_URL→api.baseUrlAUTOHAND_SECRET→api.companySecret
Аутентификация и настройка сеанса пользователя.
{
"auth": {
"token": "your-auth-token",
"user": {
"id": "user-id",
"email": "user@example.com",
"name": "User Name",
"avatar": "https://example.com/avatar.png"
},
"expiresAt": "2025-12-31T23:59:59Z"
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
token |
строка | - | Токен аутентификации для доступа к API |
user |
объект | - | Информация о подтвержденном пользователе |
user.id |
строка | - | Идентификатор пользователя |
user.email |
строка | - | Адрес электронной почты пользователя |
user.name |
строка | - | Отображаемое имя пользователя |
user.avatar |
строка | - | URL-адрес аватара пользователя (необязательно) |
expiresAt |
строка | - | Временная метка истечения срока действия токена (формат ISO 8601) |
Конфигурация для обнаружения и управления навыками сообщества.
{
"communitySkills": {
"enabled": true,
"showSuggestionsOnStartup": true,
"autoBackup": true
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
логическое | true |
Включить функции общественных навыков |
showSuggestionsOnStartup |
логическое | true |
Показывать предложения по навыкам при запуске, когда навыков у поставщика нет |
autoBackup |
логическое | true |
Автоматическое резервное копирование выявленных навыков поставщиков в API |
Настройка совместного использования сеанса с помощью команды /share. Сеансы проводятся по адресу autohand.link.
{
"share": {
"enabled": true
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
логическое | true |
Включить/отключить команду /share |
share:
enabled: trueЕсли вы хотите отключить совместное использование сеансов по соображениям безопасности или конфиденциальности:
{
"share": {
"enabled": false
}
}Если этот параметр отключен, при запуске /share будет отображаться:
Session sharing is disabled.
To enable, set share.enabled: true in your config file.
Autohand может синхронизировать вашу конфигурацию между устройствами для вошедших в систему пользователей. Настройки надежно хранятся в Cloudflare R2 и шифруются перед загрузкой.
{
"sync": {
"enabled": true,
"interval": 300000,
"exclude": [],
"includeTelemetry": false,
"includeFeedback": false
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
логическое | true (зарегистрировано) |
Включить/выключить синхронизацию настроек |
interval |
номер | 300000 |
Интервал синхронизации в миллисекундах (по умолчанию: 5 минут) |
exclude |
строка[] | [] |
Шаблоны Glob для исключения из синхронизации |
includeTelemetry |
логическое | false |
Синхронизировать данные телеметрии (требуется согласие пользователя) |
includeFeedback |
логическое | false |
Синхронизировать данные обратной связи (требуется согласие пользователя) |
# Disable sync for this session
autohand --sync-settings=false
# Enable sync (default for logged users)
autohand --sync-settingsПо умолчанию эти элементы синхронизируются для вошедших в систему пользователей:
- Конфигурация (
config.json) — ключи API шифруются перед загрузкой. - Пользовательские агенты (
agents/) - Коммуникабельность (
community-skills/) - Пользовательские перехватчики (
hooks/) - Память (
memory/) - Знание проекта (
projects/) - История сеансов (
sessions/) - Общий контент (
share/) - Пользовательские навыки (
skills/)
- Идентификатор устройства (
device-id) – уникальный для каждого устройства. – Журналы ошибок (error.log) – Только локально. - Кэш версий (
version-*.json) - Файлы локального кэша
Эти элементы требуют явного согласия в вашей конфигурации:
– Данные телеметрии – Установите sync.includeTelemetry: true для синхронизации.
– Данные обратной связи – Установите sync.includeFeedback: true для синхронизации.
{
"sync": {
"enabled": true,
"includeTelemetry": true,
"includeFeedback": true
}
}При возникновении конфликтов (один и тот же файл изменяется на нескольких устройствах) побеждает облачная версия. Это обеспечивает согласованность при входе в систему на новых устройствах.
Ключи API и другие конфиденциальные данные в config.json перед загрузкой шифруются с использованием вашего токена аутентификации. Их можно расшифровать только с помощью ваших учетных данных.
Имена удаленных файлов принимаются только как относительные пути POSIX внутри включенных категорий синхронизации. Синхронизация отклоняет обход каталогов, абсолютные пути и пути в стиле Windows, повторяющиеся или пустые сегменты, а также назначения, перенаправленные символическими ссылками за пределы включенного корня.
Токен входа приложения отправляется в заголовке Authorization только на URL-адреса передачи с тем же источником, что и у настроенного API синхронизации. Предварительно подписанные URL-адреса HTTPS другого источника никогда не получают этот токен; небезопасные или некорректные URL-адреса между источниками отклоняются.
Что зашифровано:
- Поля с именем
apiKey. – Поля, заканчивающиеся наKey,Token,Secret. - Поле
password.
- При запуске: если вы вошли в систему, служба синхронизации запускается автоматически.
- Каждые 5 минут: настройки сравниваются с облачным хранилищем.
- Облако побеждает: удаленные изменения загружаются первыми.
- Локальные загрузки: загружаются новые локальные изменения.
- При выходе: служба синхронизации корректно останавливается.
Вы можете исключить определенные файлы или шаблоны из синхронизации:
{
"sync": {
"enabled": true,
"exclude": ["custom-local-config.json", "temp/*"]
}
}sync:
enabled: true
interval: 300000
exclude: []
includeTelemetry: false
includeFeedback: falseНастройте серверы MCP (Model Context Protocol) для расширения Autohand с помощью внешних инструментов.
{
"mcp": {
"enabled": true,
"servers": [
{
"name": "filesystem",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"env": {},
"autoConnect": true
},
{
"name": "context7",
"transport": "http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "ctx7sk-your-api-key"
},
"autoConnect": true
}
]
}
}- Тип:
boolean - По умолчанию:
true - Описание: включение или отключение всей поддержки MCP. Если
false, при запуске серверы не подключаются, а инструменты MCP недоступны.
- Тип:
McpServerConfigEntry[] - По умолчанию:
[] - Описание: Массив конфигураций сервера MCP.
| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
name |
string |
Да | - | Уникальный идентификатор сервера |
transport |
"stdio" | "sse" | "http" |
Да | - | Тип транспорта |
command |
string |
Да (стдио) | - | Команда запуска серверного процесса |
args |
string[] |
Нет | [] |
Аргументы для команды |
url |
string |
Да (sse/http) | - | URL-адрес конечной точки сервера |
headers |
Record<string, string> |
Нет | {} |
Пользовательские заголовки HTTP для транспорта http/sse (например, токены аутентификации) |
env |
Record<string, string> |
Нет | {} |
Переменные среды, передаваемые на сервер |
autoConnect |
boolean |
Нет | true |
Нужно ли автоматически подключаться при запуске |
Серверы подключаются асинхронно в фоновом режиме во время запуска, не блокируя приглашение. Используйте
/mcpдля интерактивного управления серверами или/mcp addдля просмотра реестра сообщества или добавления собственных серверов.
Полную документацию MCP см. в docs/mcp.md.
Конфигурация перехватчиков жизненного цикла, которые запускают команды оболочки при событиях агента. Подробную информацию см. в Документации по хукам.
{
"hooks": {
"enabled": true,
"hooks": [
{
"event": "pre-tool",
"command": "echo \"Running tool: $HOOK_TOOL\" >> ~/.autohand/hooks.log",
"description": "Log all tool executions",
"enabled": true
},
{
"event": "file-modified",
"command": "./scripts/on-file-change.sh",
"description": "Custom file change handler",
"filter": { "path": ["src/**/*.ts"] }
},
{
"event": "post-response",
"command": "curl -X POST https://api.example.com/webhook -d '{\"tokens\": $HOOK_TOKENS}'",
"description": "Track token usage",
"async": true
}
]
}
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
логическое | true |
Включить/отключить все перехватчики глобально |
hooks |
массив | [] |
Массив определений хуков |
| Поле | Тип | Требуется | По умолчанию | Описание |
|---|---|---|---|---|
event |
строка | Да | - | Событие для подключения |
command |
строка | Да | - | Команда оболочки для выполнения |
description |
строка | Нет | - | Описание дисплея /hooks |
enabled |
логическое | Нет | true |
Активен ли хук |
timeout |
номер | Нет | 5000 |
Тайм-аут в миллисекундах |
async |
логическое | Нет | false |
Запуск без блокировки |
filter |
объект | Нет | - | Фильтровать по инструменту или пути |
| Событие | Когда уволен |
|---|---|
pre-tool |
Перед выполнением любого инструмента |
post-tool |
После завершения работы инструмента |
file-modified |
При создании/изменении/удалении файла |
pre-prompt |
Перед отправкой в LLM |
post-response |
После ответа LLM |
session-error |
При возникновении ошибки |
rate-limit |
Когда лимит запросов завершает ход |
При выполнении перехватчиков доступны следующие переменные среды:
| Переменная | Описание |
|---|---|
HOOK_EVENT |
Название события |
HOOK_WORKSPACE |
Корневой путь рабочей области |
HOOK_TOOL |
Имя инструмента (события инструмента) |
HOOK_ARGS |
Инструмент в формате JSON args |
HOOK_SUCCESS |
правда/ложь (пост-инструмент) |
HOOK_PATH |
Путь к файлу (измененный файлом) |
HOOK_TOKENS |
Используемые токены (пост-ответ) |
Управляйте интеграцией расширения Autohand Chrome. Полное руководство см. в Autohand в Chrome.
{
"chrome": {
"extensionId": "your-extension-id",
"enabledByDefault": false,
"browser": "auto",
"userDataDir": "/path/to/chrome/user-data",
"profileDirectory": "Default",
"installUrl": "https://autohand.ai/chrome"
}
}| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
extensionId |
string |
— | Установлен идентификатор расширения Chrome для прямой передачи |
enabledByDefault |
boolean |
false |
Автоматический запуск браузерного моста с помощью CLI |
browser |
string |
"auto" |
Предпочитаемый браузер Chromium: auto, chrome, chromium, brave, edge |
userDataDir |
string |
— | Каталог пользовательских данных браузера для выбора правильного профиля |
profileDirectory |
string |
— | Имя каталога профиля браузера (например, "Default", "Profile 1") |
installUrl |
string |
— | Резервный URL-адрес, если идентификатор расширения не настроен |
autohand --browser # Start with browser bridge enabled
autohand --no-browser # Start with browser bridge disabled/browser # Open browser integration panel
/browser disconnect # Close the browser bridge connection
{
"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,
"toolSelectionCache": true,
"idleLogoutEnabled": true,
"idleTimeoutMs": 3600000,
"debug": false
},
"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,
"apiBaseUrl": "https://api.autohand.ai",
"batchSize": 20,
"flushIntervalMs": 60000,
"maxQueueSize": 500,
"maxRetries": 3,
"enableSessionSync": true
},
"externalAgents": {
"enabled": false,
"paths": []
},
"api": {
"baseUrl": "https://api.autohand.ai"
},
"auth": {
"token": "your-auth-token",
"user": {
"id": "user-id",
"email": "user@example.com",
"name": "User Name"
}
},
"communitySkills": {
"enabled": true,
"showSuggestionsOnStartup": true,
"autoBackup": true
},
"share": {
"enabled": true
},
"sync": {
"enabled": true,
"interval": 300000,
"includeTelemetry": false,
"includeFeedback": false
}
}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
toolSelectionCache: true
idleLogoutEnabled: true
idleTimeoutMs: 3600000
debug: false
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
apiBaseUrl: https://api.autohand.ai
batchSize: 20
flushIntervalMs: 60000
maxQueueSize: 500
maxRetries: 3
enableSessionSync: true
externalAgents:
enabled: false
paths: []
api:
baseUrl: https://api.autohand.ai
auth:
token: your-auth-token
user:
id: user-id
email: user@example.com
name: User Name
communitySkills:
enabled: true
showSuggestionsOnStartup: true
autoBackup: true
share:
enabled: true
sync:
enabled: true
interval: 300000
includeTelemetry: false
includeFeedback: falseprovider = "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
[ui.customThemes.company.vars]
brand = "#7c3aed"
brandSoft = "#a78bfa"
[ui.customThemes.company.colors]
accent = "brand"
borderAccent = "brandSoft"
mdHeading = "brand"
[agent]
maxIterations = 100
enableRequestQueue = true
toolSelectionCache = true
idleLogoutEnabled = true
idleTimeoutMs = 3600000
debug = false
[permissions]
mode = "interactive"
whitelist = ["run_command:npm *", "run_command:bun *"]
blacklist = ["run_command:rm -rf /"]
rememberSession = trueAutohand хранит данные в ~/.autohand/ (или $AUTOHAND_HOME):
~/.autohand/
├── config.json # Main configuration
├── config.toml # Alternative TOML config
├── config.yaml # Alternative YAML config
├── device-id # Unique device identifier
├── error.log # Error log
├── feedback.log # Feedback submissions
├── sessions/ # Session history
├── projects/ # Project knowledge base
├── memory/ # User-level memory
├── commands/ # Custom commands
├── agents/ # Agent definitions
├── tools/ # Custom meta-tools
├── feedback/ # Feedback state
└── telemetry/ # Telemetry data
├── queue.json
└── session-sync-queue.json
Каталог уровня проекта (в корне рабочей области):
<project>/.autohand/
├── settings.local.json # Local project permissions (gitignore this)
├── memory/ # Project-specific memory
├── skills/ # Project-specific skills
└── tools/ # Project-specific meta-tools
Эти флаги переопределяют настройки файла конфигурации:
| Флаг | Описание |
|---|---|
-v, --version |
Вывести текущую версию |
-p, --prompt [text] |
Запуск одной инструкции в командном режиме |
--path <path> |
Переопределить корень рабочей области |
--config <path> |
Использовать собственный файл конфигурации |
--model <model> |
Переопределить модель |
--temperature <n> |
Установить температуру отбора проб (0-1) |
--thinking [level] |
Установить глубину мышления/рассуждения (нет, нормальная, расширенная) |
-y, --yes |
Подсказки автоподтверждения |
--dry-run |
Предварительный просмотр без выполнения |
-d, --debug |
Включить подробный вывод отладки |
--bare |
Минимальный явный режим; также устанавливает AUTOHAND_CODE_SIMPLE=1 и отключает команды слэша |
| Флаг | Описание |
|---|---|
--unrestricted |
Никаких запросов на одобрение |
--restricted |
Запретить опасные операции |
--permissions |
Отобразить текущие настройки разрешений и выйти |
--no-idle-logout |
Отключить выход из системы при простое с проверкой подлинности для длительных сеансов агента |
--yolo [pattern] |
Инструмент автоматического одобрения вызывает соответствующий шаблон (например, allow:read,write или deny:delete) |
--timeout <seconds> |
Тайм-аут в секундах для режима автоматического одобрения |
| Флаг | Описание |
|---|---|
--worktree [name] |
Запустить сеанс в изолированном рабочем дереве git (необязательное рабочее дерево/имя ветки) |
--tmux |
Запуск в выделенном сеансе tmux (подразумевается --worktree; нельзя использовать с --no-worktree) |
--no-worktree |
Отключить изоляцию рабочего дерева git в автоматическом режиме |
-c, --auto-commit |
Автоматическое подтверждение изменений после выполнения задач |
--patch |
Создать патч git без применения изменений |
--output <file> |
Выходной файл для патча (используется с --patch) |
| Флаг | Описание |
|---|---|
--auto-mode [prompt] |
Включите интерактивный автоматический режим или запустите автономный цикл с помощью встроенной задачи |
--max-iterations <n> |
Максимальное количество итераций в автоматическом режиме (по умолчанию: 50) |
--completion-promise <text> |
Текст маркера завершения (по умолчанию: «DONE») |
--checkpoint-interval <n> |
Git фиксирует каждые N итераций (по умолчанию: 5) |
--max-runtime <m> |
Максимальное время работы в минутах (по умолчанию: 120) |
--max-cost <d> |
Максимальная стоимость API в долларах (по умолчанию: 10) |
--interactive-on-complete |
После завершения автоматического режима переключитесь непосредственно в интерактивный режим (только TTY) |
| Флаг | Описание |
|---|---|
--auto-skill |
Автоматическое создание навыков на основе анализа проекта (см. также /learn для интерактивного консультанта) |
--learn |
Запустить советник по навыкам /learn в неинтерактивном режиме (проанализировать и установить рекомендуемые навыки) |
--learn-update |
Повторно проанализировать проект и восстановить устаревшие навыки, полученные в ходе LLM, в неинтерактивном режиме |
--skill-install [name] |
Установить навык сообщества (откроется браузер, если имя не указано) |
--project |
Установить навык на уровень проекта (с помощью --skill-install) |
| Флаг | Описание |
|---|---|
--login |
Войдите в свою учетную запись Autohand |
--logout |
Выйдите из своей учетной записи Autohand |
--sync-settings |
Включить/отключить синхронизацию настроек (по умолчанию: true для зарегистрированных пользователей) |
| Флаг | Описание |
|---|---|
--setup |
Запустите мастер установки, чтобы настроить или перенастроить Autohand |
--about |
Показать информацию о Autohand (версия, ссылки, информация о вкладе) |
--feedback |
Отправьте отзыв команде Autohand |
--settings |
Настройте параметры Autohand (аналогично /settings в интерактивном режиме) |
| Флаг | Описание |
|---|---|
--add-dir <path...> |
Добавить дополнительные каталоги в область рабочей области (можно использовать несколько раз) |
| Флаг | Описание |
|---|---|
--mode <mode> |
Режим выполнения: интерактивный (по умолчанию), rpc или acp |
--acp |
Сокращение для --mode acp (протокол агента-клиента через stdio) |
--teammate-mode <mode> |
Режим отображения команды: автоматический, в процессе или tmux |
| Флаг | Описание |
|---|---|
--display-language <locale> |
Установить язык отображения (например, en, id, zh-cn, fr, de, ja) |
--search-engine <provider> |
Установить поставщика веб-поиска (google, Brave, Duckduckgo, Parallel) |
--cc, --context-compact |
Включить сжатие контекста (по умолчанию: включено) |
--no-cc, --no-context-compact |
Отключить сжатие контекста |
| Флаг | Описание |
|---|---|
--browser |
Включить интеграцию с браузером (аналогично /browser) |
--no-browser |
Отключить интеграцию с браузером |
| Флаг | Описание |
|---|---|
--sys-prompt <value> |
Заменить всю системную подсказку (встроенная строка или путь к файлу) |
--append-sys-prompt <value> |
Добавить к системному приглашению (встроенная строка или путь к файлу) |
--system-prompt <value> |
Заменить всю системную подсказку (встроенная строка или путь к файлу) |
--system-prompt-file <path> |
Заменить всю системную подсказку содержимым файла |
--append-system-prompt <value> |
Добавить к системному приглашению (встроенная строка или путь к файлу) |
--append-system-prompt-file <path> |
Добавить содержимое файла в системную подсказку |
--mcp-config <path> |
Загрузить явный файл конфигурации MCP |
--agents <json|path> |
Загрузить явные встроенные агенты в формате JSON или каталог явных агентов |
--plugin-dir <path> |
Загрузить явный каталог плагинов/мета-инструментов |
| Команда | Описание |
|---|---|
autohand experiments list |
Перечислите идентификаторы локальных и удаленных функций, источник, этап жизненного цикла и состояние |
autohand experiments status <feature> |
Показать один переключатель функций, путь конфигурации или удаленные метаданные, а также состояние |
autohand experiments refresh |
Загрузите флаги удаленных функций из API Autohand |
autohand experiments enable <feature> |
Включить переключение функций на основе конфигурации |
autohand experiments disable <feature> |
Отключить переключатель функций, поддерживаемый конфигурацией |
Флаги удаленных функций извлекаются из /v1/feature-flags/evaluate, кэшируются в ~/.autohand/feature-flags.json и обновляются после истечения срока жизни, предоставленного API. Используйте features.environment для выбора среды удаленных флагов и features.remoteOverrides для локального отказа от удаленных флагов, переопределяемых пользователем.
usage_v2 — это экспериментальный переключатель функций для информационной панели /usage и расширенной вкладки «Использование» /status. Включите его с помощью autohand experiments enable usage_v2.
token_usage_status — это экспериментальный переключатель функции (путь конфигурации features.tokenUsageStatus, по умолчанию выключен), который показывает использование токенов в режиме реального времени в строке рабочего состояния — совокупные токены вверх (↑) и вниз (↓), а также занятость контекстного окна, например ↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k). Контекстное окно разрешается для каждой модели для всех поставщиков. Включите его с помощью autohand experiments enable token_usage_status.
Autohand предоставляет богатый набор косых команд для интерактивного использования. Введите / в REPL, чтобы увидеть предложения.
| Команда | Описание |
|---|---|
/quit |
Выйти из текущего сеанса |
/exit |
Выйти из текущего сеанса |
/new |
Начать новый разговор (с извлечением памяти) |
/clear |
Четкий разговор с автоматическим извлечением памяти |
/session |
Показать детали текущего сеанса |
/sessions |
Список прошлых сессий |
/resume |
Возобновить предыдущую сессию |
/history |
Просмотр истории сеансов с нумерацией страниц |
/undo |
Отменить изменения git и последний ход |
/export |
Экспортировать сессию в уценку/JSON/HTML |
/share |
Поделиться текущей сессией |
/status |
Показать статус сеанса |
/usage |
Показать модель, поставщика, контекст и ограничения на использование |
| Команда | Описание |
|---|---|
/model |
Переключить или настроить модель LLM |
/cc |
Сжать контекст вручную |
| Команда | Описание |
|---|---|
/init |
Создать файл AGENTS.md в текущем каталоге |
/setup |
Запустите мастер установки, чтобы настроить Autohand |
/add-dir |
Добавить каталоги в область рабочей области |
| Команда | Описание |
|---|---|
/agents |
Список доступных субагентов |
/agents-new |
Создайте нового агента с помощью мастера |
/squad |
Открытие и управление автономной средой выполнения Autohand Squad |
/team |
Управление командой для параллельной работы |
/tasks |
Управление задачами в команде |
/message |
Отправить сообщение товарищу по команде |
| Команда | Описание |
|---|---|
/skills |
Список навыков и управление ими |
/skills-new |
Создать новый навык |
/learn |
Изучите и установите рекомендуемые навыки |
| Команда | Описание |
|---|---|
/memory |
Просмотр и управление сохраненными воспоминаниями |
/settings |
Настройте параметры Autohand |
/statusline |
Настройка полей строки состояния композитора |
/experiments |
Переключить экспериментальные переключатели функций |
/sync |
Синхронизация настроек между устройствами |
/import |
Импортируйте сеансы, настройки, MCP, память, навыки и перехваты из поддерживаемых агентов |
| Команда | Описание |
|---|---|
/permissions |
Управление разрешениями для инструментов |
/hooks |
Управление перехватчиками жизненного цикла |
| Команда | Описание |
|---|---|
/login |
Аутентификация с помощью Autohand API |
/logout |
Выйти из учетной записи Autohand |
| Команда | Описание |
|---|---|
/search |
Поиск в Интернете |
/formatters |
Список доступных форматировщиков кода |
/lint |
Список доступных линтеров кода |
/completion |
Создание сценариев завершения оболочки |
/plan |
Создать план реализации |
/review |
Выполнить проверку кода |
/pr-review |
Просмотр запроса на извлечение |
| Команда | Описание |
|---|---|
/ide |
Обнаружение и подключение к работающим IDE |
| Команда | Описание |
|---|---|
/mcp |
Интерактивный менеджер сервера MCP |
| Команда | Описание |
|---|---|
/automode |
Запустить режим автономного кодирования |
/repeat |
Расписание повторяющихся заданий |
/yolo |
Переключить режим yolo (инструменты автоматического одобрения) |
| Команда | Описание |
|---|---|
/browser |
Включить интеграцию с браузером Chrome |
| Команда | Описание |
|---|---|
/help |
Отображение доступных косых команд и подсказок |
/about |
Показать информацию о Autohand |
/theme |
Изменить цветовую тему |
/language |
Изменить язык отображения |
/feedback |
Отправьте отзыв команде Autohand |
Autohand позволяет вам настроить системную подсказку, используемую AI-агентом. Это полезно для специализированных рабочих процессов, пользовательских инструкций или интеграции с другими системами.
| Флаг | Описание |
|---|---|
--sys-prompt <value> |
Заменить всю системную подсказку |
--append-sys-prompt <value> |
Добавить содержимое в системную подсказку по умолчанию |
Оба флага принимают либо:
- Встроенная строка: прямое текстовое содержимое.
- Путь к файлу: путь к файлу, содержащему приглашение (определяется автоматически).
Значение рассматривается как путь к файлу, если оно:
– Начинается с ./, ../, / или ~/.
- Начинается с буквы диска Windows (например,
C:\). - Заканчивается на
.txt,.mdили.prompt. - Содержит разделители путей без пробелов.
В противном случае оно рассматривается как встроенная строка.
Если это предусмотрено, это полностью заменяет системное приглашение по умолчанию. Агент НЕ будет загружать:
- Инструкции по умолчанию Autohand
- Инструкция проекта AGENTS.md
- Память пользователя/проекта
- Активные навыки
# Inline string
autohand --sys-prompt "You are a Python expert. Be concise." --prompt "Write hello world"
# From file
autohand --sys-prompt ./custom-prompt.txt --prompt "Explain this code"
# Home directory
autohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt "Debug this function"Пример файла пользовательского приглашения (custom-prompt.txt):
You are a specialized Python debugging assistant.
Rules:
- Focus only on Python code
- Always explain the root cause
- Suggest fixes with code examples
- Be concise and direct
Если это предусмотрено, это добавляет содержимое к полной системной подсказке по умолчанию. Агент все равно будет загружаться:
- Инструкции по умолчанию Autohand
- Инструкция проекта AGENTS.md
- Память пользователя/проекта
- Активные навыки
Добавленный контент добавляется в самом конце.
# Inline string
autohand --append-sys-prompt "Always use TypeScript instead of JavaScript" --prompt "Create a function"
# From file
autohand --append-sys-prompt ./team-guidelines.md --prompt "Add error handling"Пример файла добавления (team-guidelines.md):
## Team Guidelines
- Use 2-space indentation
- Prefer functional patterns
- Add JSDoc comments to public APIs
- Run tests before committing
Когда указаны оба флага:
--sys-promptимеет полный приоритет.--append-sys-promptигнорируется.
# --append-sys-prompt is ignored in this case
autohand --sys-prompt "Custom only" --append-sys-prompt "This is ignored"| Вариант использования | Рекомендуемый флаг |
|---|---|
| Персонализированный агент | --sys-prompt |
| Минимальные инструкции | --sys-prompt |
| Добавить правила для команды | --append-sys-prompt |
| Добавить соглашения проекта | --append-sys-prompt |
| Интеграция с внешними системами | --sys-prompt |
| Специализированная отладка | --sys-prompt |
| Сценарий | Поведение |
|---|---|
| Пустое значение | Ошибка |
| Файл не найден | Рассматривается как встроенная строка |
| Пустой файл | Ошибка |
| Файл > 1 МБ | Ошибка |
| Разрешение отклонено | Ошибка |
| Путь к каталогу | Ошибка |
# Python expert mode
autohand --sys-prompt "You are a Python expert. Only write Python code." \
--prompt "Create a web scraper"
# TypeScript enforcement
autohand --append-sys-prompt "Always use TypeScript, never JavaScript." \
--prompt "Create a REST API"
# CI/CD integration (non-interactive)
autohand --sys-prompt ./ci-prompt.txt \
--prompt "Fix the failing tests" \
--unrestricted \
--patch
# Custom team workflow
autohand --append-sys-prompt ~/.company/coding-standards.md \
--prompt "Refactor this module"Autohand может работать с несколькими каталогами за пределами основного рабочего пространства. Это полезно, когда ваш проект имеет зависимости, общие библиотеки или связанные проекты в разных каталогах.
Используйте --add-dir для добавления дополнительных каталогов (можно использовать несколько раз):
# Add a single additional directory
autohand --add-dir /path/to/shared-lib
# Add multiple directories
autohand --add-dir /path/to/lib1 --add-dir /path/to/lib2
# With unrestricted mode (auto-approve writes to all directories)
autohand --add-dir /path/to/shared-lib --unrestrictedИспользуйте /add-dir во время интерактивного сеанса:
/add-dir # Show current directories
/add-dir /path/to/dir # Add a new directory
Невозможно добавить следующие каталоги:
- Домашний каталог (
~или$HOME) - Корневой каталог (
/) - Системные каталоги (
/etc,/var,/usr,/bin,/sbin) - Системные каталоги Windows (
C:\Windows,C:\Program Files) - Каталоги пользователей Windows (
C:\Users\username) - WSL монтирует Windows (
/mnt/c,/mnt/c/Windows)