agent/

directory
v3.17.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2026 License: Apache-2.0

README

Runme Agent

The pkg/agent package contains the Go server used by the Runme web application. It provides runner and parser services, optional static web application hosting, authentication, and Jupyter proxying. WebMCP is the supported integration path for browser automation.

Despite its historical package name, this is not an AI-only server. Runme Web depends on it for normal notebook and cell execution.

Server responsibilities

The server provides the runtime services required by Runme Web:

  • /ws is the bidirectional WebSocket transport used to execute cells and stream terminal input and output. It is available when assistantServer.runnerService is enabled.
  • The Runner service manages execution sessions and related runner operations.
  • The Parser service parses and serializes notebook content when assistantServer.parserService is enabled.
  • The Jupyter proxy manages Jupyter servers and forwards kernel channel WebSockets.
  • Optional OIDC authentication, authorization, and telemetry are provided by the same HTTP server.
  • A web application can optionally be served from the directory configured by assistantServer.staticAssets. The directory must contain an index.html; client-side routes fall back to that file.

These services remain supported. The legacy AI messages, ChatKit, and app-server bridge endpoints have been removed independently of the execution server.

Quickstart

Create a minimal configuration file at ~/.runme-agent/config.yaml:

apiVersion: ""
kind: ""
logging:
  level: debug
  sinks:
    - path: stderr
assistantServer:
  port: 8080
  runnerService: true
  parserService: true
  # Optional: serve a web application from this directory.
  # staticAssets: /absolute/path/to/webapp/dist
  corsOrigins:
    - "http://localhost:5173"

Start the server:

runme agent serve

Web applications can be hosted independently or served by this server. For independent hosting, configure the runner endpoint to use this server's WebSocket endpoint, for example ws://localhost:8080/ws. To serve an application from the agent server, set assistantServer.staticAssets to its build directory. Static serving is enabled only when that directory contains a readable index.html.

Deprecated configuration compatibility

The openai, cloudAssistant, webApp, assistantServer.agentService, and assistantServer.webAppURL keys are accepted for a transition release so existing configuration files continue to load. The server ignores these keys and logs a deprecation notice when they are present. Remove them from personal and deployment configuration files before a later release removes the compatibility fields.

Published legacy agent protobuf schemas and generated clients remain available during the same transition, but the server no longer registers their services. Consumers should stop calling those endpoints before the schemas are removed in a later breaking release.

Local tracing

Configure an OTLP endpoint in config.yaml:

telemetry:
  otlpHTTPEndpoint: localhost:4318

Start Jaeger locally:

docker run --rm --name jaeger \
  -p 16686:16686 \
  -p 4317:4317 \
  -p 4318:4318 \
  -p 5778:5778 \
  -p 9411:9411 \
  jaegertracing/jaeger:2.6.0

Directories

Path Synopsis
tlsbuilder package was based on the tls package in runme.dev It was modified to generate certificates suitable for server encryption.
tlsbuilder package was based on the tls package in runme.dev It was modified to generate certificates suitable for server encryption.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL