Tendril: Un agente autoextensible que construye y registra herramientas sobre la marcha

✍️ OpenClawRadar📅 Publicado: 27 de abril de 2026🔗 Source
Ad

Tendril es un arenero agentico autoextensible que demuestra el patrón de Capacidad de Agente: el modelo descubre, construye y reutiliza herramientas de forma autónoma a través de sesiones. Construido con AWS Strands Agents SDK y Tauri.

Cómo funciona

Le pides a Tendril que haga algo. Revisa su registro de capacidades. Si existe una herramienta, la usa. Si no, escribe una, la registra y la ejecuta, todo sin preguntar. La próxima vez que necesites lo mismo, la herramienta ya está ahí.

Tú: "obtén las mejores historias de Hacker News"
Tendril: → searchCapabilities("obtener url hacker news") # nada encontrado
         → registerCapability(fetch_url, código) # construye una herramienta
         → execute("fetch_url", {url: "https://..."}) # la ejecuta por nombre
         → "Aquí están las mejores historias: ..."

Tú: "ahora obtén Lobsters y compara" Tendril: → listCapabilities() # encontrado: fetch_url ✓ → execute("fetch_url", {url: "https://lobste.rs"}) # la ejecuta — sin reconstruir

El registro crece con el uso. Cada sesión es más inteligente que la anterior.

Configuración del agente

El núcleo de Tendril es un agente Strands con solo tres herramientas de arranque:

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

Reglas del prompt del sistema

El prompt del sistema impone un comportamiento autónomo:

  • Llama a searchCapabilities(query) para verificar si existe una herramienta relevante
  • Si se encuentra: llama a loadTool(name) y luego a execute(code, args)
  • Si NO se encuentra: DEBES construir la herramienta tú mismo
  • NUNCA preguntes "¿quieres que cree una herramienta?" — simplemente constrúyela
  • Si una herramienta falla, lee el error, corrige el código y reintenta
  • NUNCA respondas con datos de entrenamiento cuando una herramienta podría obtener información en vivo

Arquitectura

┌─────────────────────────────────────────┐
│ 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)

El bucle agentico se ejecuta dentro de agent.stream() y se conecta al protocolo ACP, exponiendo las fases think, act y observe a la interfaz de usuario.

La solución "demasiadas herramientas"

La mayoría de los frameworks de agentes le dan al modelo una gran bolsa de herramientas y esperan que elija la correcta. Tendril invierte esto: el modelo siempre ve exactamente tres herramientas. Busca en un registro, construye lo que necesita y el registro crece con el tiempo. La superficie de herramientas nunca cambia; las capacidades sí.

📖 Lee el código fuente completo: HN AI Agents

Ad

👀 Ver también

Zerro: Señala tu app en vivo, habla y mira cómo Claude Code la edita al instante
Herramientas

Zerro: Señala tu app en vivo, habla y mira cómo Claude Code la edita al instante

Zerro es una app para Mac que te permite apuntar con el cursor a una aplicación en ejecución, describir un cambio en voz alta y hacer que Claude Code edite los archivos reales en vivo. Captura el movimiento, resuelve a qué elemento te refieres y crea un punto de control antes de cada ejecución.

OpenClawRadar
yoyo: Servidor MCP local para lecturas fundamentadas de bases de código y escrituras controladas con Claude Code
Herramientas

yoyo: Servidor MCP local para lecturas fundamentadas de bases de código y escrituras controladas con Claude Code

yoyo es un servidor MCP local de código abierto que proporciona a agentes de codificación como Claude Code lecturas fundamentadas de repositorios y escrituras protegidas en 16 lenguajes, incluyendo Rust, Go, Python y TypeScript. Evita que ediciones defectuosas se apliquen silenciosamente devolviendo una salida legible por máquina de guard_failure y habilitando retry_plan para reparaciones específicas.

OpenClawRadar
Orloj: Entorno de Ejecución de Orquestación Declarativa para Sistemas de IA Multiagente
Herramientas

Orloj: Entorno de Ejecución de Orquestación Declarativa para Sistemas de IA Multiagente

Orloj v0.1.0 es un entorno de ejecución de orquestación de código abierto que te permite definir agentes de IA, herramientas, políticas y flujos de trabajo en manifiestos YAML con GitOps. Maneja la programación, ejecución, gobernanza y confiabilidad para sistemas de múltiples agentes en producción.

OpenClawRadar
Solicitud de Función para Claude Desktop: Gancho de Inicio de Sesión para Inicialización Automática
Herramientas

Solicitud de Función para Claude Desktop: Gancho de Inicio de Sesión para Inicialización Automática

Un desarrollador que construye sistemas de contexto persistente para Claude Desktop identifica una brecha: el campo de Preferencias del Usuario solo inyecta instrucciones cuando el usuario envía el primer mensaje, requiriendo activadores manuales para la inicialización. Proponen agregar un campo de ejecución "Al Iniciar Sesión" que se ejecute automáticamente cuando se abre una nueva conversación.

OpenClawRadar