Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| ai:mcp:servery:higgsfield-mcp-v-claude-code-a-opencode [03.05.2026 04:05] – Migrace článku z ai:mcp:klienti do ai:mcp:servery Petr Nosek | ai:mcp:servery:higgsfield-mcp-v-claude-code-a-opencode [09.05.2026 07:17] (aktuální) – Oprava dvojitého escapování URL v tabulce Petr Nosek | ||
|---|---|---|---|
| Řádek 5: | Řádek 5: | ||
| [[https:// | [[https:// | ||
| - | Tento zápisek popisuje konkrétní nasazení v Claude Code a OpenCode běžících v Dockeru. Důležité je hlavně zachytit rozdíl: v Claude Code OAuth proběhl rychle, zatímco v OpenCode se objevily chyby kolem OAuth scope. Nakonec fungovaly dvě cesty: device flow s tokenem platným jen 24 hodin a praktičtější převzetí delšího tokenu z Claude Code. Vedle oficiálního | + | Tento zápisek popisuje konkrétní nasazení v Claude Code a OpenCode běžících v Dockeru. Důležité je hlavně zachytit rozdíl: v Claude Code OAuth proběhl rychle, zatímco v OpenCode se objevily chyby kolem OAuth scope. Nakonec fungovaly dvě cesty: device flow s tokenem platným jen 24 hodin a praktičtější převzetí delšího tokenu z Claude Code. Vedle remote MCP dnes existují i dvě oficiální navazující cesty: [[https:// |
| ===== Výchozí stav ===== | ===== Výchozí stav ===== | ||
| Řádek 15: | Řádek 15: | ||
| Higgsfield na své MCP stránce uvádí, že není potřeba spravovat API klíče. API key a API secret z Higgsfield API proto nejsou totéž jako autentizace pro oficiální MCP endpoint. Pro MCP se používá OAuth přihlášení přes Higgsfield účet. | Higgsfield na své MCP stránce uvádí, že není potřeba spravovat API klíče. API key a API secret z Higgsfield API proto nejsou totéž jako autentizace pro oficiální MCP endpoint. Pro MCP se používá OAuth přihlášení přes Higgsfield účet. | ||
| + | |||
| + | Dnes je dobré rozlišovat tři oficiální vrstvy: | ||
| + | |||
| + | * **remote MCP endpoint** – integrace přes '' | ||
| + | * **Higgsfield CLI** – oficiální terminálový nástroj '' | ||
| + | * **Higgsfield AI Skills** – Markdown skills pro agenty, které obalují práci s Higgsfield CLI a dávají agentovi konkrétní workflow pro generování, | ||
| + | |||
| + | ===== Oficiální Higgsfield CLI ===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Důležité: | ||
| + | |||
| + | ==== Instalace ==== | ||
| + | |||
| + | README uvádí několik instalačních cest. | ||
| + | |||
| + | macOS / Linux přes instalační skript: | ||
| + | |||
| + | <code bash> | ||
| + | curl -fsSL https:// | ||
| + | </ | ||
| + | |||
| + | macOS / Linux přes Homebrew: | ||
| + | |||
| + | <code bash> | ||
| + | brew install higgsfield-ai/ | ||
| + | </ | ||
| + | |||
| + | Cross-platform instalace přes npm: | ||
| + | |||
| + | <code bash> | ||
| + | npm install -g @higgsfield/ | ||
| + | </ | ||
| + | |||
| + | Po instalaci se provede přihlášení: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield auth login | ||
| + | </ | ||
| + | |||
| + | ==== Základní použití ==== | ||
| + | |||
| + | Jednoduché vygenerování obrázku s čekáním na výsledek: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate create nano_banana_2 --prompt "a quiet beach at sunrise" | ||
| + | </ | ||
| + | |||
| + | Příklad pro Nano Banana Pro: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate create nano_banana_2 \ | ||
| + | --prompt " | ||
| + | --aspect_ratio 16:9 \ | ||
| + | --resolution 2k \ | ||
| + | --wait | ||
| + | </ | ||
| + | |||
| + | Příklad pro video přes Kling v3.0 se vstupním obrázkem: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate create kling3_0 \ | ||
| + | --prompt "slow camera push through a forest clearing at dawn" \ | ||
| + | --start-image ./first.png \ | ||
| + | --duration 5 --mode pro --sound off \ | ||
| + | --wait | ||
| + | </ | ||
| + | |||
| + | ==== Hlavní příkazy ==== | ||
| + | |||
| + | Podle README CLI obsahuje tyto skupiny příkazů: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Praktické flagy: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Příklad pipeline s JSON výstupem: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate list --json | jq -r '.[] | select(.status==" | ||
| + | </ | ||
| + | |||
| + | ==== Vztah k MCP integraci ==== | ||
| + | |||
| + | Pro Claude Code a OpenCode jsou tím pádem tři praktické varianty: | ||
| + | |||
| + | - **MCP endpoint** – nejlepší, pokud MCP klient zvládne OAuth vůči '' | ||
| + | - **Oficiální CLI** – vhodné, pokud agent umí spouštět shell příkazy a stačí mu příkaz '' | ||
| + | - **Neoficiální lokální MCP wrappery** – až fallback, pokud je potřeba MCP rozhraní, ale remote OAuth nefunguje a zároveň nestačí CLI. | ||
| + | |||
| + | ===== Oficiální Higgsfield AI Skills ===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== Instalace skills ==== | ||
| + | |||
| + | Doporučená cross-agent instalace: | ||
| + | |||
| + | <code bash> | ||
| + | npx skills add higgsfield-ai/ | ||
| + | </ | ||
| + | |||
| + | Alternativa přes GitHub CLI 2.90+: | ||
| + | |||
| + | <code bash> | ||
| + | gh skill install higgsfield-ai/ | ||
| + | </ | ||
| + | |||
| + | Instalace přes Claude Code marketplace: | ||
| + | |||
| + | < | ||
| + | /plugin marketplace add higgsfield-ai/ | ||
| + | /plugin install higgsfield@higgsfield | ||
| + | </ | ||
| + | |||
| + | Fallback přes clone repozitáře: | ||
| + | |||
| + | <code bash> | ||
| + | git clone --depth 1 https:// | ||
| + | cd skills | ||
| + | ./setup | ||
| + | </ | ||
| + | |||
| + | ==== Dostupné skills ==== | ||
| + | |||
| + | Repozitář aktuálně popisuje čtyři hlavní skills: | ||
| + | |||
| + | ^ Skill ^ Vyvolání ^ Účel ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Důležitý princip: skills neřeší jen jednorázový příkaz. Dávají agentovi workflow – například nejdřív natrénovat Soul ID a potom ho použít v generování nebo v Marketing Studio jobech. | ||
| + | |||
| + | ==== Kdy použít skills místo přímého MCP ==== | ||
| + | |||
| + | Skills dávají smysl hlavně tehdy, když: | ||
| + | |||
| + | * agent umí načíst Markdown skills a spouštět shell příkazy | ||
| + | * je potřeba agentovi dát konkrétní pracovní postup místo ručního skládání parametrů | ||
| + | * stačí CLI workflow a není nutné mít každý Higgsfield endpoint jako samostatný MCP tool | ||
| + | * jde o opakované úlohy typu produktové fotky, marketplace karty, Soul ID nebo branded ad video | ||
| + | |||
| + | Pro čisté MCP workflow dál platí sekce níže. Pro agentní práci, kde je povolené volání terminálu, je ale oficiální kombinace **Higgsfield CLI + Higgsfield AI Skills** preferovaná před komunitními lokálními wrappery. | ||
| ===== Claude Code ===== | ===== Claude Code ===== | ||
| Řádek 91: | Řádek 252: | ||
| Claude Code použil předregistrovaného OAuth klienta pro Higgsfield. V uložených credentials bylo vidět, že Claude Code měl pro Higgsfield uložené: | Claude Code použil předregistrovaného OAuth klienta pro Higgsfield. V uložených credentials bylo vidět, že Claude Code měl pro Higgsfield uložené: | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| - | * '' | + | * '' |
| * scope včetně '' | * scope včetně '' | ||
| Řádek 119: | Řádek 280: | ||
| Ani poslední úprava nezabrala. V mém setupu zůstal problém v OAuth toku OpenCode: buď se požadoval nepovolený scope '' | Ani poslední úprava nezabrala. V mém setupu zůstal problém v OAuth toku OpenCode: buď se požadoval nepovolený scope '' | ||
| - | |||
| - | ===== Alternativní cesta: lokální MCP servery nad API key/API secret ===== | ||
| - | |||
| - | Vedle oficiálního remote endpointu existují také neoficiální lokální MCP servery, které neřeší OAuth proti '' | ||
| - | |||
| - | V diskusi jsem porovnával hlavně dva repozitáře od stejného autora: | ||
| - | |||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | |||
| - | Oba projekty používají lokální Python server a credentials z Higgsfield API. Prakticky to znamená, že OpenCode by nepřipojoval '' | ||
| - | |||
| - | ==== Rozdíl mezi oběma repozitáři ==== | ||
| - | |||
| - | ^ Oblast ^ '' | ||
| - | | Zaměření | Jednodušší MCP server pro základní image/video workflow. | Širší MCP server s více parametry a více typy nástrojů. | | ||
| - | | Framework | FastMCP. | Oficiální low-level '' | ||
| - | | Credentials | '' | ||
| - | | Instalace podle README | Clone repozitáře a instalace závislostí přes '' | ||
| - | | Nástroje | Jednodušší názvy jako '' | ||
| - | | Parametry | Méně voleb, rychlejší na pochopení. | Více voleb: rozměry, batch size, seed, reference image, webhooky, motion strength, start/end frame. | | ||
| - | | Video | Image-to-video přes DoP/motion preset. | Image-to-video přes DoP, motions array, end frame. | | ||
| - | | Speech/ | ||
| - | | Character management | Vytvoření a listování character references. | Vytvoření, | ||
| - | | Resources/ | ||
| - | |||
| - | ==== Kdy dává smysl který projekt ==== | ||
| - | |||
| - | '' | ||
| - | |||
| - | '' | ||
| - | |||
| - | ==== Důležitý konflikt názvů ==== | ||
| - | |||
| - | Oba repozitáře používají stejný Python import namespace i stejný command/ | ||
| - | |||
| - | < | ||
| - | higgsfield_mcp | ||
| - | higgsfield-mcp | ||
| - | </ | ||
| - | |||
| - | Proto je nedává smysl instalovat vedle sebe do stejného Python prostředí. Pokud by se testovaly oba, je lepší použít oddělené virtualenv/ | ||
| - | |||
| - | ==== Princip konfigurace v OpenCode ==== | ||
| - | |||
| - | Pro lokální MCP server by konfigurace v OpenCode nebyla remote OAuth konfigurace, | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | U projektu '' | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Výhody a nevýhody lokálních wrapperů ==== | ||
| - | |||
| - | Výhody: | ||
| - | |||
| - | * obejdou problematické OAuth flow v OpenCode | ||
| - | * používají běžné API key/API secret, které se dají uložit přes '' | ||
| - | * běží lokálně a dají se případně upravit | ||
| - | |||
| - | Nevýhody: | ||
| - | |||
| - | * nejsou to oficiální Higgsfield MCP endpointy | ||
| - | * mohou pokrývat jen část funkcí oficiálního MCP konektoru | ||
| - | * je potřeba řešit instalaci Python prostředí a závislostí | ||
| - | * oba porovnávané projekty kolidují názvem balíčku/ | ||
| - | * bezpečnost API key/API secret je na lokální konfiguraci | ||
| ===== Alternativní funkční cesta: device flow pro OpenCode ===== | ===== Alternativní funkční cesta: device flow pro OpenCode ===== | ||
| Řádek 209: | Řádek 287: | ||
| [[https:// | [[https:// | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| Pro device flow je důležitý server '' | Pro device flow je důležitý server '' | ||
| Řádek 287: | Řádek 365: | ||
| </ | </ | ||
| - | To znamená platnost jen 24 hodin. | + | To znamená platnost jen 24 hodin. |
| ===== Preferovaný workaround: token z Claude Code pro OpenCode ===== | ===== Preferovaný workaround: token z Claude Code pro OpenCode ===== | ||
| Řádek 293: | Řádek 371: | ||
| Protože Claude Code už měl vůči Higgsfield úspěšně získaný OAuth token, nejrychlejší funkční řešení bylo: | Protože Claude Code už měl vůči Higgsfield úspěšně získaný OAuth token, nejrychlejší funkční řešení bylo: | ||
| - | - vytáhnout Higgsfield access token z Claude Code credentials | + | - vytáhnout Higgsfield access |
| - | - uložit | + | - uložit |
| - | - v OpenCode vypnout OAuth flow a posílat token jako statický Bearer header | + | - v OpenCode vypnout OAuth flow a posílat |
| + | |||
| + | **Access token** má vždy platnost **24 hodin** – pevně dané na straně Higgsfield serveru, nedá se změnit. Claude Code při OAuth flow ukládá vedle access tokenu i **refresh token**: ten je dlouhodobý a slouží k tichému získání nového access tokenu bez opakovaného přihlašování v prohlížeči. Oba tokeny je při první extrakci potřeba uložit. Jak využít refresh token k automatickému obnovování, | ||
| Token se nachází v souboru: | Token se nachází v souboru: | ||
| < | < | ||
| - | / | + | ~/ |
| </ | </ | ||
| - | V sekci '' | + | V sekci '' |
| <code python> | <code python> | ||
| Řádek 309: | Řádek 389: | ||
| from pathlib import Path | from pathlib import Path | ||
| - | credentials_path = Path("/home/ubuntu/.claude/ | + | credentials_path = Path.home() / ".claude" |
| - | target_path = Path("/ | + | target_path = Path.home() / " |
| + | refresh_path = Path.home() / ".config" | ||
| with credentials_path.open() as f: | with credentials_path.open() as f: | ||
| Řádek 317: | Řádek 398: | ||
| for item in data.get(" | for item in data.get(" | ||
| if item.get(" | if item.get(" | ||
| - | | + | |
| + | refresh_token = item.get(" | ||
| break | break | ||
| else: | else: | ||
| raise SystemExit(" | raise SystemExit(" | ||
| - | target_path.write_text(token.strip() | + | target_path.write_text(access_token.strip()) |
| target_path.chmod(0o600) | target_path.chmod(0o600) | ||
| + | print(f" | ||
| + | |||
| + | if refresh_token: | ||
| + | refresh_path.write_text(refresh_token.strip()) | ||
| + | refresh_path.chmod(0o600) | ||
| + | print(f" | ||
| + | else: | ||
| + | print(" | ||
| </ | </ | ||
| Řádek 340: | Řádek 430: | ||
| </ | </ | ||
| - | Soubor | + | Soubory |
| + | |||
| + | Tím se OAuth flow v OpenCode úplně obejde a OpenCode použije již existující token získaný | ||
| + | |||
| + | ===== Automatická obnova tokenu přes refresh token ===== | ||
| + | |||
| + | Higgsfield vydává access tokeny vždy s platností **24 hodin**. Při prvním OAuth flow Claude Code ale uloží do credentials dva tokeny: | ||
| + | |||
| + | * **access_token** – krátkodobý Bearer token pro API volání, vyprší za 24 hodin | ||
| + | * **refresh_token** – dlouhodobý token pro tiché obnovení; nepotřebuje prohlížeč ani přihlašování | ||
| + | |||
| + | Refresh flow funguje tak, že skript zavolá Higgsfield OAuth token endpoint s refresh tokenem. Server vydá nový access token a obvykle i rotovaný refresh token (starý se nahradí novým). | ||
| + | |||
| + | ==== Refresh skript ==== | ||
| + | |||
| + | Uložit jako '' | ||
| + | |||
| + | <code bash> | ||
| + | # | ||
| + | # Refreshes Higgsfield OAuth access token using stored refresh token. | ||
| + | # Higgsfield issues tokens with 24h validity; run this every ~20h via cron. | ||
| + | |||
| + | set -euo pipefail | ||
| + | |||
| + | REFRESH_TOKEN_FILE=" | ||
| + | ACCESS_TOKEN_FILE=" | ||
| + | CLIENT_ID=" | ||
| + | TOKEN_ENDPOINT=" | ||
| + | |||
| + | REFRESH_TOKEN=$(cat " | ||
| + | |||
| + | RESPONSE=$(curl -s -X POST " | ||
| + | -H " | ||
| + | -d " | ||
| + | |||
| + | ACCESS_TOKEN=$(echo " | ||
| + | NEW_REFRESH_TOKEN=$(echo " | ||
| + | |||
| + | if [ -z " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | echo -n " | ||
| + | |||
| + | if [ -n " | ||
| + | echo -n " | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | chmod +x ~/ | ||
| + | </ | ||
| + | |||
| + | Ruční spuštění (test nebo při vypršení tokenu): | ||
| + | |||
| + | <code bash> | ||
| + | ~/ | ||
| + | </ | ||
| + | |||
| + | ==== Nastavení cronu na Alpine / busybox ==== | ||
| + | |||
| + | Na Alpine s busyboxem standardní příkaz '' | ||
| + | |||
| + | <code bash> | ||
| + | sudo bash -c 'echo "0 */20 * * * / | ||
| + | sudo chown < | ||
| + | sudo chmod 600 / | ||
| + | </ | ||
| + | |||
| + | Interval '' | ||
| + | |||
| + | Spuštění crond, pokud ještě neběží: | ||
| + | |||
| + | <code bash> | ||
| + | sudo crond -b -l 8 | ||
| + | </ | ||
| + | |||
| + | ==== Automatický start crond po restartu (Alpine / OpenRC) ==== | ||
| + | |||
| + | Pokud má crond startovat automaticky při restartu kontejneru nebo systému, přidá se startup skript do ''/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo bash -c 'cat > / | ||
| + | #!/bin/sh | ||
| + | crond -b -l 8 | ||
| + | EOF | ||
| + | chmod +x / | ||
| + | </ | ||
| + | |||
| + | Při dalším startu systému se crond spustí automaticky. | ||
| + | |||
| + | ===== Okrajová alternativa: | ||
| + | |||
| + | Vedle oficiálního remote endpointu, oficiálního CLI a oficiálních skills existují také neoficiální lokální MCP servery, které neřeší OAuth proti '' | ||
| + | |||
| + | V diskusi jsem porovnával hlavně dva repozitáře od stejného autora: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Oba projekty používají lokální Python server a credentials z Higgsfield API. Prakticky to znamená, že OpenCode by nepřipojoval '' | ||
| + | |||
| + | ==== Rozdíl mezi oběma repozitáři ==== | ||
| + | |||
| + | ^ Oblast ^ '' | ||
| + | | Zaměření | Jednodušší MCP server pro základní image/video workflow. | Širší MCP server s více parametry a více typy nástrojů. | | ||
| + | | Framework | FastMCP. | Oficiální low-level '' | ||
| + | | Credentials | '' | ||
| + | | Instalace podle README | Clone repozitáře a instalace závislostí přes '' | ||
| + | | Nástroje | Jednodušší názvy jako '' | ||
| + | | Parametry | Méně voleb, rychlejší na pochopení. | Více voleb: rozměry, batch size, seed, reference image, webhooky, motion strength, start/end frame. | | ||
| + | | Video | Image-to-video přes DoP/motion preset. | Image-to-video přes DoP, motions array, end frame. | | ||
| + | | Speech/ | ||
| + | | Character management | Vytvoření a listování character references. | Vytvoření, | ||
| + | | Resources/ | ||
| + | |||
| + | ==== Kdy dává smysl který projekt ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | ==== Důležitý konflikt názvů ==== | ||
| + | |||
| + | Oba repozitáře používají stejný Python import namespace i stejný command/ | ||
| < | < | ||
| - | / | + | higgsfield_mcp |
| + | higgsfield-mcp | ||
| </ | </ | ||
| - | Tím se OAuth flow v OpenCode | + | Proto je nedává smysl instalovat vedle sebe do stejného Python prostředí. Pokud by se testovaly oba, je lepší použít oddělené virtualenv/ |
| + | |||
| + | ==== Princip konfigurace | ||
| + | |||
| + | Pro lokální MCP server by konfigurace v OpenCode nebyla remote OAuth konfigurace, | ||
| + | |||
| + | <code json> | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | U projektu '' | ||
| + | |||
| + | <code json> | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Výhody a nevýhody lokálních wrapperů ==== | ||
| + | |||
| + | Výhody: | ||
| + | |||
| + | * obejdou problematické OAuth flow v OpenCode | ||
| + | * používají běžné API key/API secret, které se dají uložit přes '' | ||
| + | * běží lokálně a dají se případně upravit | ||
| + | |||
| + | Nevýhody: | ||
| + | |||
| + | * nejsou to oficiální Higgsfield MCP endpointy | ||
| + | * po existenci oficiálního CLI a skills jsou méně preferovaná cesta | ||
| + | * mohou pokrývat jen část funkcí oficiálního MCP konektoru nebo CLI | ||
| + | * je potřeba řešit instalaci Python prostředí a závislostí | ||
| + | * oba porovnávané projekty kolidují názvem balíčku/ | ||
| + | * bezpečnost API key/API secret je na lokální konfiguraci | ||
| ===== Ověření ===== | ===== Ověření ===== | ||
| Řádek 358: | Řádek 618: | ||
| </ | </ | ||
| - | Pokud se později začne vracet '' | + | Pokud se později začne vracet '' |
| - | * znovu provést přihlášení v Claude Code přes ''/ | + | |
| - | * použít device flow, ale počítat s platností tokenu jen 24 hodin | + | |
| + | * použít device flow, ale počítat s platností tokenu jen 24 hodin a bez možnosti tichého refreshe | ||
| + | |||
| + | Pro oficiální CLI se dá základní funkčnost ověřit samostatně: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield auth login | ||
| + | higgsfield model list | ||
| + | higgsfield generate create nano_banana_2 --prompt "test image" --wait | ||
| + | </ | ||
| ===== Rychlý troubleshooting pro budoucí řešení ===== | ===== Rychlý troubleshooting pro budoucí řešení ===== | ||
| Řádek 375: | Řádek 644: | ||
| Význam: OpenCode vytvořil nebo použil OAuth klienta, který nemá povolený scope '' | Význam: OpenCode vytvořil nebo použil OAuth klienta, který nemá povolený scope '' | ||
| - | Rychlé řešení: Nepokračovat laděním API key/API secret. U oficiálního Higgsfield MCP jde o OAuth. Pokud OpenCode OAuth stále selhává, použít token z Claude Code jako Bearer header. Alternativně lze použít device flow, ale získaný token má jen 24hodinovou platnost. | + | Rychlé řešení: Nepokračovat laděním API key/API secret. U oficiálního Higgsfield MCP jde o OAuth. Pokud OpenCode OAuth stále selhává, použít token z Claude Code jako Bearer header. Alternativně lze použít device flow, ale získaný token má jen 24hodinovou platnost |
| ==== Chyba: redirect_uri nesedí ==== | ==== Chyba: redirect_uri nesedí ==== | ||
| Řádek 385: | Řádek 654: | ||
| </ | </ | ||
| - | Význam: Použitý OAuth klient má předregistrovaný jiný callback než ten, který posílá OpenCode. V mém případě Claude Code používal '' | + | Význam: Použitý OAuth klient má předregistrovaný jiný callback než ten, který posílá OpenCode. V mém případě Claude Code používal '' |
| Rychlé řešení: Nepoužívat Claude Code '' | Rychlé řešení: Nepoužívat Claude Code '' | ||
| Řádek 396: | Řádek 665: | ||
| Rychlé řešení: publikovat port '' | Rychlé řešení: publikovat port '' | ||
| + | |||
| + | ==== CLI hlásí Session expired nebo Not authenticated ==== | ||
| + | |||
| + | Příznak: | ||
| + | |||
| + | < | ||
| + | Session expired | ||
| + | Not authenticated | ||
| + | </ | ||
| + | |||
| + | Význam: CLI token expiroval nebo není uložené platné přihlášení. | ||
| + | |||
| + | Rychlé řešení: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield auth login | ||
| + | </ | ||
| + | |||
| + | ==== CLI nezná model ==== | ||
| + | |||
| + | Příznak: | ||
| + | |||
| + | < | ||
| + | Unknown model " | ||
| + | </ | ||
| + | |||
| + | Význam: použitý název modelu není v aktuálním katalogu CLI. | ||
| + | |||
| + | Rychlé řešení: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield model list | ||
| + | </ | ||
| ===== Poznámky k bezpečnosti ===== | ===== Poznámky k bezpečnosti ===== | ||
| * Token nikdy neukládat přímo do '' | * Token nikdy neukládat přímo do '' | ||
| - | * Soubor | + | * Soubory |
| * Token v článku, logu ani chatu nevypisovat. | * Token v článku, logu ani chatu nevypisovat. | ||
| - | * Device flow token má podle testu platnost 24 hodin, takže se rychleji stane neplatným. | + | * Device flow token má podle testu platnost 24 hodin a neobsahuje refresh token. |
| - | * Pokud token expiruje nebo je kompromitovaný, znovu se přihlásit | + | * Refresh |
| * U lokálních wrapperů nad Higgsfield API neukládat API key/API secret přímo do konfigurace; | * U lokálních wrapperů nad Higgsfield API neukládat API key/API secret přímo do konfigurace; | ||
| + | * Při použití CLI a skills neukládat tokeny ani výstupy s citlivými URL do repozitáře. Pokud se používá '' | ||
| ===== Shrnutí ===== | ===== Shrnutí ===== | ||
| - | Claude Code fungoval, protože použil předregistrovaný OAuth flow a callback '' | + | Claude Code fungoval, protože použil předregistrovaný OAuth flow a callback '' |
| ===== Zdroje ===== | ===== Zdroje ===== | ||
| Řádek 414: | Řádek 717: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||