Skip to content

Copiloto local (sem API)

O tdmcp inclui um copiloto local para você controlar o TouchDesigner com uma LLM gratuita rodando na sua própria máquina — sem API paga, sem conta, funciona offline. O comando tdmcp chat abre uma pequena página de chat no navegador, conectada à mesma ponte do TouchDesigner que os outros clientes usam.

É o caminho econômico e privado: ótimo para o dia a dia, e ele passa o bastão para o Claude ou o Codex na hora em que você quiser montar um sistema inteiro.

Qual caminho é este?

O Claude Desktop é a rota sem terminal. Esta página é para rodar o tdmcp com um modelo local em vez de um assistente pago — precisa do Node.js 20+, como os caminhos do Codex e do Cursor.

Para que serve

O copiloto local recebe um subconjunto curado e seguro das ferramentas, então é rápido e difícil de usar errado. Ele é feito para o simples:

  • Inspecionar seu projeto — o que tem, como está ligado.
  • Ler erros e explicar o que está errado.
  • Criar, conectar e ajustar operadores individuais — um nó de cada vez.

Ele de propósito não monta sistemas inteiros (sem geradores da Layer 1) e não roda Python cru. Quando você quiser uma rede generativa ou reativa a áudio completa, clique em Escalate ⇪ na interface: ela copia um prompt pronto para colar que você entrega ao Claude ou ao Codex. Eles dirigem o mesmo projeto, então nada precisa se mover.

O que você precisa

  • TouchDesigner com a ponte ligada (o mesmo passo de uma linha de todo cliente — veja abaixo).
  • Node.js 20+ — usado para iniciar o copiloto.
  • Ollama — o executor de modelos locais gratuito. O tdmcp chat o inicia para você se ele ainda não estiver rodando.

Como iniciar

O caminho mais rápido não precisa de clone — só Node e Ollama instalados:

bash
# uma vez: instale o Ollama em https://ollama.com e, se quiser, baixe um modelo antes
ollama pull qwen2.5:3b      # opcional — a UI também tem um botão de download

npx -y @dpantani/tdmcp chat # abre http://127.0.0.1:4141 no seu navegador

Se você já clonou e compilou o tdmcp (o caminho a partir do código-fonte), o comando é só tdmcp chat (ou node dist/index.js chat).

O tdmcp chat inicia o Ollama para você se o daemon não estiver de pé — destacado e deixado rodando, então fechar o chat nunca tira seu modelo do ar. Flags úteis:

  • --no-ollama — não iniciar automaticamente (para um endpoint remoto ou um daemon que você gerencia).
  • --no-open — não abrir o navegador automaticamente.
  • --help — listar tudo.

Qual modelo local?

O qwen2.5:3b é o padrão — medido em 100% de tool-calling na carga de tarefas simples, tão confiável quanto modelos maiores, mas mais rápido e leve. Modelos abaixo de 3B são instáveis; suba para qwen2.5:7b só se quiser mais folga de qualidade nas respostas. Mais detalhes na referência do CLI (em inglês).

Usando o chat

A interface no navegador está conectada ao seu projeto do TouchDesigner ao vivo. Ela tem:

  • Um botão somente leitura — deixa ele olhar, mas não mexer.
  • Troca de modelo ao vivo e configurações de endpoint, além de um download de modelo num clique se algum não estiver baixado.
  • Histórico persistente, então sua conversa sobrevive a um reinício.
  • Escalate ⇪ — copia um prompt de transição para o Claude ou o Codex quando uma tarefa é grande demais para o modelo local.

Aponte para outro modelo

Por padrão o copiloto fala com o Ollama local, mas ele usa a API padrão compatível com a da OpenAI — então você pode apontá-lo para qualquer lugar com duas variáveis de ambiente:

VariávelPadrãoUse para
TDMCP_LLM_BASE_URLhttp://127.0.0.1:11434/v1LM Studio, uma GPU na nuvem ou uma API paga.
TDMCP_LLM_MODELqwen2.5:3bQualquer id de modelo disponível naquele endpoint.

A lista completa (incluindo TDMCP_LLM_API_KEY e a porta do chat) está em variáveis de ambiente.

Ligue a ponte

Como todo cliente, o copiloto precisa da pequena ponte rodando dentro do TouchDesigner. Abra o Textport (Dialogs → Textport and DATs), cole esta única linha e aperte Enter:

python
import urllib.request; exec(urllib.request.urlopen("https://raw.githubusercontent.com/Pantani/tdmcp/main/td/bootstrap.py").read().decode())

Você deve ver [tdmcp] bridge running on port 9980. Veja Instalação para os detalhes e como remover depois.

Não conecta?

  • Confirme que a ponte está ligada: curl http://127.0.0.1:9980/api/info deve devolver JSON.
  • Garanta que o Ollama está instalado e um modelo baixado (o botão de download da UI faz isso por você).
  • A Solução de problemas completa cobre os casos comuns.

Com o TouchDesigner aberto e a ponte ligada, peça em linguagem natural — "o que tem neste projeto?", "por que este nó está vermelho?", "adiciona um blur depois do ruído". Para ideias maiores, veja as receitas de prompt ou escale para o Claude / Codex.