Claude Code orchestrace bez API – shrnutí konverzace

Datum: 2026-05-10 21:08
Téma: Jak využít Claude subscription bez Anthropic API a použít Claude Code jako externího agenta řízeného Hermesem.


1. Výchozí otázka

Zico řešil, jak využít Claude subscription bez použití API.

Závěr:


2. Dohodnuté pravidlo

Zico výslovně nastavil pravidlo:

Nesmí se používat Claude / Anthropic API. Claude se má používat výhradně přes Claude Code přes subscription/OAuth. Hermes ho pouze orchestruje.

Toto bylo uloženo do paměti asistenta.

Prakticky to znamená:

env -u ANTHROPIC_API_KEY claude ...

Tím se zajistí, že i když je v prostředí nastavený ANTHROPIC_API_KEY, Claude Code ho v tomto orchestrace workflow nepoužije.


3. Ověření Claude Code setupu

Na VM bylo ověřeno:

claude --version

Výsledek:

2.1.136 (Claude Code)

Ověřeno také přihlášení:

claude auth status --text

Výsledek ukázal:

Login method: Claude Max account
Organization: zdenek.suchacek@gmail.com's Organization
Email: zdenek.suchacek@gmail.com

Tím bylo potvrzeno, že Claude Code běží přes Claude Max subscription/OAuth.


4. Vytvořený helper pro orchestrace

Byl vytvořen helper skript:

/home/vmubuntu/bin/claude-task

Použití:

claude-task /cesta/k/projektu "Zadání pro Claude Code" 10

Skript:

Klíčová část:

exec env -u ANTHROPIC_API_KEY claude -p "$PROMPT" \
  --output-format json \
  --max-turns "$MAX_TURNS" \
  --allowedTools "Read,Edit,Write,Bash(git *),Bash(npm *),Bash(python *),Bash(python3 *),Bash(pytest *),Bash(pip *),Bash(ls *),Bash(find *),Bash(grep *),Bash(cat *),Bash(make *)"

5. Test orchestrace

Proběhl test:

/home/vmubuntu/bin/claude-task /tmp/claude-sub-test 'Přečti input.txt a vytvoř result.txt ...' 5

Claude Code vytvořil soubor s větou:

Claude Code běží přes subscription orchestrace.

Tím bylo ověřeno workflow:

Hermes → Claude Code CLI → Claude Max subscription/OAuth → Hermes ověří výsledek

6. První praktický úkol: base class pro D365 pluginy

Zico zadal:

Orchestruj Claude Code vytvořit base class for D365 plugin implementation, výsledek jako markdown.

Claude Code vytvořil:

Výsledek byl publikován:

Base class pro D365 / Dataverse plugin implementaci

Co base class obsahuje

Na základě připomínky byl markdown opraven tak, aby obsahoval vložený zdrojový kód přímo v markdownu, nejen odkazy na .cs soubory.


7. Druhý praktický úkol: AccountNumber required plugin

Zico zadal:

Plugin, který při post update account zkontroluje, zda-li je vyplněn accountnumber a pokud ne vyhodí výjimku AccountNumber je povinný!

Claude Code vytvořil plugin:

AccountNumberRequiredPostUpdatePlugin.cs

Publikovaný markdown:

D365 plugin: AccountNumber povinný při Post Update account

Požadované chování

Plugin:

AccountNumber je povinný!

Robustní čtení hodnoty

Protože v Post Update nemusí Target obsahovat nezměněný atribut accountnumber, plugin hledá hodnotu v pořadí:

  1. Target, pokud přišel atribut v update payloadu,
  2. PostImage, pokud je registrovaný,
  3. Retrieve aktuálního account záznamu jako fallback.

Doporučená registrace

Vlastnost Hodnota
Message Update
Primary Entity account
Stage PostOperation (40)
Execution Mode Synchronous
Run in User Context Calling User
Filtering Attributes nechat prázdné, pokud má validace proběhnout při každém update accountu

Doporučená Post Image:

Vlastnost Hodnota
Image Type Post Image
Alias PostImage
Attributes accountnumber

8. Důležité rozhodnutí při kontrole kódu

Claude původně přidal pojistku:

if (context.Depth > 1)
{
    return;
}

Hermes ji při ověření odstranil, protože tento plugin nic neupdatuje, takže se sám nemůže zacyklit. Naopak by Depth > 1 stopka mohla chybně obejít validaci v situaci, kdy Account aktualizuje jiný plugin nebo workflow.

Finální rozhodnutí:


9. Výsledný pracovní vzor

Dohodnutý opakovatelný workflow:

1. Zico zadá úkol v Discordu.
2. Hermes vytvoří přesné zadání pro Claude Code.
3. Hermes spustí /home/vmubuntu/bin/claude-task.
4. claude-task vynutí subscription/OAuth režim přes env -u ANTHROPIC_API_KEY.
5. Claude Code vytvoří soubory.
6. Hermes přečte a zkontroluje výstupy.
7. Hermes případně opraví zjevné problémy.
8. Hermes publikuje markdown na Hermes WWW.
9. Hermes vrátí veřejný odkaz.

10. Publikované výstupy z konverzace


11. Shrnutí

Konverzace ověřila, že lze prakticky využívat Claude subscription bez přímého Anthropic API: