Pular para o conteúdo
claudemods

Use Haiku: um prompt do Claude Code com Haiku

Comece um prompt do Claude Code com _ e esse turno roda no Haiku, com uma dica visível em cada etapa.

Permissões

  • Lê seus promptsPode ver o que você digita e a transcrição da conversa (prompt.* / session.append / session.messages).
  • Altera a interfaceDesenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
testado com
v2.1.303
último teste
requer
Claude Code ≥ 2.1.287
superfícies
spinner, transcrição, status

Instale dentro do Claude Code:

/plugin install use-haiku --marketplace midudev/better-claude
Todas as opções de instalação ↓

O que este mod faz?

Use Haiku é um mod da comunidade de Miguel Ángel Durán (midudev), parte da coleção better-claude. Ele permite enviar um prompt do Claude Code com Haiku sem mudar o modelo da sessão: comece o prompt com _ e esse turno roda no claude-haiku-5-5. O Claude recebe o texto sem o _, e cada requisição de modelo do turno vai para o Haiku, inclusive as dos subagentes que o turno inicia. O próximo prompt volta ao modelo da sessão.

O mod torna a troca visível em três lugares. Enquanto você digita, o _ aparece em negrito na caixa do prompt e uma linha abaixo diz ⚡ this prompt runs on Haiku. Enquanto o turno roda, a palavra do spinner ganha o sufixo on Haiku. Ao terminar, uma linha abaixo da resposta nomeia o modelo informado pela API, por exemplo ⚡ Answered by claude-haiku-5-5, ou um aviso se outro modelo respondeu. O prompt também leva uma nota que você não vê, dizendo ao modelo que ele é o Haiku, então "qual modelo é você?" recebe a resposta certa. Serve para perguntas rápidas e consultas pequenas em que um modelo menor basta.

Só contam os seus próprios prompts: digitados, enviados pelo celular, claude -p "_…", um /loop agendado ou um plugin que os envia por você, como o After. O README do autor exige uma versão do Claude Code com mods (2.1.289 ou mais recente).

Demonstração

A gravação inicia o Claude Code com o mod carregado no pequeno projeto de demonstração e digita _what is the name of this project? answer in one short sentence. Enquanto o texto é digitado, a linha abaixo da caixa mostra ⚡ this prompt runs on Haiku. Depois do Enter, o spinner diz Haiku…. Quando o turno termina, o Claude responde que o projeto se chama demo-app e abaixo da resposta aparece ⚡ Answered by claude-haiku-5-5. A sessão da demonstração já usa o Haiku, então o modelo não muda neste clipe; o que se vê é o retorno visual do mod em cada lugar.

Instalação

Use qualquer um dos métodos do bloco de instalação; eles instalam direto do marketplace do próprio autor, better-claude. O mod fica ativo a partir do próximo início de sessão. Não há nada para configurar: digite _ antes de um prompt.

$ install use-haiku

Requer Claude Code ≥ 2.1.287

Instala a partir do marketplace do autor: midudev/better-claude

  1. 1.Uma linha, dentro do Claude Code

    /plugin install use-haiku --marketplace midudev/better-claude

    Cole em uma sessão em andamento (v2.1.275+). O Claude Code pede primeiro para adicionar o marketplace.

  2. 2.Pelo seu shell

    claude plugin marketplace add midudev/better-claude
    claude plugin install use-haiku@better-claude

    Depois execute /reload-plugins em qualquer sessão que já esteja aberta.

  3. 3.Experimente sem instalar

    git clone https://github.com/midudev/better-claude
    claude --plugin-dir ./better-claude/plugins/use-haiku

    Carrega o mod só para uma sessão. Nada é adicionado às suas configurações.

Como funciona

O mod é um único módulo de hooks, hooks/register.tsx. Em prompt.submit, um prompt em repouso que começa com um único _ perde a marca, recebe a nota para o modelo e reivindica o próximo turno. Depois, turn.step reescreve o modelo de cada requisição desse turno:

// Every request of a Haiku turn goes to Haiku: the main loop's and those of the subagents it started.
on('turn.step', async function* ($, e, next) {
  const isHaiku = e.agentId === undefined
    ? e.turnId === (await read($, haikuTurn))
    : (await read($, haikuAgents)).includes(e.agentId)
  return yield* next(isHaiku ? { ...e, model: HAIKU } : e)
})

O id do turno do Haiku e os ids dos seus subagentes ficam em $.state, então um reload no meio do turno os mantém. agent.spawn inicia no Haiku o subagente de um turno do Haiku e guarda seu id. turn.complete encerra o turno do Haiku e adiciona a linha abaixo da resposta, apenas em sessão interativa, de modo que a saída de claude -p fica limpa. Dois hooks ui.render desenham o sufixo do spinner e a dica abaixo do prompt.

Personalize

Não há opções. O nome do modelo (HAIKU), a marca (MARK) e a cor de destaque são constantes no início de register.tsx; para mudá-los, edite sua própria cópia e carregue com claude --plugin-dir.

Permissões e segurança

Antes de executar, lemos todos os arquivos que o plugin pode executar: hooks/hooks.json, hooks/register.tsx, as declarações de tipos, o manifesto e os testes, além do package.json, do marketplace.json e do LICENSE do repositório. Não há script de instalação, dependências, código empacotado nem binários, e não encontramos caracteres Unicode ocultos.

Hooks de controle: prompt.submit e agent.spawn reescrevem o que é enviado e o modelo de um subagente. É o que o README descreve: o _ é removido, uma nota é adicionada ao contexto do prompt e o modelo do turno do Haiku é definido. A nota diz: "The person sent this prompt to Haiku: you are claude-haiku-5-5 while you answer it". O validate indica que os dois hooks não têm .catch. Altera a interface abrange a dica abaixo do prompt, o rótulo do spinner, o _ em negrito e a linha abaixo da resposta. Um toast aparece se você enviar um prompt com _ no meio de um turno.

O mod usa apenas $.state e $.ui. Não usa a rede, não executa processos, não grava arquivos, não lê variáveis de ambiente nem executa um daemon, e não tem telemetria. O claude plugin validate não relatou erros nem avisos, e os 10 testes do autor passaram no Claude Code 2.1.303. A licença é MIT (arquivo LICENSE presente).

Lê seus prompts
Pode ver o que você digita e a transcrição da conversa (prompt.* / session.append / session.messages).
Altera a interface
Desenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).

Compatibilidade e solução de problemas

Verificado com o Claude Code 2.1.303 no macOS (validate, testes e gravação). Se um prompt não rodar no Haiku:

  • O primeiro caractere é um único _ e há texto depois dele.
  • O Claude está em repouso. Um prompt enviado no meio de um turno mantém o modelo atual, como a dica diz.
  • O prompt veio de você, não de um canal, de outra sessão ou de uma tarefa em segundo plano.
  • Você carregou o plugin (/plugin o lista) e iniciou uma sessão nova após instalar.
  • Se a linha abaixo da resposta avisar que outro modelo respondeu, a API não atendeu a requisição; o aviso mostra o nome do modelo.

Perguntas frequentes

O mod muda o modelo da minha sessão?
Não. Só o turno que começa com _ vai para o claude-haiku-5-5. O próximo prompt volta ao modelo que a sessão usa, sem alterar nenhuma configuração.
O que acontece se eu digitar um prompt com _ enquanto o Claude ainda trabalha?
O texto é incorporado ao turno em andamento ou entra na fila logo depois, então mantém o modelo atual. A linha abaixo do prompt avisa antes de enviar e um toast avisa depois.
Os subagentes também rodam no Haiku?
Sim. Os subagentes que um turno do Haiku inicia são criados no Haiku e continuam nele mesmo depois que o turno termina. Forks e agentes de workflow são tratados a cada requisição, e os colegas de equipe mantêm o próprio modelo.
Por que aparece o aviso Asked for Haiku, but … answered?
Depois de um turno interativo do Haiku, o mod lê o nome do modelo no uso devolvido pela API. Se ele não contiver "haiku", mostra um aviso com esse nome no lugar da linha habitual "Answered by".
Ainda posso escrever nomes como __init__.py?
Sim. Um sublinhado duplo no início não é uma marca, e um _ sozinho também não. Prompts como __init__.py fails to import são enviados sem alteração.
After em execução no Claude CodeDestaque

After

Fila de prompts para o Claude Code: /after roda a próxima tarefa quando a atual termina, sem desviá-la.

  • acima do prompt
  • painel
  • notificação
  • status
  • Chama o modelo (usa sua cota)
  • Lê seus prompts
  • Altera a interface
  • Adiciona comandos/ferramentas
  • Armazena dados

testado com v2.1.303

Context Bar em execução no Claude CodeDestaque

Context Bar

A janela de contexto do Claude Code como uma barra empilhada acima do prompt, uma cor por categoria, com tokens.

  • acima do prompt
  • Altera a interface
  • Adiciona comandos/ferramentas
  • Armazena dados

testado com v2.1.291

Mais em Timers, tarefas e standups, Contexto, cota e custo.