Tendril: Um agente autoextensível que constrói e registra ferramentas em tempo real

✍️ OpenClawRadar📅 Publicado: April 27, 2026🔗 Source
Ad

Tendril é um sandbox agentivo autoexpansível que demonstra o padrão Agent Capability — o modelo descobre, constrói e reutiliza ferramentas autonomamente entre sessões. Construído com AWS Strands Agents SDK e Tauri.

Como funciona

Você pede para o Tendril fazer algo. Ele verifica seu registro de capacidades. Se uma ferramenta existir, ele a usa. Se não, ele escreve uma, registra e a executa — tudo sem perguntar. Da próxima vez que precisar da mesma coisa, a ferramenta já estará lá.

Você: "busque as principais notícias do Hacker News"
Tendril: → searchCapabilities("buscar url hacker news") # nada encontrado
         → registerCapability(fetch_url, código) # constrói uma ferramenta
         → execute("fetch_url", {url: "https://..."}) # executa pelo nome
         → "Aqui estão as principais notícias: ..."

Você: "agora busque Lobsters e compare" Tendril: → listCapabilities() # encontrado: fetch_url ✓ → execute("fetch_url", {url: "https://lobste.rs"}) # executa — sem reconstruir

O registro cresce com o uso. Cada sessão é mais esperta que a anterior.

Configuração do agente

O núcleo do Tendril é um agente Strands com apenas três ferramentas de inicialização:

import { Agent } from '@strands-agents/sdk';
import { BedrockModel } from '@strands-agents/sdk/models/bedrock';

const agent = new Agent({ model: new BedrockModel({ modelId: '...', region: '...' }), systemPrompt: TENDRIL_SYSTEM_PROMPT(workspacePath), printer: nullPrinter, tools: [ listCapabilities(registry), registerCapability(registry), executeCode(registry, workspacePath, config), ], });

Ad

Regras do prompt do sistema

O prompt do sistema impõe comportamento autônomo:

  • Chame searchCapabilities(query) para verificar se existe uma ferramenta relevante
  • Se encontrada: chame loadTool(nome) e depois execute(código, args)
  • Se NÃO encontrada: você DEVE construir a ferramenta você mesmo
  • NUNCA pergunte "gostaria que eu criasse uma ferramenta?" — apenas construa
  • Se uma ferramenta falhar, leia o erro, corrija o código e tente novamente
  • NUNCA responda com dados de treinamento quando uma ferramenta puder obter informações ao vivo

Arquitetura

┌─────────────────────────────────────────┐
│ Tauri Shell (Rust)                      │
│  ACP Host ──stdin/stdout──► Agent      │
│  (acp.rs)          NDJSON    (Node.js SEA)│
│  Events ◄── session/update ──┘          │
│  (events.rs)                            │
│  Tauri Events ──► React Frontend        │
│  (TailwindCSS v4)                       │
└─────────────────────────────────────────┘

Agent internals: Strands SDK ── BedrockModel ── Claude │ 4 bootstrap tools ┌────┴────┐ │ Registry │ ←→ index.json + tools/*.ts └─────────┘ ┌────┴────┐ │ Sandbox │ ←→ Deno subprocess (sandboxed)

O loop agentivo roda dentro de agent.stream() e faz a ponte com o protocolo ACP, expondo as fases think, act e observe para a interface.

A solução "muitas ferramentas"

A maioria dos frameworks de agente dá ao modelo um grande pacote de ferramentas e espera que ele escolha a certa. O Tendril inverte isso — o modelo sempre vê exatamente três ferramentas. Ele pesquisa um registro, constrói o que precisa, e o registro cresce com o tempo. A superfície de ferramentas nunca muda; as capacidades sim.

📖 Leia o código-fonte completo: HN AI Agents

Ad

👀 See Also

FlowBoard v5: O Espaço de Trabalho de Projeto onde Seus Agentes de IA Realmente Funcionam
Tools

FlowBoard v5: O Espaço de Trabalho de Projeto onde Seus Agentes de IA Realmente Funcionam

O FlowBoard v5 é um espaço de trabalho baseado em React para agentes de IA. Inclui um armazenamento de tarefas orientado a eventos (SQLite), suporte a múltiplos agentes, ciclo de ideias para especificações e widgets modulares de visão geral.

OpenClawRadar
Ferramenta CLI do Relay salva o contexto da sessão do Claude quando há limitação de taxa
Tools

Ferramenta CLI do Relay salva o contexto da sessão do Claude quando há limitação de taxa

Relay é uma ferramenta CLI em Rust que lê as transcrições de sessão .jsonl do Claude do disco e cria snapshots completos da sua sessão, incluindo conversa, chamadas de ferramentas, tarefas pendentes, estado do git e erros. Ele gera prompts de contexto para retomar sessões após os limites de taxa serem redefinidos.

OpenClawRadar
CC-Canary: Detecte Regressões no Claude Code com Análise Local de JSONL
Tools

CC-Canary: Detecte Regressões no Claude Code com Análise Local de JSONL

CC-Canary lê os logs de sessão do Claude Code e produz um relatório forense sobre deriva de modelo, incluindo razão leitura:edição, loops de raciocínio, tendências de custo e datas de inflexão detectadas automaticamente.

OpenClawRadar
Cull: Mecanismo de Curadoria de Conjuntos de Dados de Código Aberto para Pipelines de Imagens de IA
Tools

Cull: Mecanismo de Curadoria de Conjuntos de Dados de Código Aberto para Pipelines de Imagens de IA

O Cull coleta imagens de mais de 340 fontes, incluindo Civitai, X/Twitter, Reddit, Discord e sites booru, classifica-as com um modelo de visão-linguagem via LM Studio local ou Groq, e organiza em pastas de categorias com prompts SD e registros de auditoria.

OpenClawRadar