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

Zeude: Painel de Monitoramento Auto-hospedado para Claude Code e OpenAI Codex
Tools

Zeude: Painel de Monitoramento Auto-hospedado para Claude Code e OpenAI Codex

Zeude é um painel auto-hospedado que monitora o uso do Claude Code e do OpenAI Codex, fornecendo detalhamentos de tokens e custos por prompt, rankings semanais e gerenciamento de habilidades da equipe. A versão 1.0.0 adiciona suporte ao Windows, integração com Codex e opção de desativar habilidades por usuário.

OpenClawRadar
Repowise: Contexto pré-computado do código base para Claude Code reduz uso de tokens e tempo de tarefa pela metade
Tools

Repowise: Contexto pré-computado do código base para Claude Code reduz uso de tokens e tempo de tarefa pela metade

Repowise indexa sua base de código em quatro camadas (grafo de dependências, sinais de git, wiki de documentação, ADRs) e expõe oito ferramentas MCP para o Claude Code, reduzindo uma sessão de arqueologia de 30 arquivos para 5 chamadas MCP e 2 minutos.

OpenClawRadar
Ferramenta Local Visualiza Dados de Sessão de Código do Claude
Tools

Ferramenta Local Visualiza Dados de Sessão de Código do Claude

Um script Python lê os dados da sessão do Claude Code armazenados localmente em ~/.claude/ e gera uma visualização controlada por rolagem com gráficos D3.js mostrando atividade diária, divisão por projeto, uso de ferramentas e mapas de calor do ritmo de codificação.

OpenClawRadar
Mostrar HN: WUPHF — Wiki de LLM no estilo Karpathy com Markdown + Git como Fonte da Verdade
Tools

Mostrar HN: WUPHF — Wiki de LLM no estilo Karpathy com Markdown + Git como Fonte da Verdade

WUPHF implementa uma camada de wiki para agentes de IA usando Markdown + Git para persistência, bleve (BM25) + SQLite para recuperação, com logs de fatos de entidades, wikilinks e um cron diário de lint. Funciona localmente sem dependência de banco de dados vetorial por enquanto.

OpenClawRadar