Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
1 line
1.3 MiB
Plaintext
1 line
1.3 MiB
Plaintext
{"repo": "autohandai/code-cli", "files": {"docs/config-reference_hu.md": {"59468034019715857d19e12cdab687a4f235b56b": {"t": 1785746434.4833264, "n": 88144, "h": "56b4d8145f275097", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_AUTH_URL` | Bejelentkezési és fiókszinkronizálási eredet (az `AUTOHAND_API_URL` értékétől független) | `https://autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói-/projektmemóriák kinyerése és mentése a befejezett interaktív fordulók után, beleértve a hibákból és megszakításokból származó, bizonyítékokkal alátámasztott tanulságokat |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n## Egyidejű munkamenetek észlelése\n\n```json\n{\n \"sessions\": {\n \"awareness\": \"warn\"\n }\n}\n```\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --- | --- | --- | --- |\n| `awareness` | karakterlánc | `\"warn\"` | A `passive` megjeleníti a többi munkamenetet, a `warn` a kockázatos Git- és fájlütközéseket is jelzi, a `coordinate` pedig megerősítést kér egy másik élő munkamenet által lefoglalt útvonal írása előtt |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --browser # Start with browser bridge enabled\nautohand --no-browser # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open browser integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Böngészőintegráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--browser` | A böngészőintegráció engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-browser` | A böngészőintegráció letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Böngészőintegráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "3c90c765cf8bdee4de6864225400c2f412d134ac": {"t": 1785764168.9816728, "n": 88144, "h": "56b4d8145f275097", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_AUTH_URL` | Bejelentkezési és fiókszinkronizálási eredet (az `AUTOHAND_API_URL` értékétől független) | `https://autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói-/projektmemóriák kinyerése és mentése a befejezett interaktív fordulók után, beleértve a hibákból és megszakításokból származó, bizonyítékokkal alátámasztott tanulságokat |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n## Egyidejű munkamenetek észlelése\n\n```json\n{\n \"sessions\": {\n \"awareness\": \"warn\"\n }\n}\n```\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --- | --- | --- | --- |\n| `awareness` | karakterlánc | `\"warn\"` | A `passive` megjeleníti a többi munkamenetet, a `warn` a kockázatos Git- és fájlütközéseket is jelzi, a `coordinate` pedig megerősítést kér egy másik élő munkamenet által lefoglalt útvonal írása előtt |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --browser # Start with browser bridge enabled\nautohand --no-browser # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open browser integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Böngészőintegráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--browser` | A böngészőintegráció engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-browser` | A böngészőintegráció letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Böngészőintegráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "2a69d34175bfbbb82e42053517574ee8cb578ed7": {"t": 1785764170.9550285, "n": 87731, "h": "1bcb44c9174f957f", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_AUTH_URL` | Bejelentkezési és fiókszinkronizálási eredet (az `AUTOHAND_API_URL` értékétől független) | `https://autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói-/projektmemóriák kinyerése és mentése a befejezett interaktív fordulók után, beleértve a hibákból és megszakításokból származó, bizonyítékokkal alátámasztott tanulságokat |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --browser # Start with browser bridge enabled\nautohand --no-browser # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open browser integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Böngészőintegráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--browser` | A böngészőintegráció engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-browser` | A böngészőintegráció letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Böngészőintegráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "f4e86a7ca2d455c7568e1a8981b5dbf0ce128478": {"t": 1785764172.6037765, "n": 87632, "h": "7a2e1d29c7974439", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_AUTH_URL` | Bejelentkezési és fiókszinkronizálási eredet (az `AUTOHAND_API_URL` értékétől független) | `https://autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --browser # Start with browser bridge enabled\nautohand --no-browser # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open browser integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Böngészőintegráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--browser` | A böngészőintegráció engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-browser` | A böngészőintegráció letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Böngészőintegráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "1dc5ae98550ce62b71900d1093148b11d8acf19c": {"t": 1785764174.5870016, "n": 87180, "h": "aa584b3730f68bf2", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_AUTH_URL` | Bejelentkezési és fiókszinkronizálási eredet (az `AUTOHAND_API_URL` értékétől független) | `https://autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --chrome # Start with browser bridge enabled\nautohand --no-chrome # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/chrome # Open Chrome integration panel\n/chrome disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Chrome integráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--chrome` | A Chrome böngésző integrációjának engedélyezése (ugyanaz, mint `/chrome`) |\n| `--no-chrome` | A Chrome böngésző integrációjának letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Chrome integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/chrome` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "d5fa4aceece9a22e5030402a6d8bbc84745afc69": {"t": 1785764176.317689, "n": 87041, "h": "2edbcf8886a95f73", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --chrome # Start with browser bridge enabled\nautohand --no-chrome # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/chrome # Open Chrome integration panel\n/chrome disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Chrome integráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--chrome` | A Chrome böngésző integrációjának engedélyezése (ugyanaz, mint `/chrome`) |\n| `--no-chrome` | A Chrome böngésző integrációjának letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Chrome integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/chrome` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "1e642e8b77d66a70e67a6a4b6703373c5db4b51a": {"t": 1785764179.0149653, "n": 86811, "h": "23379a9b899d93f1", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --browser # Start with browser bridge enabled\nautohand --no-browser # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open browser integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Böngészőintegráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--browser` | A böngészőintegráció engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-browser` | A böngészőintegráció letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Böngészőintegráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "a9f1c9cff4457d787432d0242bcb5a77ca18be3c": {"t": 1785764180.7430074, "n": 86830, "h": "34f44d677e07f97d", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --chrome # Start with browser bridge enabled\nautohand --no-chrome # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open Chrome integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Chrome integráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--chrome` | A Chrome böngésző integrációjának engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-chrome` | A Chrome böngésző integrációjának letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Chrome integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "fb0064b07950ef41b7729ce1a3e37ba18ac33324": {"t": 1785764182.5011492, "n": 86828, "h": "8fcd15f83e75f17f", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --chrome # Start with browser bridge enabled\nautohand --no-chrome # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/chrome # Open Chrome integration panel\n/chrome disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Chrome integráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--chrome` | A Chrome böngésző integrációjának engedélyezése (ugyanaz, mint `/chrome`) |\n| `--no-chrome` | A Chrome böngésző integrációjának letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Chrome integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/chrome` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "b0b2e898d804d258e859c33a2e71eba5fb810177": {"t": 1785764184.5806434, "n": 86359, "h": "5b64c72ceedbf2ef", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói/projektmemóriák kibontása és mentése sikeres interaktív fordulatok után |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --chrome # Start with browser bridge enabled\nautohand --no-chrome # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/chrome # Open Chrome integration panel\n/chrome disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Chrome integráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--chrome` | A Chrome böngésző integrációjának engedélyezése (ugyanaz, mint `/chrome`) |\n| `--no-chrome` | A Chrome böngésző integrációjának letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Chrome integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/chrome` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}, "80d1dd2f1137d50a107970387f4512a5f6371e0b": {"t": 1786067761.770327, "n": 88144, "h": "56b4d8145f275097", "c": "# Autohand Konfigurációs referencia\n\nTeljes referencia az összes konfigurációs beállításhoz itt: `~/.autohand/config.json` (vagy `.toml`/`.yaml`/`.yml`).\n\n> **Tipp:** A legtöbb alábbi beállítás interaktívan módosítható a `/settings` paranccsal a fájl manuális szerkesztése helyett.\n\nLokalizált referenciák:\n\n- [English](./config-reference.md)\n- [日本語](./config-reference_ja.md)\n- [简体中文](./config-reference_zh.md)\n- [繁體中文](./config-reference_zh-tw.md)\n- [한국어](./config-reference_ko.md)\n- [Deutsch](./config-reference_de.md)\n- [Español](./config-reference_es.md)\n- [Français](./config-reference_fr.md)\n- [Italiano](./config-reference_it.md)\n- [Polski](./config-reference_pl.md)\n- [Русский](./config-reference_ru.md)\n- [Português (Brasil)](./config-reference_ptBR.md)\n- [Türkçe](./config-reference_tr.md)\n- [Čeština](./config-reference_cs.md)\n- [Magyar](./config-reference_hu.md)\n- [हिन्दी](./config-reference_hi.md)\n- [Bahasa Indonesia](./config-reference_id.md)\n\n## Tartalomjegyzék\n\n- [A konfigurációs fájl helye](#configuration-file-location)\n- [Környezeti változók](#environment-variables)\n- [Csupasz mód](#bare-mode)\n- [Szolgáltatói beállítások](#provider-settings)\n- [Munkaterület beállításai](#workspace-settings)\n- [UI beállítások](#ui-settings)\n- [Ügynökbeállítások](#agent-settings)\n- [Engedélyek beállításai](#permissions-settings)\n- [Javítási mód](#patch-mode)\n- [Hálózati beállítások](#network-settings)\n- [Telemetriai beállítások](#telemetry-settings)\n- [Külső ügynökök](#external-agents)\n- [Skills System](#skills-system)\n- [API beállítások](#api-settings)\n- [Authentication Settings](#authentication-settings)\n- [Közösségi készségek beállításai](#community-skills-settings)\n- [Megosztási beállítások](#share-settings)\n- [Beállítások szinkronizálása](#settings-sync)\n- [Hook beállításai](#hooks-settings)\n- [MCP beállítások](#mcp-settings)\n- [Chrome-bővítmény beállításai](#chrome-extension-settings)\n- [Teljes példa](#complete-example)\n\n---\n\n## Konfigurációs fájl helye\n\nAutohand a következő sorrendben keresi a konfigurációt:\n\n1. `AUTOHAND_CONFIG` környezeti változó (egyéni elérési út)\n2. `~/.autohand/config.toml`\n3. `~/.autohand/config.yaml`\n4. `~/.autohand/config.yml`\n5. `~/.autohand/config.json` (alapértelmezett)\n\nAz alapkönyvtárat is felülírhatja:\n```bash\nexport AUTOHAND_HOME=/custom/path # Changes ~/.autohand to /custom/path\n```\n---\n\n## Környezeti változók\n\n| Változó | Leírás | Példa |\n| --------------------------------------- | ------------------------------------------------- | --------------------------------- |\n| `AUTOHAND_HOME` | Alapkönyvtár az összes Autohand adathoz | `/custom/path` |\n| `AUTOHAND_CONFIG` | Egyéni konfigurációs fájl elérési útja | `/path/to/config.toml` |\n| `AUTOHAND_API_URL` | API-végpont (felülbírálja a konfigurációt) | `https://api.autohand.ai` |\n| `AUTOHAND_AUTH_URL` | Bejelentkezési és fiókszinkronizálási eredet (az `AUTOHAND_API_URL` értékétől független) | `https://autohand.ai` |\n| `AUTOHAND_SECRET` | Vállalat/csapat titkos kulcsa | `sk-xxx` |\n| `AUTOHAND_PERMISSION_CALLBACK_URL` | Az engedély visszahívásának URL-je (kísérleti) | `http://localhost:3000/callback` |\n| `AUTOHAND_PERMISSION_CALLBACK_TIMEOUT` | Az engedély-visszahívás időtúllépése ms-ban | `5000` |\n| `AUTOHAND_NON_INTERACTIVE` | Futtatás nem interaktív módban | `1` |\n| `AUTOHAND_YES` | Minden felszólítás automatikus megerősítése | `1` |\n| `AUTOHAND_NO_BANNER` | Indítási szalaghirdetés letiltása | `1` |\n| `AUTOHAND_STREAM_TOOL_OUTPUT` | Az eszköz kimenetének streamelése valós időben | `1` |\n| `AUTOHAND_DEBUG` | Hibakeresési naplózás engedélyezése | `1` |\n| `AUTOHAND_THINKING_LEVEL` | Érvelési mélységszint beállítása | `normal` |\n| `AUTOHAND_CLIENT_NAME` | Kliens/szerkesztő azonosító (ACP kiterjesztések által beállítva) | `zed` |\n| `AUTOHAND_CLIENT_VERSION` | Kliens verzió (az ACP-bővítmények által beállított) | `0.169.0` |\n| `AUTOHAND_CODE` | Környezetérzékelési jelző (automatikusan beállítva) | `1` |\n| `AUTOHAND_CODE_SIMPLE` | A csupasz mód engedélyezése a `--bare` | átadása nélkül `1` |\n\n### Gondolkodási szint\n\nA `AUTOHAND_THINKING_LEVEL` környezeti változó szabályozza a modell által használt érvelés mélységét:\n\n| Érték | Leírás |\n| ---------- | --------------------------------------------------------------------- |\n| `none` | Közvetlen válaszok látható indoklás nélkül |\n| `normal` | Szabványos érvelési mélység (alapértelmezett) |\n| `extended` | Mély érvelés összetett feladatokhoz, részletesebb gondolkodási folyamatot mutat |\n\nEzt általában az ACP-kliens-bővítmények (például a Zed) állítják be a konfigurációs legördülő menüben.\n```bash\n# Example: Use extended thinking for complex tasks\nAUTOHAND_THINKING_LEVEL=extended autohand --prompt \"refactor this module\"\n```\n---\n\n## Csupasz mód\n\nA csupasz mód a Autohand csak kifejezetten kért kontextus- és futásidejű integrációkkal indul. Engedélyezze a következők egyikével:\n```bash\nautohand --bare\nAUTOHAND_CODE_SIMPLE=1 autohand\n```\nA `--bare` átadásakor a Autohand a `AUTOHAND_CODE_SIMPLE=1` értéket is beállítja a futó folyamathoz.\n\nA csupasz mód letiltja az automatikus indítást és az interaktív integrációkat:\n\n- horgok és horog értesítések\n- LSP indítás\n- plugin szinkronizálás, bővítmény automatikus betöltése és meta-eszköz automatikus betöltése\n- hozzárendelés, telemetria, munkamenet-szinkronizálás, automatikus jelentéskészítés és háttérpingek\n- automatikus memória/munkamenet bootstrap kontextus\n- háttérkérdések, frissítés-ellenőrzések, funkciójelző-lekérések és modell-metaadatok előzetes letöltése\n- kulcstartó és böngésző OAuth-hitelesítési tartalék\n- automatikus `AGENTS.md` és szolgáltatói utasítás keresés\n- minden perjel parancs, beleértve a parancssorba beírt csupasz `/`\n\nA perjel alakú abszolút fájlútvonalakat, például a `/Users/alex/project/file.ts`, továbbra is normál prompt szövegként kezeli a rendszer. A parancs alakú perjel bevitel, például `/help`, `/model` vagy `/mcp`, a `Slash commands are disabled in bare mode.` kódot írja ki, és nem hajtódik végre.\n\nA csupasz módban történő hitelesítés csak explicit. A Autohand először a következőt olvassa: `AUTOHAND_API_KEY`, majd `auth.apiKeyHelper`, ha be van állítva. Nem olvassa be a kulcstartó hitelesítő adatait, és nem indítja el az OAuth/böngésző bejelentkezést. A külső szolgáltatók továbbra is a szolgáltatóspecifikus API-kulcsokat és konfigurációkat használják.\n\nEzek az explicit bemenetek csupasz módban is elérhetők:\n\n| Bemenet | Leírás |\n| ------------------------------ | -------------------------------------------------------------------------- |\n| `--system-prompt <value>` | Cserélje ki a rendszerprompt szövegközi szöveggel vagy elérési út-szerű értékkel |\n| `--system-prompt-file <path>` | Cserélje ki a rendszerpromptot a fájltartalommal |\n| `--append-system-prompt <value>` | Szövegközi szöveg vagy elérési út-szerű érték hozzáfűzése a | rendszerprompthoz\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--add-dir <path...>` | Explicit könyvtárak hozzáadása a munkaterület hatóköréhez |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--settings` | Nyissa meg a beállításokat közvetlenül a CLI jelzőből |\n| `--config <path>` | Használjon explicit Autohand konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n---\n\n## Szolgáltatói beállítások\n\n### `provider`\n\nAktív LLM szolgáltató használható.\n\n| Érték | Leírás |\n| -------------- | ----------------------------- |\n| `\"openrouter\"` | OpenRouter API (alapértelmezett) |\n| `\"ollama\"` | Helyi Ollama példány |\n| `\"llamacpp\"` | Helyi llama.cpp szerver |\n| `\"openai\"` | OpenAI API közvetlenül |\n| `\"mlx\"` | MLX az Apple Siliconon (helyi) |\n| `\"llmgateway\"` | LLM Gateway egyesített API |\n| `\"deepseek\"` | DeepSeek API |\n| `\"zai\"` | Z.ai GLM API |\n| `\"sakana\"` | Sakana.AI Fugu API |\n| `\"bedrock\"` | AWS alapkőzet |\n| `\"custom:<id>\"` | Felhasználó által meghatározott OpenAI-kompatibilis szolgáltató a következőtől: `customProviders` |\n\n### `openrouter`\n\nOpenRouter szolgáltató konfigurációja.\n```json\n{\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-xxx\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\",\n \"contextWindow\": 262144\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | --------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön OpenRouter API kulcsa |\n| `baseUrl` | húr | Nem | `https://openrouter.ai/api/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellazonosító (pl. `your-modelcard-id-here`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand kitölti ezt az OpenRouterből, ha ismert. |\n\n### `zai`\n\nZ.ai szolgáltató konfigurációja.\n```json\n{\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"baseUrl\": \"https://api.z.ai/api/paas/v4\",\n \"model\": \"glm-5.2\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------- | -------------------------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | Az Ön Z.ai API-kulcsa |\n| `baseUrl` | húr | Nem | `https://api.z.ai/api/paas/v4` | API-végpont |\n| `model` | húr | Igen | `glm-5.2` | Modellazonosító, például `glm-5.2`, `glm-5.1` vagy `glm-4.5` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. A Autohand 1M-re következtet a GLM-5.2-nél és 200K-ra a GLM-5.1-nél. |\n\n### `sakana`\n\nSakana.AI szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.sakana.ai/v1`-t használja alap URL-ként.\n```json\n{\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\",\n \"contextWindow\": 1000000\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------- | ------------------------------ | ------------------------------------------------------------------ |\n| `apiKey` | húr | Igen | - | Az Ön Sakana API kulcsa |\n| `baseUrl` | húr | Nem | `https://api.sakana.ai/v1` | API-végpont |\n| `model` | húr | Igen | `fugu` | Modellazonosító, például `fugu` vagy `fugu-ultra` |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Autohand 1M-re következtet a Fugu modelleknél. |\n\n### `customProviders`\n\nAz egyéni szolgáltatók lehetővé teszik a felhasználók számára, hogy OpenAI-kompatibilis végpontot hozzanak létre kódmódosítás vagy új csomagolt szolgáltató nélkül. Adja hozzá a szolgáltatót a `customProviders` alatt, majd válassza ki a `provider: \"custom:<id>\"` kóddal. Ugyanez a folyamat elérhető a `/model` **Új szolgáltatóval**. A telepítés során a Autohand a szolgáltató mentése előtt ellenőrzi az alap URL-t, a hitelesítést és a kiválasztott modellt az OpenAI-kompatibilis `/models` végponton keresztül.\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\",\n \"models\": [\n {\n \"id\": \"acme-code-1\",\n \"label\": \"Acme Code 1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n ]\n }\n }\n}\n```\nAzon helyi OpenAI-kompatibilis szervereknél, amelyek nem igényelnek hitelesítést, állítsa a `apiKeyRequired` értékét `false` értékre, és hagyja ki a `apiKey` értéket.\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------------ | ------- | -------- | ------- | ----------- |\n| `id` | húr | Igen | - | Stabil szolgáltatói azonosító. Meg kell egyeznie az objektumkulccsal, és a következőképpen van kiválasztva: `custom:<id>`. |\n| `displayName` | húr | Igen | - | A `/model` és a szolgáltató beállításai között látható név. |\n| `apiFormat` | húr | Igen | - | A következőnek kell lennie: `openai-compatible`. |\n| `baseUrl` | húr | Igen | - | Végpont gyökér, például `https://api.example.com/v1`. Autohand ellenőrzi a `/models` kódot, és felhívja a `/chat/completions` kódot. |\n| `apiKey` | húr | Feltételes | - | Adathordozó token a tárolt végpontokhoz. Kötelező, ha a `apiKeyRequired` igaz. |\n| `apiKeyRequired` | logikai | Nem | `true` | Állítsa be a false értéket a helyi vagy már hitelesített átjárókhoz. |\n| `model` | húr | Igen | - | Aktív modell azonosító. |\n| `contextWindow` | szám | Nem | Auto | Pontos kontextusablak a token-költségvetéshez, állapothoz, telemetriához és szinkronizálási metaadatokhoz. |\n| `reasoningEffort` | húr | Nem | - | Opcionális `none`, `low`, `medium`, `high` vagy `xhigh`. `reasoning_effort` néven küldve egyéni OpenAI-kompatibilis kérésekhez. |\n| `models` | tömb | Nem | - | Opcionális modellválasztó bejegyzések modellenkénti kontextussal és érvelési metaadatokkal. |\n\n### `ollama`\n\nOllama szolgáltató konfigurációja.\n```json\n{\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"port\": 11434,\n \"model\": \"llama3.2\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------- | ------------------------------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:11434` | Ollama szerver URL |\n| `port` | szám | Nem | `11434` | Szerverport (a baseUrl alternatívája) |\n| `model` | húr | Igen | - | Modellnév (pl. `llama3.2`, `codellama`) |\n\n### `llamacpp`\n\nllama.cpp szerver konfigurációja.\n```json\n{\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"default\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | llama.cpp szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | Modellazonosító |\n\n### `openai`\n\nOpenAI API konfiguráció.\n```json\n{\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-xxx\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\nAz OpenAI a Autohand beépített OpenAI bejelentkezési folyamatán keresztül is használhatja ChatGPT-előfizetését:\n```json\n{\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"baseUrl\": \"https://api.openai.com/v1\",\n \"contextWindow\": 1050000,\n \"model\": \"gpt-5.4\",\n \"chatgptAuth\": {\n \"accessToken\": \"...\",\n \"refreshToken\": \"...\",\n \"accountId\": \"...\"\n }\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------------- | ------ | ----------------------- | ---------------------------- | -------------------------------------------------------------------------- |\n| `authMode` | húr | Nem | `api-key` | Hitelesítési mód: `api-key` vagy `chatgpt` |\n| `apiKey` | húr | Igen a `api-key` módhoz | - | OpenAI API kulcs |\n| `baseUrl` | húr | Nem | `https://api.openai.com/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-5.4`, `gpt-5.4-mini`) |\n| `contextWindow` | szám | Nem | Auto | Pontos modell kontextusablak. Állítsa be az elavult helyi feltételezések felülbírálásához. |\n| `chatgptAuth` | tárgy | Igen a `chatgpt` módhoz | - | Tárolt ChatGPT/Codex hitelesítési tokenek és fiókazonosító |\n\n### `mlx`\n\nMLX szolgáltató Apple Silicon Mac gépekhez (helyi következtetés).\n```json\n{\n \"mlx\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------ | -------------------- |\n| `baseUrl` | húr | Nem | `http://localhost:8080` | MLX szerver URL |\n| `port` | szám | Nem | `8080` | Szerver port |\n| `model` | húr | Igen | - | MLX modell azonosító |\n\n### `llmgateway`\n\nLLM Gateway egységes API konfiguráció. Hozzáférést biztosít több LLM-szolgáltatóhoz egyetlen API-n keresztül.\n```json\n{\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"baseUrl\": \"https://api.llmgateway.io/v1\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | ------------------------------- | ---------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | LLM Gateway API kulcs |\n| `baseUrl` | húr | Nem | `https://api.llmgateway.io/v1` | API-végpont |\n| `model` | húr | Igen | - | Modellnév (pl. `gpt-4o`, `claude-3-5-sonnet-20241022`) |\n\n**API-kulcs beszerzése:**\nKeresse fel a [llmgateway.io/dashboard](https://llmgateway.io/dashboard) webhelyet fiók létrehozásához és API-kulcsának beszerzéséhez.\n\n**Támogatott modellek:**\nAz LLM Gateway több szolgáltató modelljét támogatja, többek között:\n\n- OpenAI: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`\n`claude-3-5-haiku-20241022`\n- Google: `gemini-1.5-pro`, `gemini-1.5-flash`\n\n### `deepseek`\n\nDeepSeek szolgáltató konfigurációja. Az API OpenAI-kompatibilis, és a `https://api.deepseek.com`-t használja alap URL-ként.\n```json\n{\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"baseUrl\": \"https://api.deepseek.com\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| --------- | ------ | -------- | --------------------------- | --------------------------------------------------------------- |\n| `apiKey` | húr | Igen | - | DeepSeek API kulcs |\n| `baseUrl` | húr | Nem | `https://api.deepseek.com` | API-végpont |\n| `model` | húr | Igen | - | Modellnév, például `deepseek-v4-flash` vagy `deepseek-v4-pro` |\n\n### `bedrock`\n\nAWS Bedrock szolgáltató konfigurációja. `converse` az alapértelmezett mód, és az AWS SDK hitelesítési láncot használja. Az OpenAI-kompatibilis módok Bedrock API-kulcsokat és Bedrock OpenAI-kompatibilis végpontokat használnak.\n```json\n{\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ---------- | ------ | -------- | ------- | ----------- |\n| `model` | húr | Igen | - | Alapkőzetmodell-azonosító, következtetési profilazonosító vagy ARN |\n| `region` | húr | Igen | `AWS_REGION`, majd `AWS_DEFAULT_REGION`, majd `us-east-1` a beállításban | AWS régió |\n| `apiMode` | húr | Nem | `converse` | `converse`, `openai-chat` vagy `openai-responses` |\n| `authMode` | húr | Nem | `aws-credentials` `converse`, `bedrock-api-key` OpenAI-kompatibilis módokhoz | Hitelesítési mód |\n| `profile` | húr | Nem | - | Opcionális AWS-profil a hitelesítő adatok láncos hitelesítéséhez |\n| `endpoint` | húr | Nem | Módból és régióból származtatva | Egyéni/privát Bedrock végpont |\n| `apiKey` | húr | Igen OpenAI-kompatibilis módokhoz | - | Bedrock API kulcs. Ne használjon OpenAI API-kulcsokat. |\n\nFuttassa a `aws configure sso` kódot, vagy állítsa be a `AWS_PROFILE=enterprise-prod autohand` értéket a profilalapú AWS-hitelesítéshez. Az IAM-szerepkört, a tárolót és a példány metaadat-hitelesítő adatait az AWS SDK támogatja. Modell használata előtt engedélyezze a modellelérést az AWS-konzolon.\n\n---\n\n## Munkaterület beállításai\n```json\n{\n \"workspace\": {\n \"defaultRoot\": \"/path/to/projects\",\n \"allowDangerousOps\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------------------ | -------------------------------------------------- |\n| `defaultRoot` | húr | Aktuális címtár | Alapértelmezett munkaterület, ha nincs megadva |\n| `allowDangerousOps` | logikai | `false` | Pusztító műveletek engedélyezése megerősítés nélkül |\n\n### Munkahelyi biztonság\n\nAutohand automatikusan blokkolja a működést a veszélyes könyvtárakban, hogy megelőzze a véletlen károsodást:\n\n- **Fájlrendszer gyökerei** (`/`, `C:\\`, `D:\\` stb.)\n- **Házikönyvtárak** (`~`, `/Users/<user>`, `/home/<user>`, `C:\\Users\\<user>`)\n- **Rendszerkönyvtárak** (`/etc`, `/var`, `/System`, `C:\\Windows` stb.)\n- **WSL Windows-csatlakozások** (`/mnt/c`, `/mnt/c/Users/<user>`)\n\nEzt az ellenőrzést nem lehet megkerülni. Ha egy veszélyes könyvtárban próbálja meg futtatni a autohand alkalmazást, hibaüzenetet fog látni, és meg kell adnia egy biztonságos projektkönyvtárat.\n```bash\n# This will be blocked\ncd ~ && autohand\n# Error: Unsafe Workspace Directory\n\n# This works\ncd ~/projects/my-app && autohand\n```\nA részletekért lásd a [Workspace Safety](./workspace-safety.md) részt.\n\n---\n\n## UI beállítások\n```json\n{\n \"ui\": {\n \"theme\": \"dark\",\n \"customThemes\": {\n \"company\": {\n \"colors\": {\n \"accent\": \"#7c3aed\",\n \"success\": \"#22c55e\"\n }\n }\n },\n \"autoConfirm\": false,\n \"readFileCharLimit\": 300,\n \"silentToolOutput\": false,\n \"activityVerbs\": [\"Compiling\", \"Parsing\", \"Reviewing\"],\n \"activityVerbsEnabled\": true,\n \"activitySymbol\": \"✳\",\n \"statusLine\": {\n \"showProviderModel\": true,\n \"showContext\": true,\n \"showCommandHint\": true,\n \"showPullRequest\": true,\n \"showSessionLines\": false,\n \"showQueue\": true,\n \"showActiveStatus\": true,\n \"showActiveMetrics\": true,\n \"showCancelHint\": true\n },\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ----------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `theme` | húr | `\"dark\"` | Színes téma a terminál kimenetéhez. A beépítettek a következők: `dark`, `light`, `dracula`, `sandy`, `tui`, `github-dark`, `cappadocia`, CODE és ___8__ `australia`. A régi `turkey` és `brazil` értékek továbbra is betöltődnek álnévként. |\n| `customThemes` | tárgy | `{}` | Soron belüli egyéni témadefiníciók a téma nevével. A használatához állítsa be a `theme` kulcsot ugyanarra a kulcsra. |\n| `autoConfirm` | logikai | `false` | A biztonságos működés érdekében hagyja ki a megerősítő felszólításokat |\n| `readFileCharLimit` | szám | `300` | Maximum megjeleníthető karakter az olvasási/kereső eszköz kimenetéből (a teljes tartalom továbbra is elküldésre kerül a modellnek) |\n| `silentToolOutput` | logikai | `false` | A szerszám kimeneti blokkjainak elrejtése a terminálban, miközben továbbra is megőrzi a modell/munkamenet szerszámeredményeit |\n| `activityVerbs` | karakterlánc vagy karakterlánc[] | beépített medence | Egyéni tevékenység ige vagy igekészlet a munkajelzőhöz, `Verb...` formátumban |\n| `activityVerbsEnabled` | logikai | `true` | Forgó tevékenység igék megjelenítése, például `Compiling...`, miközben az ügynök dolgozik |\n| `activitySymbol` | húr | `\"✳\"` | A tevékenységi ige előtt látható szimbólum a tevékenységmutató kimenetében |\n| `statusLine.showProviderModel` | logikai | `true` | Jelenítse meg az aktív szolgáltatót és modellt a szerző állapotsorában |\n| `statusLine.showContext` | logikai | `true` | Jelenítse meg a kontextus százalékos arányát a szerző állapotsorában |\n| `statusLine.showCommandHint` | logikai | `true` | Parancs, említés, készség és terminálbejegyzési tippek megjelenítése a szerző állapotsorában |\n| `statusLine.showPullRequest` | logikai | `true` | Mutassa meg a kapcsolódó lekérési kérés számát, vagy `PR #123`, ha nincs PR társítva |\n| `statusLine.showSessionLines` | logikai | `false` | Az aktuális munkamenet során hozzáadott és eltávolított sorok megjelenítése |\n| `statusLine.showQueue` | logikai | `true` | A sorba állított kérések számának megjelenítése az állapotsorban |\n| `statusLine.showActiveStatus` | logikai | `true` | Az aktív forduló állapotszövege megjelenítése, miközben az ügynök dolgozik |\n| `statusLine.showActiveMetrics` | logikai | `true` | Az eltelt idő és a token mérőszámainak megjelenítése, amíg az ügynök dolgozik |\n| `statusLine.showCancelHint` | logikai | `true` | Az Esc megszakítási tipp megjelenítése, miközben az ügynök dolgozik |\n| `completionReportEnabled` | logikai | `true` | Kérje meg a modellt, hogy a végrehajtott műveleti körök után tartalmazzon egy tömör befejezési jelentést |\n| `showCompletionNotification` | logikai | `true` | Rendszerértesítés megjelenítése a feladat befejezésekor |\n| `showThinking` | logikai | `true` | Az LLM érvelésének/gondolati folyamatának megjelenítése |\n| `terminalBell` | logikai | `true` | Csengessen terminálcsengőt, amikor a feladat befejeződött (jelvényt mutat a terminálfülön/dokkon) |\n| `checkForUpdates` | logikai | `true` | CLI frissítések keresése indításkor |\n| `updateCheckInterval` | szám | `24` | Órák a frissítési ellenőrzések között (a gyorsítótárazott eredményt az intervallumon belül használja) |\n\nAz egyéni témák bármely szemantikai színtokent felülírhatnak. A hiányzó tokenek a sötét témából származnak:\n```json\n{\n \"ui\": {\n \"theme\": \"company\",\n \"customThemes\": {\n \"company\": {\n \"vars\": {\n \"brand\": \"#7c3aed\",\n \"brandSoft\": \"#a78bfa\"\n },\n \"colors\": {\n \"accent\": \"brand\",\n \"borderAccent\": \"brandSoft\",\n \"mdHeading\": \"brand\"\n }\n }\n }\n }\n}\n```\nMegjegyzés: A `readFileCharLimit` és `silentToolOutput` csak a terminál megjelenítését érinti. A teljes tartalom továbbra is elküldésre kerül a modellnek, és eszközüzenetekben tárolódik.\n\nA néma eszközkimenetet a fájl szerkesztése nélkül is átkapcsolhatja:\n```bash\nautohand config set silent_tool_output true\nautohand config set silent_tool_output false\n```\nA forgó tevékenység igék között válthat a fájl szerkesztése nélkül:\n```bash\nautohand config set verbs activity true\nautohand config set verbs activity false\n```\nSzabja testre az igéket a konfigurációs fájlban, ha rögzített állapotcímkét vagy kis projektspecifikus elforgatást szeretne:\n```json\n{\n \"ui\": {\n \"activityVerbs\": \"Compiling\"\n }\n}\n```\n\n```json\n{\n \"ui\": {\n \"activityVerbs\": [\"Indexing\", \"Reviewing\", \"Testing\"],\n \"activitySymbol\": \">\"\n }\n}\n```\nA `activityVerbs` egyetlen karakterláncot vagy nem üres karakterlánc-tömböt fogad el. Ha a `activityVerbsEnabled` értéke `false`, a Autohand visszaesik a `Working...` értékre, ahelyett, hogy az egyéni vagy beépített igék között forogna.\n\nA fájl szerkesztése nélkül válthat a befejezési jelentések között, beleértve a strukturált `SITREP` promptot is:\n```bash\nautohand config set sitrep true\nautohand config set sitrep false\n```\n### Terminal Bell\n\nHa a `terminalBell` engedélyezve van (alapértelmezett), a Autohand megszólal a terminál csengőjén (`\\x07`), amikor egy feladat befejeződik. Ez kiváltja:\n\n- **Jelvény a terminál lapon** - Vizuális jelzőt mutat, hogy a munka elkészült\n- **Dokk ikon ugrál** - Felhívja a figyelmet, ha a terminál a háttérben van (macOS)\n- **Hang** - Ha a terminál hangjai engedélyezve vannak a terminál beállításaiban\n\nTerminálspecifikus beállítások:\n\n- **macOS terminál**: Beállítások > Profilok > Speciális > Bell (vizuális/hallható)\n- **iTerm2**: Beállítások > Profilok > Terminál > Értesítések\n- **VS Code Terminal**: Beállítások > Terminál > Integrált: Bell engedélyezése\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"terminalBell\": false\n }\n}\n```\n### Ink Renderer\n\nA Autohand alapértelmezés szerint az Ink 7 + React 19 renderert használja az interaktív terminálokhoz. A régi `ui.useInkRenderer` konfigurációs mezőt figyelmen kívül hagyja, így a régi konfigurációs fájlok nem kényszeríthetik a sima terminálszerkesztőt. A tinta a következőket nyújtja:\n\n- **Recgésmentes kimenet**: Minden UI-frissítés kötegelt React-egyeztetésen keresztül történik\n- **Munkasor funkció**: Írja be az utasításokat, amíg az ügynök dolgozik\n- **Jobb bemenetkezelés**: Nincsenek ütközések a readline-kezelők között\n- **Összeállítható felhasználói felület**: A jövőbeni fejlett felhasználói felületi funkciók alapja\n\nVészhelyzeti tartalék a terminál kompatibilitás érdekében:\n```bash\nAUTOHAND_LEGACY_UI=1 autohand\n```\nMegjegyzés: Ez a funkció kísérleti jellegű, és lehetnek szélső esetek. Az alapértelmezett ora-alapú felhasználói felület stabil és teljesen működőképes marad.\n\n### Frissítési ellenőrzés\n\nHa a `checkForUpdates` engedélyezve van (alapértelmezett), a Autohand indításkor ellenőrzi az új kiadásokat:\n```\n> Autohand v0.6.8 (abc1234) ✓ Up to date\n```\nHa elérhető frissítés:\n```\n> Autohand v0.6.7 (abc1234) ⬆ Update available: v0.6.8\n ↳ Run: curl -fsSL https://autohand.ai/install.sh | sh\n```\nHogyan működik:\n\n- Lekéri a GitHub API legújabb kiadását\n- A gyorsítótárak eredménye `~/.autohand/version-check.json`\n- Csak egyszer ellenőrzi `updateCheckInterval` óránként (alapértelmezett: 24)\n- Nem blokkoló: az indítás akkor is folytatódik, ha az ellenőrzés sikertelen\n\nLetiltása:\n```json\n{\n \"ui\": {\n \"checkForUpdates\": false\n }\n}\n```\nVagy környezeti változón keresztül:\n```bash\nexport AUTOHAND_SKIP_UPDATE_CHECK=1\n```\n---\n\n## Ügynök beállításai\n\nAz ügynök viselkedésének és iterációs korlátainak szabályozása.\n```json\n{\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"autoMemory\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | ------- | ------------------------------------------------------------------------------ |\n| `maxIterations` | szám | `100` | Maximális szerszámiterációk felhasználói kérésenként a leállítás előtt |\n| `enableRequestQueue` | logikai | `true` | Lehetővé teszi a felhasználók számára, hogy kéréseket írjanak be és sorba állítsanak, miközben az ügynök dolgozik |\n| `toolSelectionCache` | logikai | `true` | Gyorsítótárazza a körönkénti szerszámséma helyi kiválasztását az egyenértékű szerszámkiválasztási bemenethez |\n| `autoMemory` | logikai | `true` | Tartós felhasználói-/projektmemóriák kinyerése és mentése a befejezett interaktív fordulók után, beleértve a hibákból és megszakításokból származó, bizonyítékokkal alátámasztott tanulságokat |\n| `idleLogoutEnabled` | logikai | `true` | Jelentkezzen ki a hitelesített interaktív munkamenetekből az üresjárati időtúllépés után |\n| `idleTimeoutMs` | szám | `3600000` | Az inaktivitás ezredmásodpercei a hitelesített munkamenet kijelentkeztetése előtt (60 perc) |\n| `debug` | logikai | `false` | Részletes hibakeresési kimenet engedélyezése (naplózza az ügynök belső állapotát az stderr-be) |\n\n## Egyidejű munkamenetek észlelése\n\n```json\n{\n \"sessions\": {\n \"awareness\": \"warn\"\n }\n}\n```\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --- | --- | --- | --- |\n| `awareness` | karakterlánc | `\"warn\"` | A `passive` megjeleníti a többi munkamenetet, a `warn` a kockázatos Git- és fájlütközéseket is jelzi, a `coordinate` pedig megerősítést kér egy másik élő munkamenet által lefoglalt útvonal írása előtt |\n\n### Eszközséma kiválasztása\n\nA Autohand nem küld el minden teljes eszközsémát minden LLM-kérelemnél. A rendszerprompt tartalmaz egy kompakt eszközképesség-katalógust, és minden kérés csak egy kis konkrét sémát tesz közzé, amely a következők közül választható ki:\n\n- Az alapvető felderítési eszközök, például `tool_search`, `read_file`, `fff_find` és `fff_grep`\n- Szándékhoz illő eszközök szerkesztési, ellenőrzési, git, böngésző, web, függőségi vagy projektkövetési munkákhoz\n- A legutóbbi `tool_search` hívások során kért vagy kifejezetten név szerint megemlített eszközök\n\nEzzel elkerülhető a nagy előzetes kontextusköltség, ha az összes eszközséma elküldése a felhasználói szándék ismertsége előtt felmerül. `toolSelectionCache` csak a helyi választó gyorsítótárát vezérli az egyenértékű fordulatokhoz; nem hajt végre felhasználói előtti LLM-bemelegítést, és nem kényszerít ki nagy gyorsítótárazott prompt előtagot.\n\nA helyi választó gyorsítótárának letiltása:\n```json\n{\n \"agent\": {\n \"toolSelectionCache\": false\n }\n}\n```\nA hitelesített, régóta működő ügynöki munkamenetek életben tartásához, amíg munkára várnak:\n```json\n{\n \"agent\": {\n \"idleLogoutEnabled\": false\n }\n}\n```\nEgyetlen folyamathoz használja a `autohand --no-idle-logout` kódot, vagy állítsa be a `AUTOHAND_NO_IDLE_LOGOUT=1` értéket.\n\nAz inaktivitási idő módosításához állítsa az `idleTimeoutMs` értékét pozitív, ezredmásodpercben megadott időtartamra. Az alapértelmezett érték `3600000` (60 perc); az érvénytelen értékek az alapértelmezett értéket használják.\n\n### Hibakeresési mód\n\nEngedélyezze a hibakeresési módot az ügynök belső állapotának részletes naplózásához (reakcióhurok iterációi, prompt felépítés, munkamenet részletei). A kimenet az stderr-hez megy, hogy elkerülje a normál kimenet zavarását.\n\nHáromféleképpen engedélyezheti a hibakeresési módot (elsőbbségi sorrendben):\n\n1. **CLI jelző**: `autohand -d` vagy `autohand --debug`\n2. **Környezeti változó**: `AUTOHAND_DEBUG=1`\n3. **Konfigurációs fájl**: Állítsa be: `agent.debug: true`\n\n### Kérési sor\n\nHa a `enableRequestQueue` engedélyezve van, folytathatja az üzenetek beírását, miközben az ügynök feldolgoz egy korábbi kérést. A bevitel a sorba kerül, és automatikusan feldolgozásra kerül, amikor az aktuális feladat befejeződik.\n\n- Írja be az üzenetet, és nyomja meg az Enter billentyűt, hogy hozzáadja a sorhoz\n- Az állapotsor azt mutatja, hogy hány kérés van sorban\n- A kérések feldolgozása FIFO (first-in, first-out) sorrendben történik\n- A sor maximális mérete 10 kérés\n\n---\n\n## Engedélyek beállításai\n\nA szerszámengedélyek finom vezérlése.\n```json\n{\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\n \"run_command:npm *\",\n \"run_command:bun *\",\n \"run_command:git status\"\n ],\n \"blacklist\": [\"run_command:rm -rf *\", \"run_command:sudo *\"],\n \"rules\": [\n {\n \"tool\": \"run_command\",\n \"pattern\": \"npm test\",\n \"action\": \"allow\"\n }\n ],\n \"rememberSession\": true\n }\n}\n```\n### `mode`\n\n| Érték | Leírás |\n| ----------------- | ------------------------------------------------------ |\n| `\"interactive\"` | Jóváhagyás kérése veszélyes műveletekhez (alapértelmezett) |\n| `\"unrestricted\"` | Nincsenek felszólítások, engedélyezzen mindent |\n| `\"restricted\"` | Minden veszélyes művelet megtagadása |\n\n### `whitelist`\n\nSzerszámminták sora, amelyek soha nem igényelnek jóváhagyást.\n```json\n[\"run_command:npm *\", \"run_command:bun test\"]\n```\n### `blacklist`\n\nMindig blokkolt szerszámminták tömbje.\n```json\n[\"run_command:rm -rf /\", \"run_command:sudo *\"]\n```\n### `rules`\n\nFinom szemcsés engedélyezési szabályok.\n\n| Mező | Típus | Leírás |\n| --------- | --------- | -------------------------------------------- | ---------- | -------------- |\n| `tool` | húr | A megfelelő eszköznév |\n| `pattern` | húr | Opcionális minta az érvekhez való illeszkedéshez |\n| `action` | `\"allow\"` | `\"deny\"` | `\"prompt\"` | Intézkedések |\n\n### `rememberSession`\n\n| Típus | Alapértelmezett | Leírás |\n| ------- | ------- | -------------------------------------------- |\n| logikai | `true` | Emlékezzen az ülés jóváhagyási határozataira |\n\n### Helyi projektengedélyek\n\nMinden projektnek saját engedélybeállításai lehetnek, amelyek felülírják a globális konfigurációt. Ezeket a projekt gyökérkönyvtárában a `.autohand/settings.local.json` tartalmazza.\n\nAmikor jóváhagy egy fájlműveletet (szerkesztés, írás, törlés), a rendszer automatikusan ebbe a fájlba menti, így nem kéri újra ugyanazt a műveletet ebben a projektben.\n```json\n{\n \"version\": 1,\n \"permissions\": {\n \"whitelist\": [\n \"apply_patch:src/components/Button.tsx\",\n \"write_file:package.json\",\n \"run_command:bun test\"\n ]\n }\n}\n```\n**Hogyan működik:**\n\n- Amikor jóváhagy egy műveletet, a rendszer a következőbe menti: `.autohand/settings.local.json`\n- Legközelebb ugyanazt a műveletet a rendszer automatikusan jóváhagyja\n- A helyi projektbeállítások egyesülnek a globális beállításokkal (a helyi beállítások elsőbbséget élveznek)\n- Adja hozzá a `.autohand/settings.local.json` kódot a `.gitignore`-hoz, hogy a személyes beállítások privátak maradjanak\n\n**Mintaformátum:**\n\n- `tool_name:path` - Fájlműveletekhez (pl. `apply_patch:src/file.ts`)\n- `tool_name:command args` - Parancsokhoz (pl. `run_command:npm test`)\n\n### Megtekintési engedélyek\n\nJelenlegi engedélybeállításait kétféleképpen tekintheti meg:\n\n**CLI jelző (nem interaktív):**\n```bash\nautohand --permissions\n```\nEz a következőket jeleníti meg:\n\n- Jelenlegi engedélyezési mód (interaktív, korlátlan, korlátozott)\n- Munkaterület és konfigurációs fájlok elérési útjai\n- Minden jóváhagyott minta (engedélyezőlista)\n- Minden elutasított minta (feketelista)\n- Összefoglaló statisztika\n\n**Interaktív parancs:**\n```\n/permissions\n```\nInteraktív módban a `/permissions` parancs ugyanazokat az információkat és lehetőségeket biztosít a következőkhöz:\n\n- Elemek eltávolítása az engedélyezési listáról\n- Távolítsa el az elemeket a feketelistáról\n- Törölje az összes mentett engedélyt\n\n---\n\n## Patch mód\n\nA Patch mód lehetővé teszi megosztható, git-kompatibilis javítás létrehozását a munkaterület-fájlok módosítása nélkül. Ez hasznos:\n\n- A kód felülvizsgálata a változtatások alkalmazása előtt\n- Az AI által generált változások megosztása a csapat tagjaival\n- Reprodukálható változáskészletek készítése\n- CI/CD folyamatok, amelyeknek alkalmazása nélkül kell rögzíteni a változásokat\n\n### Használat\n```bash\n# Generate patch to stdout\nautohand --prompt \"add user authentication\" --patch\n\n# Save to file\nautohand --prompt \"add user authentication\" --patch --output auth.patch\n\n# Pipe to file (alternative)\nautohand --prompt \"refactor api handlers\" --patch > refactor.patch\n```\n### Viselkedés\n\nHa `--patch` meg van adva:\n\n- **Automatikus megerősítés**: Minden visszaigazolás automatikusan elfogadásra kerül (`--yes`)\n- **Nincsenek felszólítások**: Nem jelennek meg jóváhagyási értesítések (`--unrestricted` vélelmezett)\n- **Csak előnézet**: A változtatásokat rögzíti, de NEM írja lemezre\n- **Kikényszerített biztonság**: A feketelistán szereplő műveletek (`.env`, SSH-kulcsok, veszélyes parancsok) továbbra is blokkolva vannak\n\n### Javítások alkalmazása\n\nA címzettek szabványos git parancsokkal alkalmazhatják a javítást:\n```bash\n# Check what would be applied (dry-run)\ngit apply --check changes.patch\n\n# Apply the patch\ngit apply changes.patch\n\n# Apply with 3-way merge (handles conflicts better)\ngit apply -3 changes.patch\n\n# Apply and stage changes\ngit apply --index changes.patch\n\n# Reverse a patch\ngit apply -R changes.patch\n```\n### Patch formátum\n\nA generált javítás a git egységes diff formátumát követi:\n```diff\ndiff --git a/src/auth.ts b/src/auth.ts\nnew file mode 100644\n--- /dev/null\n+++ b/src/auth.ts\n@@ -0,0 +1,15 @@\n+export function authenticate(user: string, password: string) {\n+ // Implementation here\n+}\n\ndiff --git a/src/index.ts b/src/index.ts\n--- a/src/index.ts\n+++ b/src/index.ts\n@@ -1,5 +1,7 @@\n import express from 'express';\n+import { authenticate } from './auth';\n\n const app = express();\n+app.use(authenticate);\n```\n### Kilépési kódok\n\n| Kód | Jelentése |\n| ---- | ---------------------------------------------------- |\n| `0` | Siker, patch generált |\n| `1` | Hiba (hiányzó `--prompt`, engedély megtagadva stb.) |\n\n### Kombinálva más zászlókkal\n```bash\n# Use specific model\nautohand --prompt \"optimize queries\" --patch --model gpt-4o\n\n# Specify workspace\nautohand --prompt \"add tests\" --patch --path ./my-project\n\n# Use custom config\nautohand --prompt \"refactor\" --patch --config ~/.autohand/work.json\n```\n### Csapatmunkafolyamat-példa\n```bash\n# Developer A: Generate patch for a feature\nautohand --prompt \"implement user dashboard with charts\" --patch --output dashboard.patch\n\n# Share via git (create PR with just the patch file)\ngit checkout -b patch/dashboard\ngit add dashboard.patch\ngit commit -m \"Add dashboard feature patch\"\ngit push\n\n# Developer B: Review and apply\ngit fetch origin patch/dashboard\ngit apply dashboard.patch\n# Run tests, review code, then commit\ngit add -A && git commit -m \"feat: add user dashboard with charts\"\n```\n---\n\n## Hálózati beállítások\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Max | Leírás |\n| ------------ | ------ | ------- | --- | --------------------------------------- |\n| `maxRetries` | szám | `3` | `5` | Próbálkozzon újra sikertelen API-kérésekkel |\n| `timeout` | szám | `30000` | - | Kérelem időtúllépése ezredmásodpercben |\n| `retryDelay` | szám | `1000` | - | Az újrapróbálkozások közötti késleltetés ezredmásodpercben |\n\n---\n\n## Telemetriai beállítások\n\nA telemetria **alapértelmezés szerint le van tiltva** (feliratkozás). Engedélyezze a Autohand fejlesztéséhez.\n```json\n{\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true,\n \"companySecret\": \"\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| -------------------- | ------- | -------------------------- | ---------------------------------------------- |\n| `enabled` | logikai | `false` | Telemetria engedélyezése/letiltása (feliratkozás) |\n| `apiBaseUrl` | húr | `https://api.autohand.ai` | Telemetria API végpont |\n| `batchSize` | szám | `20` | Az automatikus kiürítés előtt kötegelt események száma |\n| `flushIntervalMs` | szám | `60000` | Öblítési időköz ezredmásodpercben (1 perc) |\n| `maxQueueSize` | szám | `500` | Maximális sorméret a régi események eldobása előtt |\n| `maxRetries` | szám | `3` | Próbálkozzon újra sikertelen telemetriai kérések esetén |\n| `enableSessionSync` | logikai | `true` | Szinkronizálja a munkameneteket a felhővel a csapatfunkciókhoz, ha a telemetria engedélyezve van |\n| `companySecret` | húr | `\"\"` | Vállalati titok API-hitelesítéshez |\n\nA szolgáltató/modell telemetria tartalmazza az aktív szolgáltatói azonosítót, a modellazonosítót és az elérhető nem titkos metaadatokat, például az egyéni szolgáltató megjelenítési nevét, API-formátumát, érvelési erőfeszítéseit és kontextusablakát. Az API-kulcsok és a vivőjogkivonatok soha nem szerepelnek benne.\n\n---\n\n## Külső ügynökök\n\nEgyéni ügynökdefiníciók betöltése külső könyvtárakból.\n```json\n{\n \"externalAgents\": {\n \"enabled\": true,\n \"paths\": [\"~/.autohand/agents\", \"/team/shared/agents\"]\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | -------- | ------- | -------------------------------- |\n| `enabled` | logikai | `false` | Külső ügynök betöltésének engedélyezése |\n| `paths` | string[] | `[]` | Könyvtárak az ügynökök betöltéséhez |\n\n---\n\n## Skills System\n\nA készségek olyan utasításcsomagok, amelyek speciális utasításokat adnak az AI-ügynöknek. Úgy működnek, mint az igény szerinti `AGENTS.md` fájlok, amelyek bizonyos feladatokhoz aktiválhatók.\n\n### Készségek felfedező helyek\n\nA készségek több helyről fedezhetők fel, és a későbbi források élveznek elsőbbséget:\n\n| Helyszín | Forrásazonosító | Leírás |\n| ----------------------------------------- | ------------------- | ------------------------------------------ |\n| `~/.codex/skills/**/SKILL.md` | `codex-user` | Felhasználói szintű Codex készségek (rekurzív) |\n| `~/.claude/skills/*/SKILL.md` | `claude-user` | Felhasználói szintű Claude-készségek (egy szint) |\n| `~/.autohand/skills/**/SKILL.md` | `autohand-user` | Felhasználói szintű Autohand készségek (rekurzív) |\n| `<project>/.claude/skills/*/SKILL.md` | `claude-project` | Projektszintű Claude-készségek (egy szint) |\n| `<project>/.autohand/skills/**/SKILL.md` | `autohand-project` | Projekt szintű Autohand készségek (rekurzív) |\n\n### Automatikus másolási viselkedés\n\nA Codex vagy Claude helyekről felfedezett készségek automatikusan átmásolódnak a megfelelő Autohand helyre:\n\n- `~/.codex/skills/` és `~/.claude/skills/` → `~/.autohand/skills/`\n- `<project>/.claude/skills/` → `<project>/.autohand/skills/`\n\nA Autohand helyeken meglévő készségek soha nem íródnak felül.\n\n### SKILL.md formátum\n\nA YAML frontmatter-t használó készségek, majd a leértékelési tartalom:\n```markdown\n---\nname: my-skill-name\ndescription: Brief description of the skill\nlicense: MIT\ncompatibility: Works with Node.js 18+\nallowed-tools: read_file write_file run_command\nmetadata:\n author: your-name\n version: \"1.0.0\"\n---\n\n# My Skill\n\nDetailed instructions for the AI agent...\n```\n| Mező | Kötelező | Max hossz | Leírás |\n| ---------------- | -------- | ---------- | ------------------------------------------- |\n| `name` | Igen | 64 karakter | Kisbetűs alfanumerikus, csak kötőjelekkel |\n| `description` | Igen | 1024 karakter | A készség rövid leírása |\n| `license` | Nem | - | Licencazonosító (pl. MIT, Apache-2.0) |\n| `compatibility` | Nem | 500 karakter | Kompatibilitási megjegyzések |\n| `allowed-tools` | Nem | - | Az engedélyezett eszközök szóközzel tagolt listája |\n| `metadata` | Nem | - | További kulcs-érték metaadatok |\n\n### Beviteli előtagok\n\nA Autohand támogatja a speciális előtagokat a beviteli promptban:\n\n| Előtag | Leírás | Példa |\n| ------ | ------------------------------- | ---------------------------------- |\n| `/` | Slash parancsok | `/help`, `/model`, `/quit`, `/exit` |\n| `@` | Fájl említések (automatikus kiegészítés) | `@src/index.ts` |\n| `$` | Szakértelem említése (automatikus kiegészítés) | `$frontend-design`, `$code-review` |\n| `!` | A terminálparancsok közvetlen futtatása | `! git status`, `! ls -la` |\n\n**Képességmegemlítések (`$`):**\n\n- Írja be a következőt: `$`, majd karaktereket az automatikus kiegészítéssel elérhető készségek megtekintéséhez\n- A Tab elfogadja a felső javaslatot (pl. `$frontend-design`)\n- A készségek a következőből fedezhetők fel: `~/.autohand/skills/` és `<project>/.autohand/skills/`\n- Az aktivált készségek a prompthoz vannak csatolva, mint speciális utasítások az aktuális munkamenethez\n- Az előnézeti panel a készség metaadatait mutatja (név, leírás, aktiválási állapot)\n\n**Shell-parancsok (`!`):**\n\n- A parancsok az aktuális munkakönyvtárban futnak\n- A kimenet közvetlenül a terminálon jelenik meg\n- Nem megy az LLM-be\n- 30 másodperces időtúllépés\n- A végrehajtás után visszatér a prompthoz\n\n### Slash parancsok\n\n#### `/skills` - Csomagkezelő\n\n| Parancs | Leírás |\n| -------------------------------- | ------------------------------------------- |\n| `/skills` | Sorolja fel az összes elérhető készséget |\n| `/skills use <name>` | Képesség aktiválása az aktuális munkamenethez |\n| `/skills deactivate <name>` | Készség deaktiválása |\n| `/skills info <name>` | Részletes képzettségi információk megjelenítése |\n| `/skills install` | Tallózás és telepítés a közösségi nyilvántartásból |\n| `/skills install @<slug>` | Telepítsen közösségi készségeket a slug |\n| `/skills search <query>` | Keresés a közösségi készségek nyilvántartásában |\n| `/skills trending` | Felkapott közösségi készségek megjelenítése |\n| `/skills remove <slug>` | Közösségi készség eltávolítása |\n| `/skills new` | Hozzon létre új készségeket interaktívan |\n| `/skills feedback <slug> <1-5>` | Értékeljen egy közösségi képességet |\n\n#### `/learn` - LLM-alapú Skill Advisor\n\n| Parancs | Leírás |\n| ---------------- | ---------------------------------------------------------------- |\n| `/learn` | A projekt elemzése és készségek ajánlása (gyors szkennelés) |\n| `/learn deep` | Mélyszkennelési projekt (forrásfájlokat olvas) a célzottabb eredmények érdekében |\n| `/learn update` | A projekt újraelemzése és az LLM által generált elavult készségek regenerálása |\n\nA `/learn` kétfázisú LLM-folyamatot használ:\n\n1. **1. fázis – Elemzés + Rangsorolás + Ellenőrzés**: Ellenőrzi a projekt szerkezetét, auditálja a telepített készségeket redundanciák/konfliktusok szempontjából, és rangsorolja a közösségi készségeket relevancia szerint (0-100).\n2. **2. fázis – Létrehozás** (feltételes): Ha egyik közösségi képesség sem ér el 60 feletti pontszámot, felajánlja a projektjéhez szabott egyéni képesség létrehozását.\nA generált készségek metaadatokat (`agentskill-source: llm-generated`, `agentskill-project-hash`) tartalmaznak, így a `/learn update` képes észlelni, ha megváltozik a kódbázis, és újra előállíthatja az elavult készségeket.\n\n### Automatikus készséggenerálás (`--auto-skill`)\n\nA `--auto-skill` CLI jelző készségeket generál az interaktív tanácsadói folyamat nélkül:\n```bash\nautohand --auto-skill\n```\nEz:\n\n1. Elemezze a projekt felépítését (package.json, követelmények.txt stb.)\n2. Nyelvek, keretrendszerek és minták észlelése\n3. Generáljon 3 releváns készséget az LLM segítségével\n4. Mentse el a készségeket ide: `<project>/.autohand/skills/`\n\nA célzottabb, interaktívabb élmény érdekében használja inkább a `/learn` kódot egy munkameneten belül.\n\nAz észlelt minták a következők:\n\n- **Nyelvek**: TypeScript, JavaScript, Python, Rust, Go\n- **Frameworks**: React, Next.js, Vue, Express, Flask, Django\n- **Minták**: CLI eszközök, tesztelés, monorepo, Docker, CI/CD\n\n---\n\n## API beállítások\n\nBackend API konfiguráció a csapatfunkciókhoz.\n```json\n{\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\",\n \"companySecret\": \"sk-team-xxx\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ---------------- | ------ | -------------------------- | ---------------------------------------- |\n| `baseUrl` | húr | `https://api.autohand.ai` | API-végpont |\n| `companySecret` | húr | - | Csapat/vállalati titok a megosztott funkciókhoz |\n\nKörnyezeti változókkal is beállítható:\n\n- `AUTOHAND_API_URL` → `api.baseUrl`\n- `AUTOHAND_SECRET` → `api.companySecret`\n\n---\n\n## Hitelesítési beállítások\n\nHitelesítés és felhasználói munkamenet konfigurálása.\n```json\n{\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\",\n \"avatar\": \"https://example.com/avatar.png\"\n },\n \"expiresAt\": \"2025-12-31T23:59:59Z\"\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------- | ------ | ------- | --------------------------------------------- |\n| `token` | húr | - | Hitelesítési token API-hozzáféréshez |\n| `user` | tárgy | - | Hitelesített felhasználói adatok |\n| `user.id` | húr | - | Felhasználói azonosító |\n| `user.email` | húr | - | Felhasználó e-mail címe |\n| `user.name` | húr | - | Felhasználó megjelenített név |\n| `user.avatar` | húr | - | Felhasználói avatar URL-je (nem kötelező) |\n| `expiresAt` | húr | - | Token lejárati időbélyegzője (ISO 8601 formátum) |\n\n---\n\n## Közösségi készségek beállításai\n\nKonfiguráció a közösségi készségek felfedezéséhez és kezeléséhez.\n```json\n{\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------------------------- | ------- | ------- | -------------------------------------------------------------- |\n| `enabled` | logikai | `true` | Közösségi készségek funkcióinak engedélyezése |\n| `showSuggestionsOnStartup` | logikai | `true` | Képességi javaslatok megjelenítése indításkor, ha nem állnak rendelkezésre szállítói ismeretek |\n| `autoBackup` | logikai | `true` | A felfedezett szállítói ismeretek automatikus biztonsági mentése API |\n\n---\n\n## Megosztási beállítások\n\nKonfiguráció a munkamenet megosztásához a `/share` paranccsal. A munkamenetek a [autohand.link](https://autohand.link) címen találhatók.\n```json\n{\n \"share\": {\n \"enabled\": true\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ------------------------------------ |\n| `enabled` | logikai | `true` | A `/share` parancs engedélyezése/letiltása |\n\n### YAML formátum\n```yaml\nshare:\n enabled: true\n```\n### Munkamenet-megosztás letiltása\n\nHa biztonsági vagy adatvédelmi okokból ki szeretné kapcsolni a munkamenet-megosztást:\n```json\n{\n \"share\": {\n \"enabled\": false\n }\n}\n```\nHa le van tiltva, a `/share` futtatásakor a következő jelenik meg:\n```\nSession sharing is disabled.\nTo enable, set share.enabled: true in your config file.\n```\n---\n\n## Beállítások szinkronizálása\n\nA Autohand szinkronizálhatja a konfigurációt az eszközök között a bejelentkezett felhasználók számára. A beállításokat a Cloudflare R2 biztonságosan tárolja, és a feltöltés előtt titkosítja.\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"exclude\": [],\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n| Mező | Típus | Alapértelmezett | Leírás |\n| ------------------- | -------- | ---------------- | --------------------------------------------------- |\n| `enabled` | logikai | `true` (naplózva) | Beállítások szinkronizálásának engedélyezése/letiltása |\n| `interval` | szám | `300000` | Szinkronizálási idő ezredmásodpercben (alapértelmezett: 5 perc) |\n| `exclude` | string[] | `[]` | Globális minták a szinkronizálásból kizárandó |\n| `includeTelemetry` | logikai | `false` | Telemetriai adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n| `includeFeedback` | logikai | `false` | Visszajelzési adatok szinkronizálása (felhasználói hozzájárulás szükséges) |\n\n### CLI zászló\n```bash\n# Disable sync for this session\nautohand --sync-settings=false\n\n# Enable sync (default for logged users)\nautohand --sync-settings\n```\n### Mi lesz szinkronizálva\n\nAlapértelmezés szerint ezek az elemek szinkronizálva vannak a bejelentkezett felhasználók számára:\n\n- **Konfiguráció** (`config.json`) - Az API-kulcsok a feltöltés előtt titkosítva vannak\n- **Egyéni ügynökök** (`agents/`)\n- **Közösségi készségek** (`community-skills/`)\n- **Felhasználói akasztók** (`hooks/`)\n- **Memória** (`memory/`)\n- **Projektismeret** (`projects/`)\n- **Munkamenetek előzményei** (`sessions/`)\n- **Megosztott tartalom** (`share/`)\n- **Egyéni készségek** (`skills/`)\n\n### Mi nem szinkronizál (alapértelmezés szerint)\n\n- **Eszközazonosító** (`device-id`) - Eszközönként egyedi\n- **Hibanaplók** (`error.log`) - Csak helyi\n- **Verziógyorsítótár** (`version-*.json`) - Helyi gyorsítótár fájlok\n\n### Beleegyezés alapú szinkronizálás\n\nEzek az elemek kifejezett feliratkozást igényelnek a konfigurációban:\n\n- **Telemetriai adatok** - Állítsa be a `sync.includeTelemetry: true` szinkronizálást\n- **Visszajelzési adatok** - Állítsa be a `sync.includeFeedback: true` szinkronizálását\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"includeTelemetry\": true,\n \"includeFeedback\": true\n }\n}\n```\n### Konfliktusmegoldás\n\nHa ütközések lépnek fel (ugyanaz a fájl több eszközön módosítva), a **felhőverzió nyer**. Ez biztosítja a következetességet az új eszközökön való bejelentkezéskor.\n\n### Biztonság\n\nA `config.json` API-kulcsait és egyéb bizalmas adatait a rendszer a hitelesítési token segítségével titkosítja a feltöltés előtt. Csak az Ön hitelesítő adataival lehet visszafejteni.\n\nA távoli fájlnevek csak relatív POSIX-útvonalként fogadhatók el az engedélyezett szinkronizálási kategóriákon belül. A szinkronizálás elutasítja a könyvtárbejárást, az abszolút vagy Windows-stílusú útvonalakat, az ismétlődő vagy üres szegmenseket, valamint az engedélyezett gyökéren kívülre mutató szimbolikus hivatkozásokkal átirányított célokat.\n\nAz alkalmazás bejelentkezési tokenje az `Authorization` fejlécben csak olyan átviteli URL-ekhez kerül elküldésre, amelyek eredete megegyezik a beállított szinkronizálási API eredetével. A más eredetű, előre aláírt HTTPS URL-ek soha nem kapják meg ezt a tokent; a nem biztonságos vagy hibás más eredetű URL-ek elutasításra kerülnek.\n\n**Mi van titkosítva:**\n\n- `apiKey` nevű mezők\n- `Key`, `Token`, `Secret` végződő mezők\n- A `password` mező\n\n### Hogyan működik\n\n1. **Indításkor**: Ha be van jelentkezve, a szinkronizálási szolgáltatás automatikusan elindul\n2. **5 percenként**: A beállításokat összehasonlítja a felhőalapú tárolással\n3. **A felhő nyer**: A távoli módosítások letöltése először történik meg\n4. **Helyi feltöltések**: Új helyi módosítások kerülnek feltöltésre\n5. **Kilépéskor**: A szinkronizálási szolgáltatás kecsesen leáll\n\n### Fájlok kizárása\n\nKizárhat bizonyos fájlokat vagy mintákat a szinkronizálásból:\n```json\n{\n \"sync\": {\n \"enabled\": true,\n \"exclude\": [\"custom-local-config.json\", \"temp/*\"]\n }\n}\n```\n### YAML formátum\n```yaml\nsync:\n enabled: true\n interval: 300000\n exclude: []\n includeTelemetry: false\n includeFeedback: false\n```\n---\n\n## MCP beállítások\n\nÁllítsa be az MCP-kiszolgálókat (Model Context Protocol) a Autohand külső eszközökkel történő bővítésére.\n```json\n{\n \"mcp\": {\n \"enabled\": true,\n \"servers\": [\n {\n \"name\": \"filesystem\",\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/tmp\"],\n \"env\": {},\n \"autoConnect\": true\n },\n {\n \"name\": \"context7\",\n \"transport\": \"http\",\n \"url\": \"https://mcp.context7.com/mcp\",\n \"headers\": {\n \"CONTEXT7_API_KEY\": \"ctx7sk-your-api-key\"\n },\n \"autoConnect\": true\n }\n ]\n }\n}\n```\n### `mcp.enabled`\n\n- **Típus**: `boolean`\n- **Alapértelmezett**: `true`\n- **Leírás**: Az összes MCP-támogatás engedélyezése vagy letiltása. Ha `false`, akkor az indításkor nem csatlakozik szerver, és az MCP-eszközök nem érhetők el.\n\n### `mcp.servers`\n\n- **Típus**: `McpServerConfigEntry[]`\n- **Alapértelmezett**: `[]`\n- **Leírás**: MCP szerver konfigurációk tömbje.\n\n### Szerver beviteli mezői\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | --------------------------------- | -------------- | ------- | -------------------------------------------------------------- |\n| `name` | `string` | Igen | - | Egyedi szerverazonosító |\n| `transport` | `\"stdio\"` \\| `\"sse\"` \\| `\"http\"` | Igen | - | Szállítás típusa |\n| `command` | `string` | Igen (stdio) | - | Parancs a szerverfolyamat elindításához |\n| `args` | `string[]` | Nem | `[]` | Érvek a parancs mellett |\n| `url` | `string` | Igen (sse/http) | - | Szervervégpont URL |\n| `headers` | `Record<string, string>` | Nem | `{}` | Egyéni HTTP-fejlécek http/sse szállításhoz (pl. hitelesítési tokenek) |\n| `env` | `Record<string, string>` | Nem | `{}` | A kiszolgálónak átadott környezeti változók |\n| `autoConnect` | `boolean` | Nem | `true` | Automatikus csatlakozás indításkor |\n\n> A szerverek aszinkron módon csatlakoznak a háttérben az indítás során anélkül, hogy blokkolnák a promptot. A `/mcp` segítségével interaktívan kezelheti a szervereket, vagy a `/mcp add` segítségével böngészhet a közösségi nyilvántartásban, vagy adhat hozzá egyéni szervereket.\n\n> A teljes MCP-dokumentációért lásd: [docs/mcp.md](mcp.md).\n\n---\n\n## Hooks beállítások\n\nKonfiguráció életciklus-horogokhoz, amelyek shell-parancsokat futtatnak az ügynökeseményeken. A részletekért lásd a [Hooks dokumentációt] (./hooks.md).\n```json\n{\n \"hooks\": {\n \"enabled\": true,\n \"hooks\": [\n {\n \"event\": \"pre-tool\",\n \"command\": \"echo \\\"Running tool: $HOOK_TOOL\\\" >> ~/.autohand/hooks.log\",\n \"description\": \"Log all tool executions\",\n \"enabled\": true\n },\n {\n \"event\": \"file-modified\",\n \"command\": \"./scripts/on-file-change.sh\",\n \"description\": \"Custom file change handler\",\n \"filter\": { \"path\": [\"src/**/*.ts\"] }\n },\n {\n \"event\": \"post-response\",\n \"command\": \"curl -X POST https://api.example.com/webhook -d '{\\\"tokens\\\": $HOOK_TOKENS}'\",\n \"description\": \"Track token usage\",\n \"async\": true\n }\n ]\n }\n}\n```\n### `hooks`\n\n| Mező | Típus | Alapértelmezett | Leírás |\n| --------- | ------- | ------- | ---------------------------------- |\n| `enabled` | logikai | `true` | Az összes hook engedélyezése/letiltása globálisan |\n| `hooks` | tömb | `[]` | Horogdefiníciók tömbje |\n\n### Hook meghatározása\n\n| Mező | Típus | Kötelező | Alapértelmezett | Leírás |\n| ------------- | ------- | -------- | ------- | --------------------------------- |\n| `event` | húr | Igen | - | Bekapcsolandó esemény |\n| `command` | húr | Igen | - | Shell parancs végrehajtásához |\n| `description` | húr | Nem | - | A `/hooks` kijelző leírása |\n| `enabled` | logikai | Nem | `true` | Aktív-e a horog |\n| `timeout` | szám | Nem | `5000` | Időtúllépés ezredmásodpercben |\n| `async` | logikai | Nem | `false` | Futtasson blokkolás nélkül |\n| `filter` | tárgy | Nem | - | Szűrés szerszám vagy útvonal szerint |\n\n### Hook események\n\n| Esemény | Amikor kirúgták |\n| ---------------- | -------------------------------------- |\n| `pre-tool` | Mielőtt bármilyen eszköz végrehajtaná |\n| `post-tool` | A szerszám befejezése után |\n| `file-modified` | A fájl létrehozásakor/módosításakor/törlésekor |\n| `pre-prompt` | Mielőtt elküldené az LLM-nek |\n| `post-response` | Miután az LLM válaszol |\n| `session-error` | Hiba esetén |\n\n### Környezeti változók\n\nAmikor a hook fut, ezek a környezeti változók állnak rendelkezésre:\n\n| Változó | Leírás |\n| ----------------- | ---------------------------- |\n| `HOOK_EVENT` | Esemény neve |\n| `HOOK_WORKSPACE` | Munkaterület gyökérútvonala |\n| `HOOK_TOOL` | Szerszámnév (szerszámesemények) |\n| `HOOK_ARGS` | JSON-kódolt eszköz args |\n| `HOOK_SUCCESS` | igaz/hamis (utóeszköz) |\n| `HOOK_PATH` | Fájl elérési útja (fájlmódosított) |\n| `HOOK_TOKENS` | Felhasznált tokenek (válasz után) |\n\n---\n\n## Chrome-bővítmény beállításai\n\nIrányítsd a Autohand Chrome-bővítmény integrációját. Tekintse meg a teljes útmutatót: [Autohand Chrome-ban](./autohand-in-chrome.md).\n```json\n{\n \"chrome\": {\n \"extensionId\": \"your-extension-id\",\n \"enabledByDefault\": false,\n \"browser\": \"auto\",\n \"userDataDir\": \"/path/to/chrome/user-data\",\n \"profileDirectory\": \"Default\",\n \"installUrl\": \"https://autohand.ai/chrome\"\n }\n}\n```\n| Kulcs | Típus | Alapértelmezett | Leírás |\n| ------------------- | --------- | -------- | -------------------------------------------------------------------------- |\n| `extensionId` | `string` | — | Telepített Chrome-bővítményazonosító a közvetlen átadáshoz |\n| `enabledByDefault` | `boolean` | `false` | A böngészőhíd automatikus indítása a CLI |-vel\n| `browser` | `string` | `\"auto\"` | Előnyben részesített Chromium böngésző: `auto`, `chrome`, `chromium`, `brave`, `edge` |\n| `userDataDir` | `string` | — | Böngésző felhasználói adatok könyvtára a megfelelő profil megcélzásához |\n| `profileDirectory` | `string` | — | Böngészőprofil-könyvtár neve (pl. `\"Default\"`, `\"Profile 1\"`) |\n| `installUrl` | `string` | — | Tartalék URL, ha a bővítményazonosító nincs konfigurálva |\n\n### CLI zászlók\n```bash\nautohand --browser # Start with browser bridge enabled\nautohand --no-browser # Start with browser bridge disabled\n```\n### Slash parancsok\n```\n/browser # Open browser integration panel\n/browser disconnect # Close the browser bridge connection\n```\n---\n\n## Teljes példa\n\n### JSON formátum (`~/.autohand/config.json`)\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"baseUrl\": \"https://openrouter.ai/api/v1\",\n \"model\": \"your-modelcard-id-here\"\n },\n \"ollama\": {\n \"baseUrl\": \"http://localhost:11434\",\n \"model\": \"llama3.2\"\n },\n \"workspace\": {\n \"defaultRoot\": \"~/projects\",\n \"allowDangerousOps\": false\n },\n \"ui\": {\n \"theme\": \"dark\",\n \"autoConfirm\": false,\n \"showCompletionNotification\": true,\n \"showThinking\": true,\n \"terminalBell\": true,\n \"checkForUpdates\": true,\n \"updateCheckInterval\": 24\n },\n \"agent\": {\n \"maxIterations\": 100,\n \"enableRequestQueue\": true,\n \"toolSelectionCache\": true,\n \"idleLogoutEnabled\": true,\n \"idleTimeoutMs\": 3600000,\n \"debug\": false\n },\n \"permissions\": {\n \"mode\": \"interactive\",\n \"whitelist\": [\"run_command:npm *\", \"run_command:bun *\"],\n \"blacklist\": [\"run_command:rm -rf /\"],\n \"rememberSession\": true\n },\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n },\n \"telemetry\": {\n \"enabled\": false,\n \"apiBaseUrl\": \"https://api.autohand.ai\",\n \"batchSize\": 20,\n \"flushIntervalMs\": 60000,\n \"maxQueueSize\": 500,\n \"maxRetries\": 3,\n \"enableSessionSync\": true\n },\n \"externalAgents\": {\n \"enabled\": false,\n \"paths\": []\n },\n \"api\": {\n \"baseUrl\": \"https://api.autohand.ai\"\n },\n \"auth\": {\n \"token\": \"your-auth-token\",\n \"user\": {\n \"id\": \"user-id\",\n \"email\": \"user@example.com\",\n \"name\": \"User Name\"\n }\n },\n \"communitySkills\": {\n \"enabled\": true,\n \"showSuggestionsOnStartup\": true,\n \"autoBackup\": true\n },\n \"share\": {\n \"enabled\": true\n },\n \"sync\": {\n \"enabled\": true,\n \"interval\": 300000,\n \"includeTelemetry\": false,\n \"includeFeedback\": false\n }\n}\n```\n### YAML formátum (`~/.autohand/config.yaml`)\n```yaml\nprovider: openrouter\n\nopenrouter:\n apiKey: sk-or-v1-your-key-here\n baseUrl: https://openrouter.ai/api/v1\n model: your-modelcard-id-here\n\nollama:\n baseUrl: http://localhost:11434\n model: llama3.2\n\nworkspace:\n defaultRoot: ~/projects\n allowDangerousOps: false\n\nui:\n theme: dark\n autoConfirm: false\n showCompletionNotification: true\n showThinking: true\n terminalBell: true\n checkForUpdates: true\n updateCheckInterval: 24\n\nagent:\n maxIterations: 100\n enableRequestQueue: true\n toolSelectionCache: true\n idleLogoutEnabled: true\n idleTimeoutMs: 3600000\n debug: false\n\npermissions:\n mode: interactive\n whitelist:\n - \"run_command:npm *\"\n - \"run_command:bun *\"\n blacklist:\n - \"run_command:rm -rf /\"\n rememberSession: true\n\nnetwork:\n maxRetries: 3\n timeout: 30000\n retryDelay: 1000\n\ntelemetry:\n enabled: false\n apiBaseUrl: https://api.autohand.ai\n batchSize: 20\n flushIntervalMs: 60000\n maxQueueSize: 500\n maxRetries: 3\n enableSessionSync: true\n\nexternalAgents:\n enabled: false\n paths: []\n\napi:\n baseUrl: https://api.autohand.ai\n\nauth:\n token: your-auth-token\n user:\n id: user-id\n email: user@example.com\n name: User Name\n\ncommunitySkills:\n enabled: true\n showSuggestionsOnStartup: true\n autoBackup: true\n\nshare:\n enabled: true\n\nsync:\n enabled: true\n interval: 300000\n includeTelemetry: false\n includeFeedback: false\n```\n### TOML formátum (`~/.autohand/config.toml`)\n```toml\nprovider = \"openrouter\"\n\n[openrouter]\napiKey = \"sk-or-v1-your-key-here\"\nbaseUrl = \"https://openrouter.ai/api/v1\"\nmodel = \"your-modelcard-id-here\"\n\n[ollama]\nbaseUrl = \"http://localhost:11434\"\nmodel = \"llama3.2\"\n\n[workspace]\ndefaultRoot = \"~/projects\"\nallowDangerousOps = false\n\n[ui]\ntheme = \"dark\"\nautoConfirm = false\nshowCompletionNotification = true\nshowThinking = true\nterminalBell = true\ncheckForUpdates = true\nupdateCheckInterval = 24\n\n[ui.customThemes.company.vars]\nbrand = \"#7c3aed\"\nbrandSoft = \"#a78bfa\"\n\n[ui.customThemes.company.colors]\naccent = \"brand\"\nborderAccent = \"brandSoft\"\nmdHeading = \"brand\"\n\n[agent]\nmaxIterations = 100\nenableRequestQueue = true\ntoolSelectionCache = true\nidleLogoutEnabled = true\nidleTimeoutMs = 3600000\ndebug = false\n\n[permissions]\nmode = \"interactive\"\nwhitelist = [\"run_command:npm *\", \"run_command:bun *\"]\nblacklist = [\"run_command:rm -rf /\"]\nrememberSession = true\n```\n---\n\n## Címtárszerkezet\n\nA Autohand az adatokat `~/.autohand/` (vagy `$AUTOHAND_HOME`) kódban tárolja:\n```\n~/.autohand/\n├── config.json # Main configuration\n├── config.toml # Alternative TOML config\n├── config.yaml # Alternative YAML config\n├── device-id # Unique device identifier\n├── error.log # Error log\n├── feedback.log # Feedback submissions\n├── sessions/ # Session history\n├── projects/ # Project knowledge base\n├── memory/ # User-level memory\n├── commands/ # Custom commands\n├── agents/ # Agent definitions\n├── tools/ # Custom meta-tools\n├── feedback/ # Feedback state\n└── telemetry/ # Telemetry data\n ├── queue.json\n └── session-sync-queue.json\n```\n**Projektszintű könyvtár** (a munkaterület gyökérkönyvtárában):\n```\n<project>/.autohand/\n├── settings.local.json # Local project permissions (gitignore this)\n├── memory/ # Project-specific memory\n├── skills/ # Project-specific skills\n└── tools/ # Project-specific meta-tools\n```\n---\n\n## CLI-jelzők (konfig felülbírálása)\n\nEzek a jelzők felülírják a konfigurációs fájl beállításait:\n\n### Alapjelzők\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `-v, --version` | Az aktuális verzió kiadása |\n| `-p, --prompt [text]` | Futtasson egyetlen utasítást parancs módban |\n| `--path <path>` | Munkaterület gyökér felülbírálása |\n| `--config <path>` | Egyéni konfigurációs fájl használata |\n| `--model <model>` | Modell felülírása |\n| `--temperature <n>` | Beállított mintavételi hőmérséklet (0-1) |\n| `--thinking [level]` | Gondolkodási/érvelési mélység beállítása (nincs, normál, kiterjesztett) |\n| `-y, --yes` | Automatikus megerősítési kérések |\n| `--dry-run` | Előnézet végrehajtás nélkül |\n| `-d, --debug` | Részletes hibakeresési kimenet engedélyezése |\n| `--bare` | Minimális explicit mód; beállítja a `AUTOHAND_CODE_SIMPLE=1` értéket és letiltja a perjel parancsokat |\n\n### Engedélyek és biztonság\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--unrestricted` | Nincs jóváhagyási felszólítás |\n| `--restricted` | Veszélyes műveletek megtagadása |\n| `--permissions` | Jelenítse meg az aktuális engedélybeállításokat, és lépjen ki |\n| `--no-idle-logout` | A hitelesített tétlen kijelentkezés letiltása a hosszan futó ügynöki munkamenetekhez |\n| `--yolo [pattern]` | Eszközhívások megfelelő minta automatikus jóváhagyása (pl. `allow:read,write` vagy `deny:delete`) |\n| `--timeout <seconds>` | Időtúllépés másodpercben az automatikus jóváhagyási módhoz |\n\n### Git & Worktree\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--worktree [name]` | Munkamenet futtatása elszigetelt git-munkafán (opcionális munkafa/ág neve) |\n| `--tmux` | Indítás egy dedikált tmux munkamenetben (az `--worktree`-t jelenti; nem használható a `--no-worktree` kóddal) |\n| `--no-worktree` | A git munkafa elkülönítésének letiltása automatikus módban |\n| `-c, --auto-commit` | Változások automatikus véglegesítése a feladatok elvégzése után |\n| `--patch` | Git javítás generálása változtatások alkalmazása nélkül |\n| `--output <file>` | A javítás kimeneti fájlja (a --patch-el együtt használatos) |\n\n### Automatikus mód\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-mode [prompt]` | Engedélyezze az interaktív automatikus módot, vagy indítson önálló hurkot egy soron belüli feladattal |\n| `--max-iterations <n>` | Maximális automatikus módú iterációk (alapértelmezett: 50) |\n| `--completion-promise <text>` | Befejezésjelző szövege (alapértelmezett: \"KÉSZ\") |\n| `--checkpoint-interval <n>` | A Git minden N iterációt végrehajt (alapértelmezett: 5) |\n| `--max-runtime <m>` | Maximális futási idő percekben (alapértelmezett: 120) |\n| `--max-cost <d>` | Maximális API költség dollárban (alapértelmezett: 10) |\n| `--interactive-on-complete` | Az automatikus mód vége után adja át közvetlenül az interaktív módba (csak TTY) |\n\n### Készségek és tanulás\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--auto-skill` | Készségek automatikus generálása projektelemzés alapján (lásd még: `/learn` az interaktív tanácsadóhoz) |\n| `--learn` | Futtassa a `/learn` készségtanácsadót nem interaktív módon (a javasolt készségek elemzése és telepítése) |\n| `--learn-update` | A projekt újraelemzése és az LLM által generált elavult készségek nem interaktív módon történő regenerálása |\n| `--skill-install [name]` | Telepítsen egy közösségi képességet (megnyitja a böngészőt, ha nincs megadva név) |\n| `--project` | A készség telepítése projektszintre (a --skill-install funkcióval) |\n\n### Hitelesítés és fiók\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--login` | Jelentkezzen be Autohand-fiókjába |\n| `--logout` | Jelentkezzen ki Autohand-fiókjából |\n| `--sync-settings` | A beállítások szinkronizálásának engedélyezése/letiltása (alapértelmezett: igaz a bejelentkezett felhasználók számára) |\n\n### Beállítás és információ\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--setup` | Futtassa a telepítővarázslót a Autohand |\n| `--about` | Információk megjelenítése a Autohand-ról (verzió, linkek, hozzájárulási információk) |\n| `--feedback` | Visszajelzés küldése a Autohand csapatának |\n| `--settings` | A Autohand beállításainak konfigurálása (ugyanaz, mint a `/settings` interaktív módban) |\n\n### Munkaterület és könyvtárak\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--add-dir <path...>` | További könyvtárak hozzáadása a munkaterület hatóköréhez (többször is használható) |\n\n### Futtatási módok\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--mode <mode>` | Futtatási mód: interaktív (alapértelmezett), rpc vagy acp |\n| `--acp` | A --mode acp rövidítése (Agent Client Protocol over stdio) |\n| `--teammate-mode <mode>` | Csapat megjelenítési mód: automatikus, folyamatban lévő vagy tmux |\n\n### UI és nyelv\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--display-language <locale>` | Megjelenítési nyelv beállítása (pl. en, id, zh-cn, fr, de, ja) |\n| `--search-engine <provider>` | Internetes keresőszolgáltató beállítása (google, brave, duckduckgo, párhuzamos) |\n| `--cc, --context-compact` | Környezettömörítés engedélyezése (alapértelmezett: be) |\n| `--no-cc, --no-context-compact` | Kontextustömörítés letiltása |\n\n### Böngészőintegráció\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--browser` | A böngészőintegráció engedélyezése (ugyanaz, mint `/browser`) |\n| `--no-browser` | A böngészőintegráció letiltása |\n\n### Rendszerprompt\n\n| zászló | Leírás |\n| ------------------------------ | ---------------------------------------------------------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-sys-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt <value>` | Cserélje ki a teljes rendszerpromptot (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--system-prompt-file <path>` | Cserélje le a teljes rendszerprompt a fájltartalommal |\n| `--append-system-prompt <value>` | Hozzáfűzés a rendszerprompthoz (soron belüli karakterlánc vagy fájl elérési útja) |\n| `--append-system-prompt-file <path>` | Fájl tartalmának hozzáfűzése a rendszerprompthoz |\n| `--mcp-config <path>` | Töltsön be egy explicit MCP konfigurációs fájlt |\n| `--agents <json\\|path>` | Explicit beépített ügynökök JSON vagy explicit ügynökök könyvtárának betöltése |\n| `--plugin-dir <path>` | Töltsön be egy explicit plugin/meta-tool könyvtárat |\n\n### Kísérletváltási parancsok\n\n| Parancs | Leírás |\n| -------------------------------------- | ------------------------------------------------- |\n| `autohand experiments list` | Sorolja fel a helyi és távoli funkciók azonosítóit, a forrást, az életciklus szakaszt és az állapotot |\n| `autohand experiments status <feature>` | Mutasson egy szolgáltatáskapcsolót, konfigurációs elérési utat vagy távoli metaadatokat és állapotot |\n| `autohand experiments refresh` | Távoli funkciójelzők letöltése a Autohand API-ból |\n| `autohand experiments enable <feature>` | Konfigurációval támogatott szolgáltatáskapcsoló engedélyezése |\n| `autohand experiments disable <feature>` | A konfigurációval támogatott szolgáltatáskapcsoló letiltása |\n\nA távoli funkciójelzők lekérése innen: `/v1/feature-flags/evaluate`, gyorsítótár a `~/.autohand/feature-flags.json` címen történik, és az API által biztosított TTL lejárta után frissül. A `features.environment` segítségével válassza ki a távoli jelzőkörnyezetet, a `features.remoteOverrides` segítségével pedig a felhasználó által felülbírálható távoli jelzők helyi letiltásához.\n\nA `usage_v2` egy kísérleti funkciókapcsoló a `/usage` irányítópulthoz és a továbbfejlesztett `/status` Használat laphoz. Engedélyezze a következővel: `autohand experiments enable usage_v2`.\n\nA `token_usage_status` egy kísérleti funkciókapcsoló (konfigurációs útvonal `features.tokenUsageStatus`, alapértelmezés szerint kikapcsolva), amely a valós idejű tokenhasználatot mutatja a működő állapotsorban – kumulatív tokenek felfelé (`↑`) és lefelé (`↓`) plusz g kontextusban, cc. `↑15.7k ↓3.2k · context: 6.0% (15.7k/262.1k)`. A kontextusablak modellenként van feloldva az összes szolgáltatónál. Engedélyezze a következővel: `autohand experiments enable token_usage_status`.\n\n---\n\n## Slash parancsok\n\nAz Autohand perjel parancsok gazdag készletét kínálja interaktív használatra. A javaslatok megtekintéséhez írja be a `/` kódot a REPL-be.\n\n### Munkamenet-kezelés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/quit` | Kilépés az aktuális munkamenetből |\n| `/exit` | Kilépés az aktuális munkamenetből |\n| `/new` | Új beszélgetés indítása (memóriakivonattal) |\n| `/clear` | Tiszta beszélgetés automatikus memóriakivonással |\n| `/session` | Az aktuális munkamenet részleteinek megjelenítése |\n| `/sessions` | Korábbi munkamenetek listája |\n| `/resume` | Előző munkamenet folytatása |\n| `/history` | A munkamenet-előzmények böngészése oldalszámozással |\n| `/undo` | Git módosítások és utolsó forduló visszaállítása |\n| `/export` | Munkamenet exportálása markdown/JSON/HTML |\n| `/share` | Aktuális munkamenet megosztása |\n| `/status` | Munkamenet állapotának megjelenítése |\n| `/usage` | Modell, szolgáltató, kontextus és használati korlátok megjelenítése |\n\n### Modell és szolgáltató\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/model` | LLM-modell váltása vagy konfigurálása |\n| `/cc` | Kézi környezet tömörítése |\n\n### Projektbeállítás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/init` | Hozzon létre `AGENTS.md` fájlt az aktuális könyvtárban |\n| `/setup` | Futtassa a telepítővarázslót a Autohand | konfigurálásához\n| `/add-dir` | Könyvtárak hozzáadása a munkaterület hatóköréhez |\n\n### Ügynökök és csapatok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/agents` | Az elérhető alügynökök listája |\n| `/agents-new` | Hozzon létre egy új ügynököt a varázslón keresztül |\n| `/squad` | Nyissa meg/kezelje az önálló Autohand Squad futtatókörnyezetet |\n| `/team` | Csapat irányítása párhuzamos munkához |\n| `/tasks` | Feladatok kezelése csapatban |\n| `/message` | Üzenet küldése csapattársnak |\n\n### Készségek\n\n| Parancs | Leírás |\n| ----------------- | --------------------------------------------------- |\n| `/skills` | Készségek listája és kezelése |\n| `/skills-new` | Új készség létrehozása |\n| `/learn` | Tanulja meg és telepítse az ajánlott készségeket |\n\n### Memória és beállítások\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/memory` | Tárolt emlékek megtekintése és kezelése |\n| `/settings` | A Autohand beállításainak konfigurálása |\n| `/statusline` | A szerző állapotsor mezőinek konfigurálása |\n| `/experiments` | Kísérleti jellemzők kapcsolóinak váltása |\n| `/sync` | Beállítások szinkronizálása eszközök között |\n| `/import` | Importálhat munkameneteket, beállításokat, MCP-t, memóriát, készségeket és hook-okat a támogatott ügynökökről |\n\n### Engedélyek és akasztók\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/permissions`| Szerszámengedélyek kezelése |\n| `/hooks` | Életciklus-horogok kezelése |\n\n### Hitelesítés\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/login` | Hitelesítés a Autohand API-val |\n| `/logout` | Kijelentkezés a Autohand fiókból |\n\n### Eszközök és segédprogramok\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/search` | Keresés az interneten |\n| `/formatters` | Az elérhető kódformázók listája |\n| `/lint` | Sorolja fel a rendelkezésre álló kódsorokat |\n| `/completion` | Shell befejező szkriptek generálása |\n| `/plan` | Megvalósítási terv létrehozása |\n| `/review` | Kódellenőrzés végrehajtása |\n| `/pr-review` | Lehívási kérelem áttekintése |\n\n### IDE integráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/ide` | A futó IDE észlelése és csatlakozása |\n\n### MCP (Model Context Protocol)\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/mcp` | Interaktív MCP-kiszolgálókezelő |\n\n### Automatizálás\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/automode` | Indítsa el az autonóm kódolási módot |\n| `/repeat` | Ismétlődő munkák ütemezése |\n| `/yolo` | Yolo mód váltása (automatikus jóváhagyási eszközök) |\n\n### Böngészőintegráció\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/browser` | A Chrome böngésző integrációjának engedélyezése |\n\n### UI és kijelző\n\n| Parancs | Leírás |\n| ------------- | ------------------------------------------------------ |\n| `/help` | Az elérhető perjel parancsok és tippek megjelenítése |\n| `/about` | Információk megjelenítése a következőről: Autohand |\n| `/theme` | Színtéma módosítása |\n| `/language` | Kijelző nyelvének módosítása |\n| `/feedback` | Visszajelzés küldése a Autohand csapatának |\n\n---\n\n## Rendszerprompt testreszabás\nAutohand lehetővé teszi az AI-ügynök által használt rendszerprompt testreszabását. Ez speciális munkafolyamatok, egyedi utasítások vagy más rendszerekkel való integráció esetén hasznos.\n\n### CLI zászlók\n\n| zászló | Leírás |\n| ------------------------------ | -------------------------------------------- |\n| `--sys-prompt <value>` | Cserélje ki a teljes rendszerprompt |\n| `--append-sys-prompt <value>` | Tartalom hozzáfűzése az alapértelmezett rendszerprompthoz |\n\nMindkét zászló elfogadja a következőket:\n\n- **Inline karakterlánc**: Közvetlen szövegtartalom\n- **Fájl elérési útja**: A promptot tartalmazó fájl elérési útja (automatikusan észlelve)\n\n### Fájlútvonal észlelése\n\nEgy érték fájlútvonalként kezelendő, ha:\n\n- A következővel kezdődik: `./`, `../`, `/` vagy `~/`\n- Windows meghajtóbetűjellel kezdődik (pl. `C:\\`)\n- A következővel végződik: `.txt`, `.md` vagy `.prompt`\n- Útleválasztókat tartalmaz szóközök nélkül\n\nEllenkező esetben a rendszer soron belüli karakterláncként kezeli.\n\n### `--sys-prompt` (Teljes csere)\n\nHa rendelkezésre áll, ez **teljesen lecseréli** az alapértelmezett rendszerpromptot. Az ügynök NEM tölti be:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n```bash\n# Inline string\nautohand --sys-prompt \"You are a Python expert. Be concise.\" --prompt \"Write hello world\"\n\n# From file\nautohand --sys-prompt ./custom-prompt.txt --prompt \"Explain this code\"\n\n# Home directory\nautohand --sys-prompt ~/.autohand/prompts/python-expert.md --prompt \"Debug this function\"\n```\n**Példa egyéni prompt fájlra (`custom-prompt.txt`):**\n```\nYou are a specialized Python debugging assistant.\n\nRules:\n- Focus only on Python code\n- Always explain the root cause\n- Suggest fixes with code examples\n- Be concise and direct\n```\n### `--append-sys-prompt` (Hozzáadás az alapértelmezetthez)\n\nHa rendelkezésre áll, ez **hozzáfűzi** a tartalmat a teljes alapértelmezett rendszerprompthoz. Az ügynök továbbra is betölti:\n\n- Alapértelmezett Autohand utasítások\n- AGENTS.md projekt utasítások\n- Felhasználói/projekt memóriák\n- Aktív készségek\n\nA csatolt tartalom a legvégére kerül hozzáadásra.\n```bash\n# Inline string\nautohand --append-sys-prompt \"Always use TypeScript instead of JavaScript\" --prompt \"Create a function\"\n\n# From file\nautohand --append-sys-prompt ./team-guidelines.md --prompt \"Add error handling\"\n```\n**Példa hozzáfűző fájl (`team-guidelines.md`):**\n```\n## Team Guidelines\n\n- Use 2-space indentation\n- Prefer functional patterns\n- Add JSDoc comments to public APIs\n- Run tests before committing\n```\n### Elsőbbség\n\nHa mindkét zászló rendelkezésre áll:\n\n1. A `--sys-prompt` teljes elsőbbséget élvez\n2. A `--append-sys-prompt` figyelmen kívül hagyva\n```bash\n# --append-sys-prompt is ignored in this case\nautohand --sys-prompt \"Custom only\" --append-sys-prompt \"This is ignored\"\n```\n### Használati esetek\n\n| Használati eset | Ajánlott zászló |\n| ---------------------------------- | ---------------------- |\n| Egyedi ügynök személye | `--sys-prompt` |\n| Minimális utasítások | `--sys-prompt` |\n| Csapatirányelvek hozzáadása | `--append-sys-prompt` |\n| Projektkonvenciók hozzáadása | `--append-sys-prompt` |\n| Integráció külső rendszerekkel | `--sys-prompt` |\n| Speciális hibakeresés | `--sys-prompt` |\n\n### Hibakezelés\n\n| Forgatókönyv | Viselkedés |\n| ------------------ | ------------------------- |\n| Üres érték | Hiba |\n| A fájl nem található | Soron belüli karakterláncként kezelve |\n| Üres fájl | Hiba |\n| Fájl > 1 MB | Hiba |\n| Engedély megtagadva | Hiba |\n| Címtár elérési útja | Hiba |\n\n### Példák\n```bash\n# Python expert mode\nautohand --sys-prompt \"You are a Python expert. Only write Python code.\" \\\n --prompt \"Create a web scraper\"\n\n# TypeScript enforcement\nautohand --append-sys-prompt \"Always use TypeScript, never JavaScript.\" \\\n --prompt \"Create a REST API\"\n\n# CI/CD integration (non-interactive)\nautohand --sys-prompt ./ci-prompt.txt \\\n --prompt \"Fix the failing tests\" \\\n --unrestricted \\\n --patch\n\n# Custom team workflow\nautohand --append-sys-prompt ~/.company/coding-standards.md \\\n --prompt \"Refactor this module\"\n```\n---\n\n## Több könyvtár támogatása\n\nAz Autohand a fő munkaterületen kívül több könyvtárral is működhet. Ez akkor hasznos, ha a projektben különböző könyvtárakban vannak függőségek, megosztott könyvtárak vagy kapcsolódó projektek.\n\n### CLI zászló\n\nA `--add-dir` használatával további könyvtárakat adhat hozzá (többször is használható):\n```bash\n# Add a single additional directory\nautohand --add-dir /path/to/shared-lib\n\n# Add multiple directories\nautohand --add-dir /path/to/lib1 --add-dir /path/to/lib2\n\n# With unrestricted mode (auto-approve writes to all directories)\nautohand --add-dir /path/to/shared-lib --unrestricted\n```\n### Interaktív parancs\n\n`/add-dir` használata interaktív munkamenet során:\n```\n/add-dir # Show current directories\n/add-dir /path/to/dir # Add a new directory\n```\n### Biztonsági korlátozások\n\nA következő könyvtárak nem adhatók hozzá:\n\n- Saját könyvtár (`~` vagy `$HOME`)\n- Gyökérkönyvtár (`/`)\n- Rendszerkönyvtárak (`/etc`, `/var`, `/usr`, `/bin`, `/sbin`)\n- Windows rendszerkönyvtárak (`C:\\Windows`, `C:\\Program Files`)\n- Windows felhasználói könyvtárak (`C:\\Users\\username`)\n- WSL Windows-csatlakozások (`/mnt/c`, `/mnt/c/Windows`)\n"}}, "docs/providers.md": {"59468034019715857d19e12cdab687a4f235b56b": {"t": 1785746548.9477034, "n": 22606, "h": "7d4a3e8c2fbc3a44", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. The CLI checks the validated public catalog every four hours and retains the bundled data plus its last valid download for offline fallback. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the downloaded and bundled catalogs. See [Model catalog updates](model-catalog.md) for manual refresh and publication details.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **Autohand AI** | Cloud/Local | Account, API key, or local | Low | Fantail ultra-fast coding, Moa thinking, or local MLX coding models |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### Autohand AI\n\nAutohand AI is the preferred first-party provider. Use `autohandai` with `plan: \"cloud\"` for Autohand-hosted Fantail and Moa models at `https://api.autohand.ai/v1`, or `plan: \"local\"` for Apple Silicon MLX local inference.\n\nCloud mode uses the OpenAI-compatible `/chat/completions` API and defaults to temperature `0.1`.\n\n| Model | Notes |\n| ----- | ----- |\n| `fantail` | Ultra-fast coding model, image input, tool calls, 16k input context |\n| `moa` | Thinking model, image input, medium/high/xhigh effort, 1M input context |\n\nCLI Cloud can use your logged-in Autohand account automatically. SDK Cloud usage must pass an Autohand AI API key (`AUTOHAND_AI_API_KEY`) so SDK workloads are tied to Autohand's API-key systems instead of silently borrowing CLI account auth.\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"account\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"moa\",\n \"contextWindow\": 1000000,\n \"reasoningEffort\": \"high\"\n }\n}\n```\n\nFor SDK/client-driven Cloud calls:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"api-key\",\n \"apiKey\": \"ah-...\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"fantail\"\n }\n}\n```\n\nLocal mode requires macOS on Apple Silicon. When selected from `/model` or setup, Autohand checks for `mlx_lm.server` and `llmfit`, installs missing pieces, asks `llmfit` for coding-focused MLX models this Mac can run, downloads the selected model, starts the MLX OpenAI-compatible server, and persists the server command:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"local\",\n \"baseUrl\": \"http://127.0.0.1:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Qwen2.5-Coder-7B-Instruct-4bit\",\n \"contextWindow\": 256000,\n \"serverCommand\": \"mlx_lm.server --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit --port 8080\"\n }\n}\n```\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "e55e26e58e947c7b5d89f1f1b19fd306cc46e454": {"t": 1785764168.1733057, "n": 22606, "h": "7d4a3e8c2fbc3a44", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. The CLI checks the validated public catalog every four hours and retains the bundled data plus its last valid download for offline fallback. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the downloaded and bundled catalogs. See [Model catalog updates](model-catalog.md) for manual refresh and publication details.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **Autohand AI** | Cloud/Local | Account, API key, or local | Low | Fantail ultra-fast coding, Moa thinking, or local MLX coding models |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### Autohand AI\n\nAutohand AI is the preferred first-party provider. Use `autohandai` with `plan: \"cloud\"` for Autohand-hosted Fantail and Moa models at `https://api.autohand.ai/v1`, or `plan: \"local\"` for Apple Silicon MLX local inference.\n\nCloud mode uses the OpenAI-compatible `/chat/completions` API and defaults to temperature `0.1`.\n\n| Model | Notes |\n| ----- | ----- |\n| `fantail` | Ultra-fast coding model, image input, tool calls, 16k input context |\n| `moa` | Thinking model, image input, medium/high/xhigh effort, 1M input context |\n\nCLI Cloud can use your logged-in Autohand account automatically. SDK Cloud usage must pass an Autohand AI API key (`AUTOHAND_AI_API_KEY`) so SDK workloads are tied to Autohand's API-key systems instead of silently borrowing CLI account auth.\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"account\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"moa\",\n \"contextWindow\": 1000000,\n \"reasoningEffort\": \"high\"\n }\n}\n```\n\nFor SDK/client-driven Cloud calls:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"api-key\",\n \"apiKey\": \"ah-...\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"fantail\"\n }\n}\n```\n\nLocal mode requires macOS on Apple Silicon. When selected from `/model` or setup, Autohand checks for `mlx_lm.server` and `llmfit`, installs missing pieces, asks `llmfit` for coding-focused MLX models this Mac can run, downloads the selected model, starts the MLX OpenAI-compatible server, and persists the server command:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"local\",\n \"baseUrl\": \"http://127.0.0.1:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Qwen2.5-Coder-7B-Instruct-4bit\",\n \"contextWindow\": 256000,\n \"serverCommand\": \"mlx_lm.server --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit --port 8080\"\n }\n}\n```\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "13196f43e2292b4ac499588750b104e9f36ee22f": {"t": 1785764169.6545675, "n": 22607, "h": "316d3e711cf96f00", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. The CLI checks the validated public catalog every four hours and retains the bundled data plus its last valid download for offline fallback. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the downloaded and bundled catalogs. See [Model catalog updates](model-catalog.md) for manual refresh and publication details.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **Autohand AI** | Cloud/Local | Account, API key, or local | Low | Fantail ultra-fast coding, Moa thinking, or local MLX coding models |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### Autohand AI\n\nAutohand AI is the preferred first-party provider. Use `autohandai` with `plan: \"cloud\"` for Autohand-hosted Fantail and Moa models at `https://api.autohand.ai/v1`, or `plan: \"local\"` for Apple Silicon MLX local inference.\n\nCloud mode uses the OpenAI-compatible `/chat/completions` API and defaults to temperature `0.1`.\n\n| Model | Notes |\n| ----- | ----- |\n| `fantail` | Ultra-fast coding model, image input, tool calls, 16k input context |\n| `moa` | Thinking model, image input, medium/high/xhigh effort, 256k input context |\n\nCLI Cloud can use your logged-in Autohand account automatically. SDK Cloud usage must pass an Autohand AI API key (`AUTOHAND_AI_API_KEY`) so SDK workloads are tied to Autohand's API-key systems instead of silently borrowing CLI account auth.\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"account\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"moa\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n}\n```\n\nFor SDK/client-driven Cloud calls:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"api-key\",\n \"apiKey\": \"ah-...\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"fantail\"\n }\n}\n```\n\nLocal mode requires macOS on Apple Silicon. When selected from `/model` or setup, Autohand checks for `mlx_lm.server` and `llmfit`, installs missing pieces, asks `llmfit` for coding-focused MLX models this Mac can run, downloads the selected model, starts the MLX OpenAI-compatible server, and persists the server command:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"local\",\n \"baseUrl\": \"http://127.0.0.1:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Qwen2.5-Coder-7B-Instruct-4bit\",\n \"contextWindow\": 256000,\n \"serverCommand\": \"mlx_lm.server --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit --port 8080\"\n }\n}\n```\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "991d7ed6d0e61cef7e4a6b98adb60434ed5c21df": {"t": 1785764171.1161494, "n": 20535, "h": "68418cfab2d47983", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. The CLI checks the validated public catalog every four hours and retains the bundled data plus its last valid download for offline fallback. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the downloaded and bundled catalogs. See [Model catalog updates](model-catalog.md) for manual refresh and publication details.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "4837b0f253efc5aa2548ed86cf668348ba2d8d6c": {"t": 1785764172.4690206, "n": 20288, "h": "263e19d6abbde93f", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the bundled catalog.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "6b52e37284b34d08ef5c5aa020fe51c73b0da91a": {"t": 1785764174.9607346, "n": 19863, "h": "4fde5aefef8c3034", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "6ee4b4e4046728f4dee36acb600932a231c82f01": {"t": 1785764176.4543304, "n": 19556, "h": "ec8090ffded1e909", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "fdfa9d68a5c8a8d8b05f8431aeb7ed48ffd3b85b": {"t": 1785764177.8305154, "n": 16371, "h": "0368d0e7c5115cba", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "b01f203031c7ca3055d2ee0e385c35858e059ecf": {"t": 1785764179.7749052, "n": 15634, "h": "6b6cc1c6f8152832", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-4.5 series models, CogView image generation |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-4.5\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------ |\n| `glm-4.5` | Flagship GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-4.5\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "09e745111d32d821fcbfd8b3f08bf87265037ea0": {"t": 1785764181.2294388, "n": 12669, "h": "c917ec5fb630554a", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [Z.ai](#zai)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-4.5 series models, CogView image generation |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-4.5\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------ |\n| `glm-4.5` | Flagship GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-4.5\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "889b9e8863b22d6c704f51beef5fc47ad00b7b2d": {"t": 1785764182.6958187, "n": 11372, "h": "a9f8f1b6ec22b6ed", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [Z.ai](#zai)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-4o, o1 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-4.5 series models, CogView image generation |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-3-opus` | Most capable Claude model |\n| `openai/gpt-4o` | OpenAI's flagship model |\n| `google/gemini-pro-1.5` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-3-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-4o, o1, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-4o` | Flagship multimodal model |\n| `gpt-4o-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-4o` | OpenAI |\n| `gpt-4o-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-3-5-sonnet-20241022` | Anthropic |\n| `claude-3-5-haiku-20241022` | Anthropic |\n| `gemini-1.5-pro` | Google |\n| `gemini-1.5-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-4o\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-4.5\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------ |\n| `glm-4.5` | Flagship GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-4.5\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-4o # Switch to GPT-4o\n/model anthropic/claude-3-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-4o\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-3-5-sonnet-20241022\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "64dd43837c9cada52795c3b5718f339dc8786509": {"t": 1785764184.0983348, "n": 9664, "h": "51b2b6671d2be175", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"anthropic/claude-sonnet-4\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n|----------|------|------|---------|----------|\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-4o, o1 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"anthropic/claude-sonnet-4\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `anthropic/claude-sonnet-4` | Best balance of speed and capability |\n| `anthropic/claude-3-opus` | Most capable Claude model |\n| `openai/gpt-4o` | OpenAI's flagship model |\n| `google/gemini-pro-1.5` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n```\n/model anthropic/claude-3-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-4o, o1, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-4o` | Flagship multimodal model |\n| `gpt-4o-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-4o` | OpenAI |\n| `gpt-4o-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-3-5-sonnet-20241022` | Anthropic |\n| `claude-3-5-haiku-20241022` | Anthropic |\n| `gemini-1.5-pro` | Google |\n| `gemini-1.5-flash` | Google |\n\n**Benefits:**\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-4o\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-4o # Switch to GPT-4o\n/model anthropic/claude-3-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-4o\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-3-5-sonnet-20241022\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "7a28e6636011201d0dab072cb01678e66de52627": {"t": 1785764185.5838013, "n": 9243, "h": "07b860f0aada5c82", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"anthropic/claude-sonnet-4\"\n }\n}\nEOF\n```\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n|----------|------|------|---------|----------|\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-4o, o1 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"anthropic/claude-sonnet-4\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `anthropic/claude-sonnet-4` | Best balance of speed and capability |\n| `anthropic/claude-3-opus` | Most capable Claude model |\n| `openai/gpt-4o` | OpenAI's flagship model |\n| `google/gemini-pro-1.5` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n```\n/model anthropic/claude-3-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-4o, o1, and other OpenAI models.\n\n**Setup:**\n\n1. Get your API key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-4o` | Flagship multimodal model |\n| `gpt-4o-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-4o\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-4o` | OpenAI |\n| `gpt-4o-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-3-5-sonnet-20241022` | Anthropic |\n| `claude-3-5-haiku-20241022` | Anthropic |\n| `gemini-1.5-pro` | Google |\n| `gemini-1.5-flash` | Google |\n\n**Benefits:**\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-4o\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-4o # Switch to GPT-4o\n/model anthropic/claude-3-opus # Switch to Claude Opus\n```\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-4o\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-3-5-sonnet-20241022\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "80d1dd2f1137d50a107970387f4512a5f6371e0b": {"t": 1786067818.907977, "n": 22606, "h": "7d4a3e8c2fbc3a44", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. The CLI checks the validated public catalog every four hours and retains the bundled data plus its last valid download for offline fallback. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the downloaded and bundled catalogs. See [Model catalog updates](model-catalog.md) for manual refresh and publication details.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **Autohand AI** | Cloud/Local | Account, API key, or local | Low | Fantail ultra-fast coding, Moa thinking, or local MLX coding models |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### Autohand AI\n\nAutohand AI is the preferred first-party provider. Use `autohandai` with `plan: \"cloud\"` for Autohand-hosted Fantail and Moa models at `https://api.autohand.ai/v1`, or `plan: \"local\"` for Apple Silicon MLX local inference.\n\nCloud mode uses the OpenAI-compatible `/chat/completions` API and defaults to temperature `0.1`.\n\n| Model | Notes |\n| ----- | ----- |\n| `fantail` | Ultra-fast coding model, image input, tool calls, 16k input context |\n| `moa` | Thinking model, image input, medium/high/xhigh effort, 1M input context |\n\nCLI Cloud can use your logged-in Autohand account automatically. SDK Cloud usage must pass an Autohand AI API key (`AUTOHAND_AI_API_KEY`) so SDK workloads are tied to Autohand's API-key systems instead of silently borrowing CLI account auth.\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"account\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"moa\",\n \"contextWindow\": 1000000,\n \"reasoningEffort\": \"high\"\n }\n}\n```\n\nFor SDK/client-driven Cloud calls:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"api-key\",\n \"apiKey\": \"ah-...\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"fantail\"\n }\n}\n```\n\nLocal mode requires macOS on Apple Silicon. When selected from `/model` or setup, Autohand checks for `mlx_lm.server` and `llmfit`, installs missing pieces, asks `llmfit` for coding-focused MLX models this Mac can run, downloads the selected model, starts the MLX OpenAI-compatible server, and persists the server command:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"local\",\n \"baseUrl\": \"http://127.0.0.1:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Qwen2.5-Coder-7B-Instruct-4bit\",\n \"contextWindow\": 256000,\n \"serverCommand\": \"mlx_lm.server --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit --port 8080\"\n }\n}\n```\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}, "b98c38d7d017a0c7c9422a24db09481cef31b4f4": {"t": 1786068472.4602468, "n": 22606, "h": "7d4a3e8c2fbc3a44", "c": "# Autohand LLM Providers Guide\n\nAutohand supports multiple LLM providers, giving you flexibility to choose between cloud-hosted APIs and local inference options. This guide covers setup, configuration, and best practices for each provider.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Provider Comparison](#provider-comparison)\n- [Cloud Providers](#cloud-providers)\n - [OpenRouter](#openrouter)\n - [OpenAI](#openai)\n - [LLM Gateway](#llm-gateway)\n - [DeepSeek](#deepseek)\n - [AWS Bedrock](#aws-bedrock)\n - [Z.ai](#zai)\n - [Sakana.AI](#sakanaai)\n - [Custom OpenAI-Compatible Providers](#custom-openai-compatible-providers)\n- [Local Providers](#local-providers)\n - [Ollama](#ollama)\n - [llama.cpp](#llamacpp)\n - [MLX (Apple Silicon)](#mlx-apple-silicon)\n- [Switching Providers](#switching-providers)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Quick Start\n\nThe fastest way to get started is with OpenRouter (the default provider):\n\n```bash\n# Run setup wizard\nautohand --setup\n\n# Or manually configure\ncat > ~/.autohand/config.json << 'EOF'\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\nEOF\n```\n\nBundled provider model choices live in `src/providers/models.json` and packaged builds include the same catalog at `dist/providers/models.json`. The CLI checks the validated public catalog every four hours and retains the bundled data plus its last valid download for offline fallback. To add a newly released model without changing TypeScript, update the relevant provider entry in that JSON file. For local-only overrides, use `~/.autohand/models.json` or set `AUTOHAND_MODELS_CATALOG=/path/to/models.json`; those entries are merged ahead of the downloaded and bundled catalogs. See [Model catalog updates](model-catalog.md) for manual refresh and publication details.\n\n---\n\n## Provider Comparison\n\n| Provider | Type | Cost | Latency | Best For |\n| --------------- | ----- | ----------- | ------- | ----------------------------------------------- |\n| **Autohand AI** | Cloud/Local | Account, API key, or local | Low | Fantail ultra-fast coding, Moa thinking, or local MLX coding models |\n| **OpenRouter** | Cloud | Pay-per-use | Low | Access to 100+ models, recommended default |\n| **OpenAI** | Cloud | Pay-per-use | Low | Direct OpenAI access, GPT-5, o3 models |\n| **LLM Gateway** | Cloud | Pay-per-use | Low | Unified API for multiple providers |\n| **DeepSeek** | Cloud | Pay-per-use | Low | DeepSeek V4 Flash and V4 Pro models |\n| **AWS Bedrock** | Cloud | Pay-per-use | Low | Enterprise AWS credential-chain and Bedrock APIs |\n| **Z.ai** | Cloud | Pay-per-use | Low | GLM-5.2/5.1 long-context models, CogView image generation |\n| **Sakana.AI** | Cloud | Pay-per-use | Medium | Sakana Fugu multi-agent coding and reasoning models |\n| **Custom** | Cloud/local | Varies | Varies | Any OpenAI-compatible `/chat/completions` endpoint |\n| **Ollama** | Local | Free | Medium | Privacy-focused, offline work |\n| **llama.cpp** | Local | Free | Low | Performance-focused local inference |\n| **MLX** | Local | Free | Low | Apple Silicon optimized |\n\n---\n\n## Cloud Providers\n\n### Autohand AI\n\nAutohand AI is the preferred first-party provider. Use `autohandai` with `plan: \"cloud\"` for Autohand-hosted Fantail and Moa models at `https://api.autohand.ai/v1`, or `plan: \"local\"` for Apple Silicon MLX local inference.\n\nCloud mode uses the OpenAI-compatible `/chat/completions` API and defaults to temperature `0.1`.\n\n| Model | Notes |\n| ----- | ----- |\n| `fantail` | Ultra-fast coding model, image input, tool calls, 16k input context |\n| `moa` | Thinking model, image input, medium/high/xhigh effort, 1M input context |\n\nCLI Cloud can use your logged-in Autohand account automatically. SDK Cloud usage must pass an Autohand AI API key (`AUTOHAND_AI_API_KEY`) so SDK workloads are tied to Autohand's API-key systems instead of silently borrowing CLI account auth.\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"account\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"moa\",\n \"contextWindow\": 1000000,\n \"reasoningEffort\": \"high\"\n }\n}\n```\n\nFor SDK/client-driven Cloud calls:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"cloud\",\n \"authMode\": \"api-key\",\n \"apiKey\": \"ah-...\",\n \"baseUrl\": \"https://api.autohand.ai/v1\",\n \"model\": \"fantail\"\n }\n}\n```\n\nLocal mode requires macOS on Apple Silicon. When selected from `/model` or setup, Autohand checks for `mlx_lm.server` and `llmfit`, installs missing pieces, asks `llmfit` for coding-focused MLX models this Mac can run, downloads the selected model, starts the MLX OpenAI-compatible server, and persists the server command:\n\n```json\n{\n \"provider\": \"autohandai\",\n \"autohandai\": {\n \"plan\": \"local\",\n \"baseUrl\": \"http://127.0.0.1:8080\",\n \"port\": 8080,\n \"model\": \"mlx-community/Qwen2.5-Coder-7B-Instruct-4bit\",\n \"contextWindow\": 256000,\n \"serverCommand\": \"mlx_lm.server --model mlx-community/Qwen2.5-Coder-7B-Instruct-4bit --port 8080\"\n }\n}\n```\n\n### OpenRouter\n\nOpenRouter provides a unified API to access 100+ models from various providers (Anthropic via Azure Foundry Models, OpenAI, Google, Meta, etc.) with a single API key.\n\n**Setup:**\n\n1. Get your API key at [openrouter.ai/keys](https://openrouter.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"openrouter\",\n \"openrouter\": {\n \"apiKey\": \"sk-or-v1-your-key-here\",\n \"model\": \"your-modelcard-id-here\"\n }\n}\n```\n\n**Popular Models:**\n| Model | Description |\n|-------|-------------|\n| `your-modelcard-id-here` | Best balance of speed and capability |\n| `anthropic/claude-5-opus` | Most capable Claude model |\n| `openai/gpt-5` | OpenAI's flagship model |\n| `google/gemini-3.0-pro` | Google's latest model |\n| `meta-llama/llama-3.1-70b-instruct` | Open-source alternative |\n\n**Switching Models:**\n\n```\n/model anthropic/claude-5-opus\n```\n\n---\n\n### OpenAI\n\nDirect access to OpenAI's API for GPT-5, o3, and other OpenAI models.\n\n**Setup:**\n\n1. Choose one of these authentication methods:\n2. API key: get your key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. ChatGPT subscription: sign in through Autohand's built-in OpenAI device login flow when prompted\n4. Configure Autohand:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"api-key\",\n \"apiKey\": \"sk-your-openai-key\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\nOr use ChatGPT auth:\n\n```json\n{\n \"provider\": \"openai\",\n \"openai\": {\n \"authMode\": \"chatgpt\",\n \"model\": \"gpt-5.4\"\n }\n}\n```\n\n**Available Models:**\n| Model | Description |\n|-------|-------------|\n| `gpt-5` | Flagship multimodal model |\n| `gpt-5-mini` | Faster, cheaper alternative |\n| `gpt-4-turbo` | Previous generation flagship |\n| `o1-preview` | Advanced reasoning model |\n| `o1-mini` | Faster reasoning model |\n\n---\n\n### LLM Gateway\n\nLLM Gateway provides a unified API for multiple LLM providers with a single integration point. It's OpenAI-compatible and supports models from OpenAI, Anthropic, Google, and more.\n\n**Setup:**\n\n1. Create an account at [llmgateway.io](https://llmgateway.io)\n2. Get your API key from the [dashboard](https://llmgateway.io/dashboard)\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-llmgateway-api-key\",\n \"model\": \"gpt-5\"\n }\n}\n```\n\n**Supported Models:**\n| Model | Provider |\n|-------|----------|\n| `gpt-5` | OpenAI |\n| `gpt-5-mini` | OpenAI |\n| `gpt-4-turbo` | OpenAI |\n| `claude-5-sonnet` | Anthropic |\n| `claude-5-haiku` | Anthropic |\n| `gemini-3.0-pro` | Google |\n| `gemini-3.0-flash` | Google |\n\n**Benefits:**\n\n- Single API key for multiple providers\n- Unified billing and usage tracking\n- OpenAI-compatible API format\n- Automatic failover between providers\n\n**Example Usage:**\n\n```bash\n# Using with curl (for testing)\ncurl -X POST https://api.llmgateway.io/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $LLM_GATEWAY_API_KEY\" \\\n -d '{\n \"model\": \"gpt-5\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n }'\n```\n\n---\n\n### DeepSeek\n\nDeepSeek provides an OpenAI-compatible chat completions API for DeepSeek V4 Flash, V4 Pro, and the legacy `deepseek-chat` / `deepseek-reasoner` model IDs.\n\n**Setup:**\n\n1. Get your API key at [platform.deepseek.com/api_keys](https://platform.deepseek.com/api_keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"deepseek\",\n \"deepseek\": {\n \"apiKey\": \"your-deepseek-api-key\",\n \"model\": \"deepseek-v4-flash\"\n }\n}\n```\n\n**Available Models:**\n\n| Model | Description |\n| --------------------- | ------------------------------------------------ |\n| `deepseek-v4-flash` | Current fast V4 model, recommended default |\n| `deepseek-v4-pro` | Current stronger V4 model |\n| `deepseek-chat` | Legacy non-thinking alias, deprecated 2026-07-24 |\n| `deepseek-reasoner` | Legacy thinking alias, deprecated 2026-07-24 |\n\n**Example Usage:**\n\n```bash\ncurl -X POST \"https://api.deepseek.com/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" \\\n -d '{\n \"model\": \"deepseek-v4-flash\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### AWS Bedrock\n\nAWS Bedrock is available as `bedrock` for enterprise AWS customers. Autohand supports three inference modes:\n\n| Mode | Choose When |\n| --- | --- |\n| `converse` | Default Bedrock-native mode using AWS credential-chain auth and Bedrock Runtime `Converse`. |\n| `openai-chat` | You are migrating OpenAI Chat Completions clients to Bedrock OpenAI-compatible endpoints. |\n| `openai-responses` | You are migrating OpenAI Responses clients to Bedrock OpenAI-compatible endpoints. |\n\nFor `converse`, configure AWS credentials outside Autohand. Autohand never stores AWS access key IDs or secret access keys. Good setup paths include:\n\n```bash\naws configure sso\nAWS_PROFILE=enterprise-prod autohand\n```\n\nIAM roles, container credentials, and instance metadata also work through the AWS SDK credential chain. Before using a model, enable access for that model in the AWS Bedrock console for the selected region.\n\n**Converse with AWS profile:**\n\n```json\n{\n \"provider\": \"bedrock\",\n \"bedrock\": {\n \"apiMode\": \"converse\",\n \"authMode\": \"aws-credentials\",\n \"profile\": \"enterprise-prod\",\n \"region\": \"us-east-1\",\n \"model\": \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n }\n}\n```\n\n**OpenAI Chat Completions with Bedrock API key:**\n\n```yaml\nprovider: bedrock\nbedrock:\n apiMode: openai-chat\n authMode: bedrock-api-key\n apiKey: bedrock-api-key\n region: us-east-1\n model: openai.gpt-oss-120b-1:0\n```\n\n**OpenAI Responses with Bedrock API key and private endpoint:**\n\n```toml\nprovider = \"bedrock\"\n\n[bedrock]\napiMode = \"openai-responses\"\nauthMode = \"bedrock-api-key\"\napiKey = \"bedrock-api-key\"\nregion = \"us-west-2\"\nendpoint = \"https://vpce-abc123.bedrock-runtime.us-west-2.vpce.amazonaws.com/openai/v1\"\nmodel = \"arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0\"\n```\n\nSecurity note: Bedrock API keys are not OpenAI API keys. Never point Bedrock config at OpenAI base URLs.\n\n**Troubleshooting:**\n\n| Symptom | Fix |\n| --- | --- |\n| Missing AWS credentials | Run `aws configure sso`, set `AWS_PROFILE`, or run Autohand on AWS infrastructure with an IAM role. |\n| Missing region | Set `bedrock.region`, `AWS_REGION`, or `AWS_DEFAULT_REGION`. |\n| Invalid Bedrock API key | Use a Bedrock API key only with `openai-chat` or `openai-responses`. |\n| Model access not enabled | Enable the model in the AWS Bedrock console for the selected region. |\n| Model not available in region | Switch `region`, choose a regional model, or use an inference profile or ARN. |\n| Unsupported API mode | Use `converse` for Bedrock-native models, or an OpenAI-compatible Bedrock model for OpenAI modes. |\n| Throttling or quota | Wait and retry, or request a Bedrock quota increase. |\n| Private endpoint/network failure | Check `endpoint`, VPC endpoint DNS, proxy, and AWS network policy. |\n\n---\n\n### Z.ai\n\nZ.ai (Zhipu AI) provides access to the GLM family of models and CogView for image generation. The API is fully OpenAI-compatible.\n\n**Setup:**\n\n1. Get your API key at [platform.z.ai](https://platform.z.ai/keys)\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"zai\",\n \"zai\": {\n \"apiKey\": \"your-zai-api-key\",\n \"model\": \"glm-5.2\"\n }\n}\n```\n\n**Popular Models:**\n\n| Model | Description |\n| ------------------ | ------------------------------------------------------------------------------- |\n| `glm-5.2` | Latest flagship GLM model for project-scale coding, 1M context, 128K max output |\n| `glm-5.1` | Flagship long-horizon model, 200K context, 128K max output |\n| `glm-4.5` | Previous-generation GLM model, strong reasoning |\n| `glm-4.5v` | Vision-language model |\n| `glm-4.5-air` | Faster, lighter variant |\n| `glm-4.5-prior` | Priority access variant |\n| `glm-4.5-flash` | Low-latency model |\n| `glm-4.5-air-2504` | April 2025 Air variant |\n| `cogview-4.5` | Image generation model |\n\nGLM-5.2 and GLM-5.1 both support thinking mode, streaming output, function calling, context caching, structured output, and MCP.\n\n**Example Usage:**\n\n```bash\n# Test with curl\ncurl -X POST \"https://api.z.ai/api/paas/v4/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $ZAI_API_KEY\" \\\n -d '{\n \"model\": \"glm-5.2\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }'\n```\n\n---\n\n### Sakana.AI\n\nSakana.AI provides Sakana Fugu through an OpenAI-compatible API. Fugu is a multi-agent system, but Autohand uses it like a standard hosted LLM through the Sakana API.\n\n**Setup:**\n\n1. Create a Sakana API key and store it securely.\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"sakana\",\n \"sakana\": {\n \"apiKey\": \"your-sakana-api-key\",\n \"baseUrl\": \"https://api.sakana.ai/v1\",\n \"model\": \"fugu\"\n }\n}\n```\n\n**Supported Models:**\n\n| Model | Description |\n| ------------ | ------------------------------------------------- |\n| `fugu` | Default Sakana Fugu model with provider routing |\n| `fugu-ultra` | Stronger Fugu model for complex, long-running work |\n\nFor complex `fugu-ultra` tasks, consider increasing the global network timeout in your Autohand config.\n\n**Example Usage:**\n\n```bash\nexport SAKANA_API_KEY=your-key\n\ncurl -X POST \"https://api.sakana.ai/v1/chat/completions\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $SAKANA_API_KEY\" \\\n -d '{\n \"model\": \"fugu\",\n \"messages\": [{\"role\": \"user\", \"content\": \"How many r are in strawberry?\"}]\n }'\n```\n\n---\n\n## Local Providers\n\n### Ollama\n\nOllama makes it easy to run open-source LLMs locally. Great for privacy-conscious users or offline work.\n\n**Setup:**\n\n1. Install Ollama: [ollama.ai](https://ollama.ai)\n2. Pull a model:\n ```bash\n ollama pull llama3.2\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"model\": \"llama3.2\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | Size | Description |\n|-------|------|-------------|\n| `llama3.2` | 3B | Fast, good for simple tasks |\n| `llama3.2:70b` | 70B | High quality, needs 64GB+ RAM |\n| `codellama` | 7B-34B | Optimized for code |\n| `mistral` | 7B | Good balance |\n| `mixtral` | 47B | High quality mixture-of-experts |\n\n**Custom Ollama Server:**\n\n```json\n{\n \"provider\": \"ollama\",\n \"ollama\": {\n \"baseUrl\": \"http://192.168.1.100:11434\",\n \"model\": \"llama3.2\"\n }\n}\n```\n\n---\n\n### llama.cpp\n\nllama.cpp provides high-performance local inference with GGUF models.\n\n**Setup:**\n\n1. Build and run llama.cpp server:\n ```bash\n git clone https://github.com/ggerganov/llama.cpp\n cd llama.cpp\n make\n ./llama-server -m /path/to/model.gguf\n ```\n2. Configure Autohand:\n\n```json\n{\n \"provider\": \"llamacpp\",\n \"llamacpp\": {\n \"baseUrl\": \"http://localhost:8080\",\n \"model\": \"default\"\n }\n}\n```\n\n**Finding GGUF Models:**\n\n- [Hugging Face GGUF Models](https://huggingface.co/models?search=gguf)\n- Popular: `TheBloke/Llama-2-7B-GGUF`, `TheBloke/CodeLlama-13B-GGUF`\n\n---\n\n### MLX (Apple Silicon)\n\nMLX is optimized for Apple Silicon Macs, providing fast local inference.\n\n**Requirements:**\n\n- macOS with Apple Silicon (M1/M2/M3)\n- Python 3.10+\n\n**Setup:**\n\n1. Install MLX:\n ```bash\n pip install mlx-lm\n ```\n2. Run the server:\n ```bash\n mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit\n ```\n3. Configure Autohand:\n\n```json\n{\n \"provider\": \"mlx\",\n \"mlx\": {\n \"model\": \"mlx-community/Llama-3.2-3B-Instruct-4bit\"\n }\n}\n```\n\n**Recommended Models:**\n| Model | RAM | Description |\n|-------|-----|-------------|\n| `mlx-community/Llama-3.2-3B-Instruct-4bit` | 4GB | Fast, good for simple tasks |\n| `mlx-community/Llama-3.2-8B-Instruct-4bit` | 8GB | Better quality |\n| `mlx-community/Mistral-7B-Instruct-v0.2-4bit` | 8GB | Good balance |\n\n---\n\n## Switching Providers\n\n### Interactive Mode\n\nUse the `/model` command to switch providers or models:\n\n```\n/model # List available models\n/model gpt-5 # Switch to GPT-5\n/model anthropic/claude-5-opus # Switch to Claude Opus\n```\n\nWhen you pick `openai`, Autohand now lets you choose between `API key` and `ChatGPT account` authentication.\n\n### CLI Flag\n\nOverride the default provider for a single session:\n\n```bash\nautohand --model gpt-5\n```\n\n### Editing Config\n\nUpdate `~/.autohand/config.json`:\n\n```json\n{\n \"provider\": \"llmgateway\",\n \"llmgateway\": {\n \"apiKey\": \"your-key\",\n \"model\": \"claude-5-sonnet\"\n }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Authentication Errors\n\n**Symptom:** \"Authentication failed\" or \"Invalid API key\"\n\n**Solutions:**\n\n1. Verify your API key is correct in the config\n2. Check the key hasn't expired\n3. Ensure you have credits/quota remaining\n\n### Connection Errors\n\n**Symptom:** \"Unable to connect\" or timeout errors\n\n**Solutions:**\n\n1. Check internet connection\n2. Verify the base URL is correct\n3. For local providers, ensure the server is running\n4. Check firewall settings\n\n### Model Not Found\n\n**Symptom:** \"Model not found\" error\n\n**Solutions:**\n\n1. Verify the model name is spelled correctly\n2. Check if you have access to the model (some require approval)\n3. For local providers, ensure the model is downloaded\n\n### Rate Limiting\n\n**Symptom:** \"Rate limit exceeded\" errors\n\n**Solutions:**\n\n1. Wait and retry\n2. Use a different model\n3. Upgrade your API plan\n4. Configure retry settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"retryDelay\": 2000\n }\n}\n```\n\n### Local Provider Performance\n\n**Symptom:** Slow responses from local models\n\n**Solutions:**\n\n1. Use a smaller model (e.g., 7B instead of 70B)\n2. Use quantized models (Q4, Q5, Q8)\n3. Ensure you have sufficient RAM\n4. For MLX, ensure you're on Apple Silicon\n5. Close other memory-intensive applications\n\n---\n\n### Custom OpenAI-Compatible Providers\n\nUse custom providers when a service exposes an OpenAI-compatible API but is not bundled into Autohand. This keeps the built-in provider list small while still supporting team gateways, private deployments, and new hosted providers.\n\nFrom the TUI, run `/model`, choose **New provider...**, then enter:\n\n- provider display name\n- OpenAI-compatible base URL\n- whether an API key is required\n- model id\n- optional context window and reasoning effort\n\nAutohand verifies the base URL, API key, and selected model through the OpenAI-compatible `/models` endpoint before saving the provider. If `/models` returns model IDs, the selected model must be present in that list.\n\nThe saved config uses `provider: \"custom:<id>\"` and stores provider details under `customProviders`:\n\n```json\n{\n \"provider\": \"custom:acme\",\n \"customProviders\": {\n \"acme\": {\n \"id\": \"acme\",\n \"displayName\": \"Acme AI\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"https://api.acme.example/v1\",\n \"apiKey\": \"acme-api-key\",\n \"apiKeyRequired\": true,\n \"model\": \"acme-code-1\",\n \"contextWindow\": 256000,\n \"reasoningEffort\": \"high\"\n }\n }\n}\n```\n\nFor local gateways without bearer auth:\n\n```json\n{\n \"provider\": \"custom:local-openai\",\n \"customProviders\": {\n \"local-openai\": {\n \"id\": \"local-openai\",\n \"displayName\": \"Local OpenAI Proxy\",\n \"apiFormat\": \"openai-compatible\",\n \"baseUrl\": \"http://localhost:8080/v1\",\n \"apiKeyRequired\": false,\n \"model\": \"local-code-model\",\n \"contextWindow\": 131072\n }\n }\n}\n```\n\nCustom provider telemetry and session sync include the provider id, display name, API format, model id, reasoning effort, and context window when available. Secrets such as `apiKey` are not sent. When `reasoningEffort` is set, Autohand sends it to the provider as `reasoning_effort`.\n\nYou can remove a custom provider from `/model` by opening that provider's settings and choosing **Remove custom provider**.\n\n---\n\n## Environment Variables\n\nOverride config settings with environment variables:\n\n```bash\n# Set API keys\nexport OPENROUTER_API_KEY=sk-or-v1-xxx\nexport OPENAI_API_KEY=sk-xxx\nexport LLM_GATEWAY_API_KEY=your-key\n\n# Override provider for session\nAUTOHAND_PROVIDER=ollama autohand\n```\n\n---\n\n## Network Configuration\n\nAll cloud providers support custom network settings:\n\n```json\n{\n \"network\": {\n \"maxRetries\": 3,\n \"timeout\": 30000,\n \"retryDelay\": 1000\n }\n}\n```\n\n| Setting | Default | Description |\n| ------------ | ------- | -------------------------------- |\n| `maxRetries` | 3 | Max retry attempts (capped at 5) |\n| `timeout` | 30000 | Request timeout in ms |\n| `retryDelay` | 1000 | Base delay between retries |\n\nRetries use exponential backoff: `retryDelay * 2^attempt`\n"}}}} |