Tendril: Um agente autoextensível que constrói e registra ferramentas em tempo real
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),
],
});
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 depoisexecute(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
👀 See Also

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.

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.

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.

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.