En este tutorial, construimos y operamos un tiempo de ejecución OpenClaw totalmente local y con esquema válido. Configuramos la puerta de enlace OpenClaw con un enlace de bucle invertido estricto, configuramos el acceso al modelo autenticado a través de variables de entorno y definimos un entorno de ejecución seguro utilizando la herramienta ejecutiva incorporada. Luego creamos una habilidad personalizada estructurada que el agente de OpenClaw puede descubrir e invocar de manera determinista. En lugar de ejecutar manualmente scripts de Python, permitimos que OpenClaw orqueste el razonamiento del modelo, la selección de habilidades y la ejecución controlada de herramientas a través del tiempo de ejecución de su agente. A lo largo del proceso, nos centramos en la arquitectura de OpenClaw, el plano de control de la puerta de enlace, los valores predeterminados de los agentes, el enrutamiento del modelo y la abstracción de habilidades para comprender cómo OpenClaw coordina el comportamiento autónomo en una configuración segura y local.
[“bash”, “-lc”, cmd]check=check, text=True, capture_output=capture, env=env o os.environ.copy(), ) devuelve p.stdout si captura else Ninguno def require_secret_env(var=”OPENAI_API_KEY”): if os.environ.get(var, “”).strip(): return key = getpass(f”Enter {var} (oculto): “).strip() if not key: rise RuntimeError(f”{var} es obligatorio.”) os.environ[var] = clave def install_node_22_and_openclaw(): sh(“sudo apt-get update -y”) sh(“sudo apt-get install -y ca-certificates curl gnupg”) sh(“curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -“) sh(“sudo apt-get install -y nodejs”) sh(“nodo -v && npm -v”) sh(“npm install -g openclaw@latest”) sh(“openclaw –version”, check=False)
Definimos las funciones principales de la utilidad que nos permiten ejecutar comandos de shell, capturar variables de entorno de forma segura e instalar OpenClaw con el tiempo de ejecución de Node.js requerido. Establecemos la interfaz de control fundamental que conecta la ejecución de Python con la CLI de OpenClaw. Aquí, preparamos el entorno para que OpenClaw pueda funcionar como el tiempo de ejecución del agente central dentro de Colab.
Escribimos un archivo de configuración OpenClaw válido para el esquema e inicializamos la configuración de la puerta de enlace local. Definimos el espacio de trabajo, el enrutamiento del modelo y el comportamiento de la herramienta de ejecución de acuerdo con la estructura de configuración oficial de OpenClaw. Luego iniciamos la puerta de enlace OpenClaw en modo loopback para garantizar que el tiempo de ejecución del agente se inicie de forma correcta y segura.
Pruebe: datos = json.loads (salida) si es instancia (datos, dict): para k en [“models”, “items”, “list”]: si es instancia (datos.get(k), lista): datos = datos[k]
romper si isinstance(data, list): para ello en datos: si isinstance(it, str) y “/” en él: refs.append(it) elif isinstance(it, dict): para key in [“ref”, “id”, “model”, “name”]: v = it.get(key) si isinstance(v, str) y “/” en v: refs.append(v) se rompen excepto Excepción: pasar refs = [r for r in refs if r.startswith(“openai/”)]
preferido = [“openai/gpt-4o-mini”, “openai/gpt-4.1-mini”, “openai/gpt-4o”, “openai/gpt-5.2-mini”, “openai/gpt-5.2”]
para p en preferido: si p en refs: devolver p devolver refs[0] if refs else “openai/gpt-4o-mini” def set_default_model(model_ref): sh(f’openclaw config set agentes.defaults.model.primary “{model_ref}”‘, check=False)
Consultamos dinámicamente a OpenClaw para conocer los modelos disponibles y seleccionamos un modelo de proveedor de OpenAI apropiado. Configuramos mediante programación los valores predeterminados del agente para que OpenClaw enrute todas las solicitudes de razonamiento a través del modelo elegido. Aquí, permitimos que OpenClaw maneje la abstracción de modelos y la autenticación de proveedores sin problemas.
(“OpenClaw basics”, “OpenClaw runs an agent runtime behind a local gateway and can execute tools and skills in a controlled way.”),
(“Strict config schema”, “OpenClaw gateway refuses to start if openclaw.json has unknown keys; use openclaw doctor to diagnose issues.”),
(“Exec tool config”, “tools.exec config sets timeouts and behavior; it does not use an enabled flag in the config schema.”),
(“Gateway auth”, “Even on localhost, gateway auth exists; auth.mode can be none for trusted loopback-only setups.”),
(“Skills”, “Skills define repeatable tool-use patterns; agents can select a skill and then call exec with a fixed command template.”)
]
documentos = []
para título, cuerpo en CORPUS: envía = re.split(r'(?<=[.!?])\s+', body.strip()) para i, s en enumerar(envía): s = s.strip() if s: docs.append((f"{title}#{i+1}", s)) model = SentenceTransformer("all-MiniLM-L6-v2") emb = model.encode([d[1] para d en documentos]normalize_embeddings=True).astype("float32") index = faiss.IndexFlatIP(emb.shape[1]) index.add(emb) q_emb = modelo.encode([q]normalize_embeddings=True).astype("float32") D, I = index.search(q_emb, 4) visitas = []
para puntuación, idx en zip (D[0].tolist(), yo[0].tolist()): si idx >= 0: ref, txt = docs[idx]
hits.append((score, ref, txt)) print(“Respuesta (basada en fragmentos recuperados):\n”) print(“Pregunta:”, q, “\n”) print(“Puntos clave:”) para puntuación, ref, txt en visitas: print(f”- ({score:.3f}) {txt} [{ref}]”) print(“\nCitas:”) para _, ref, _ en visitas: print(f”- {ref}”) “””).strip() + “\n”) sh(f”chmod +x {shlex.quote(str(tool_py))}”) Skill_md = Skill_dir / “SKILL.md” Skill_md.write_text(textwrap.dedent(f””” — nombre: colab_rag_lab descripción: RAG local determinista invocado mediante un comando ejecutivo fijo — # Colab RAG Lab ## Regla de herramientas (estricta) Ejecutar siempre exactamente: `python3 {tool_py} “”` ## Regla de salida Devuelve la salida de la herramienta palabra por palabra.
Construimos una habilidad OpenClaw personalizada dentro del directorio del espacio de trabajo designado. Definimos un patrón de ejecución determinista en SKILL.md y lo emparejamos con un script de herramienta RAG estructurado que el agente puede invocar. Confiamos en el mecanismo de carga de habilidades de OpenClaw para registrar y poner en funcionamiento automáticamente esta herramienta dentro del tiempo de ejecución del agente.
Actualizamos el registro de habilidades de OpenClaw e invocamos al agente OpenClaw con una instrucción estructurada. Permitimos que OpenClaw realice razonamientos, seleccione la habilidad, ejecute la herramienta ejecutiva y devuelva la salida basada en tierra. Aquí, demostramos el ciclo completo de orquestación de OpenClaw, desde la configuración hasta la ejecución del agente autónomo.
En conclusión, implementamos y operamos un flujo de trabajo avanzado de OpenClaw en un entorno Colab controlado. Validamos el esquema de configuración, iniciamos la puerta de enlace, seleccionamos dinámicamente un proveedor de modelo, registramos una habilidad y la ejecutamos a través de la interfaz del agente OpenClaw. En lugar de tratar a OpenClaw como un contenedor, lo utilizamos como la capa de orquestación central que gestiona la autenticación, la carga de habilidades, la ejecución de herramientas y la gobernanza del tiempo de ejecución. Demostramos cómo OpenClaw impone una ejecución estructurada al tiempo que permite el razonamiento autónomo, mostrando cómo puede servir como una base sólida para construir sistemas de agentes seguros y extensibles en entornos orientados a la producción.
Consulte los códigos completos aquí. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 120.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.
¿Necesita asociarse con nosotros para promocionar su repositorio de GitHub O su página principal de Hugging O su lanzamiento de producto O seminario web, etc.? Conéctate con nosotros