ClaudeMods
☰
ZH-TW
● 0 人在線上 · 瀏覽 0 次
贊助提交作品
GitHub 儲存庫 · 發布者 shreym95

dojo-fx

為 dojo crew 提供選用的視覺效果:主題 spinner、回合結束裝飾、即時 crew 狀態帶、部署/返回 toast,以及讓 dojo agent 使用各自模型的模型保護。

已翻譯

關於這個 mod

dojo

以動漫為主題的 Claude Code subagent:一個 orchestrator 和一組 crew,每個都有自己的模型、工具和語氣。

Crew

| Agent | Character | Role | Model | |---|---|---|---| | dojo:strategist | Shikamaru 或 Lelouch(每個工作階段不同) | Orchestrator / integrator(主執行緒) | claude-opus-5-5 | | dojo:senku | Senku | Backend builder | claude-sonnet-5-5 | | dojo:sanji | Sanji | Frontend builder | claude-sonnet-5-5 | | dojo:l | L | Deep web researcher | claude-haiku-4-5 | | dojo:light | Light | Quick fact-finder | claude-haiku-4-5 | | dojo:levi | Levi | QA inspector(唯讀) | claude-haiku-4-5 | | `dojo:robin | Robin | Documentation writer | claude-haiku-4-5 |

安裝

/plugin marketplace add shreym95/dojo
/plugin install dojo@dojo

啟動 orchestrator

claude --agent dojo:strategist
crew               # bin/crew: random persona
crew lelouch       # pin the persona (shikamaru | lelouch)

也可以在 settings.json 中將它設為預設值:"agent": "dojo:strategist"。

strategist 必須以主執行緒 agent 執行,因為 subagent 無法再產生 subagent。以 subagent 執行時,它無法派遣 crew。

SessionStart hook 會告訴 strategist 目前值班的 persona。使用 DOJO_STRATEGIST=shikamaru|lelouch 覆寫;設定 DOJO_DEBUG=1,可將 hook 輸入記錄到 `${TMPDIR:-/tmp}/dojo-hook-debug.log。

自訂

編輯 roster.mjs(角色、模型、工具、描述)、personas/*.md(語氣說明)、roles/*.md(職責)或 shared/house-rules.md,然後:

npm run build   # regenerate agents/*.md
npm run check   # fail if agents/ has drifted (used in CI)
npm test

`agents/*.md 是產生的檔案;不要手動編輯。

語氣等級

角色說話有多活躍,由 roster.mjs 設定:defaults: { voice: 'medium' },或在單一 agent 上設定 `voice: '...' 來覆寫。

| Level | What you get | |---|---| | subtle | 一句角色開場白,可選結尾語,正文保持平實。 | | medium(預設) | 1-2 句開場白、帶有角色色彩的措辭、最多約 3 個簡短插話和 2 個口頭禪,以及結尾語。長度約增加 +20%。 | | `full | 角色自由發言,逐節展開。長度約增加 +40%。 |

無論等級如何,事實、路徑、數字和命令都保持準確,persona 不會進入程式碼、commit 或檔案。每份 crew 報告都以 Says: 行結尾;strategist 會在 Crew: 下轉述。等級規則位於 shared/voice/;修改等級後執行 npm run build。

dojo-fx(選用的視覺效果)

這是此 marketplace 中的第二個外掛,建置在 Claude Code 的 function hooks(early-access API)上:/plugin install dojo-fx@dojo。主要的 dojo 外掛沒有它也能運作。

  • 主題 spinner:主執行緒的 spinner 文字來自值班的 strategist(Shikamaru:「Shadow-possessing」「Reading the board」;Lelouch:「Commanding」「Geass-ing」)。crew 成員自己的 spinner 會使用相應的 emoji 和動詞(🧪 Senku「Science-ing」、🧹 Levi「Scrubbing」、🌸 Robin「Deciphering」……)。動詞每回合輪替。
  • 回合結束裝飾:收尾一回合的文字是「Outmaneuvered」(Shikamaru)或「Checkmated」(Lelouch)。
  • Crew 狀態帶:任何 dojo:* subagent 執行時,提示列上方會出現一列:emoji、名稱、動畫影格、任務和最新工具呼叫(Bash: npm test)。沒有人執行時就消失。
  • Toast:🧹 Levi deployed — "Chi. Show me the mess.",接著是 🧹 Levi returned 或 `💀 Levi fell。
  • 模型保護(一律開啟):任何 dojo:* 類型的 agent.spawn 都會移除 `model,因此呼叫端的「always pass model: sonnet」不能覆寫 agent 自己 frontmatter 中的模型。

strategist 從 dojo: on duty: <Name> 上下文列讀取;找不到時使用 DOJO_STRATEGIST,否則使用中性的 strategist 主題。在 /config(或設定中的 pluginConfigs)切換功能:spinners、turnFlair、band、toasts、neutralMainTheme 預設全部開啟。emoji、動詞、影格和 toast 文案位於 fx/hooks/characters.ts。不安裝也可以試用:claude --plugin-dir ./fx。測試:claude plugin test fx。

注意

產生 dojo agent 時不要傳 `model:它會覆寫 frontmatter 中設定的模型。

授權條款

MIT

安裝

請先查看作者 README,確認 marketplace 與外掛名稱;指令可能隨儲存庫結構而變動。

claude plugin marketplace add shreym95/dojo
claude plugin install dojo-fx
原文 / README

dojo

Anime-themed Claude Code subagents: one orchestrator and a crew, each with its own model, tools and voice.

Crew

| Agent | Character | Role | Model | |---|---|---|---| | dojo:strategist | Shikamaru or Lelouch (per session) | Orchestrator / integrator (main thread) | claude-opus-5-5 | | dojo:senku | Senku | Backend builder | claude-sonnet-5-5 | | dojo:sanji | Sanji | Frontend builder | claude-sonnet-5-5 | | dojo:l | L | Deep web researcher | claude-haiku-4-5 | | dojo:light | Light | Quick fact-finder | claude-haiku-4-5 | | dojo:levi | Levi | QA inspector (read-only) | claude-haiku-4-5 | | dojo:robin | Robin | Documentation writer | claude-haiku-4-5 |

Install

/plugin marketplace add shreym95/dojo
/plugin install dojo@dojo

Launch the orchestrator

claude --agent dojo:strategist
crew               # bin/crew: random persona
crew lelouch       # pin the persona (shikamaru | lelouch)

Or make it the default in settings.json: "agent": "dojo:strategist".

The strategist must run as the main-thread agent because subagents cannot spawn subagents. Run as a subagent it could not dispatch the crew.

A SessionStart hook tells the strategist which persona is on duty. Override with DOJO_STRATEGIST=shikamaru|lelouch; set DOJO_DEBUG=1 to log hook input to ${TMPDIR:-/tmp}/dojo-hook-debug.log.

Customise

Edit roster.mjs (characters, models, tools, descriptions), personas/*.md (voice sheets), roles/*.md (duties) or shared/house-rules.md, then:

npm run build   # regenerate agents/*.md
npm run check   # fail if agents/ has drifted (used in CI)
npm test

agents/*.md is generated; do not edit by hand.

Voice levels

How loud the characters are is set in roster.mjs: defaults: { voice: 'medium' }, or voice: '...' on one agent to override it.

| Level | What you get | |---|---| | subtle | One in-character opening line, optional sign-off, plain body. | | medium (default) | 1-2 opening lines, character-coloured wording, up to ~3 short asides and 2 catchphrases, a closing line. About +20% length. | | full | The character speaks freely, section by section. About +40% length. |

At every level facts, paths, numbers and commands stay exact, and persona never reaches code, commits or files. Each crew report ends with a Says: line; the strategist relays them to you under Crew:. Level rules are in shared/voice/; run npm run build after changing a level.

dojo-fx (optional visuals)

A second plugin in this marketplace, built on Claude Code's function hooks (early-access API): /plugin install dojo-fx@dojo. The main dojo plugin works without it.

  • Themed spinners: the main thread's spinner word comes from the on-duty strategist (Shikamaru: "Shadow-possessing", "Reading the board"; Lelouch: "Commanding", "Geass-ing"). A crew member's own spinner gets its emoji and verbs (🧪 Senku "Science-ing", 🧹 Levi "Scrubbing", 🌸 Robin "Deciphering"...). Verbs rotate per turn.
  • Turn-end flair: the line that closes a turn says "Outmaneuvered" (Shikamaru) or "Checkmated" (Lelouch).
  • Crew band: while any dojo:* subagent runs, one row each above the prompt: emoji, name, an animated frame, its task and its latest tool call (Bash: npm test). Gone when nobody is running.
  • Toasts: 🧹 Levi deployed — "Chi. Show me the mess.", then 🧹 Levi returned or 💀 Levi fell.
  • Model guard (always on): an agent.spawn of any dojo:* type has model stripped, so a caller's "always pass model: sonnet" can't override an agent's own frontmatter model.

The strategist is read from the dojo: on duty: <Name> context line; if it can't be found, DOJO_STRATEGIST is used, else a neutral strategist theme. Toggle features in /config (or pluginConfigs in settings): spinners, turnFlair, band, toasts, neutralMainTheme, all on by default. Emoji, verbs, frames and toast lines live in fx/hooks/characters.ts. Try it without installing: claude --plugin-dir ./fx. Tests: claude plugin test fx.

Note

Don't pass model when spawning dojo agents: it overrides the model set in their frontmatter.

License

MIT

更多類似作品