Agent Daemon (agentd)

Keeps a registry of sub-agent sessions, each with its own home directory and environment, behind a Unix socket and a small window.

packages/robos-agentd

Agent Daemon manages “sub-agent sessions”. A session is a record plus a home directory with a prepared shell environment. Other RobOS code, such as the Agent Session Library, asks the daemon to create and end sessions.

What a session is today

When you spawn a session for a task id such as fix-login, the daemon:

  • normalizes the id and names the session agent-fix-login;
  • creates a home directory (mode 0700) under ~/.config/robos/agentd/homes/, or under /home when the daemon runs as root;
  • writes .bashrc and .profile that set ROBOS_AGENT, ROBOS_TASK_ID, USER and HOME, and starts a log at .logs/session.log;
  • links your SSH agent and GPG agent sockets into that home (or writes a placeholder file when they are not found), copies your git name and email from ~/.gitconfig, and adds ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY and GITHUB_TOKEN exports to .bashrc, using your environment values or a placeholder string if unset;
  • assigns a display number (starting at :10) and a stream URL.

The record also stores a random UID, a scope name, a memory limit (default 2048 MB), a CPU share and a PID limit. These are bookkeeping values. The code does not create a Linux account, apply cgroup limits, start Xvfb or serve the stream URL, and it does not launch any process for the agent. The inspector’s display preview is a canvas drawing.

On terminate, the daemon copies the log to ~/.config/robos/agentd/archives/<task-id>/session.log, releases the display number, removes the socket links, and deletes the home directory. State is kept in ~/.config/robos/agentd/agents.json.

The window

The window is titled RobOS Desktop Agents Manager. + Spawn Sub-Agent opens a form with Task ID, an engineering role (Lead Architect Agent, Senior Code Reviewer, BDD Test Implementer, Security & Compliance Auditor) and a memory limit. Each session card has an inspector with details and logs, and a Terminate button. Purge All terminates every active session. Run it with npm start in packages/robos-agentd; there is no .desktop launcher.

Socket and CLI

While the app is open it listens on ~/.config/robos/agentd/agentd.sock and accepts JSON such as {"command":"list"} (commands: spawn, list, inspect, log, terminate, wipeAll). The robos-agent script in the package wraps this, and needs python3:

robos-agent spawn fix-login --role "Senior Code Reviewer" --memory 2048
robos-agent list
robos-agent inspect fix-login
robos-agent logs fix-login
robos-agent kill fix-login

For ephemeral agent homes that can be mounted on tmpfs, see Agent Profile Daemon.

More in Agent Services & MCP Servers

Agent Autoconfig

Writes MCP configuration and instruction files so Claude Code, Gemini, Copilot and Cursor all point at the RobOS MCP router.

Agent Profile Daemon

Creates short-lived agent profiles with their own home directory (tmpfs when run as root) and runs commands with that home and environment.

Agent Session Library

Node.js client for the agentd socket, plus a small demo window and a simulated test-driven-development runner.

CI Monitor MCP Server

An MCP server that lets agents list Buildkite builds and read failed-job logs, backed by the connection set up in CI Monitor.

Dev Tools MCP Server

An MCP server with a small catalog of developer CLI tools; "install" and "check" read and write a JSON file and do not touch the system.

Engineering Knowledge Graph MCP Server

An MCP server that lets agents search and edit a small node store, query and propose changes to the SDLC graph, and look up schema types.

IDE Bridge MCP Server

An MCP server that forwards IDE commands (open file, breakpoints, run configurations, refactorings) to the RobOS IntelliJ plugin on port 63343.

MCP Router

Single MCP endpoint that lists the tools of the servers in the registry and routes tool calls to them, with built-in fallbacks.

MCP Server Framework

Node.js library for building small Model Context Protocol servers, with an HTTP and a stdio transport and a shared registry file.

RobOS CLI Tools

Four shell scripts for scripts and agents: send a notification, set the active task, append to the work journal, and emit or read events.

System MCP Server

MCP server with six tools for preferences, notifications, a tool inventory, file-name search and the active task, backed by a JSON file with sample data.

Task Manager MCP Server

MCP server with seven tools for listing, creating and advancing tasks stored in ~/.config/robos/tasks/tasks.json.

Workspace Manager MCP Server

MCP server with six workspace tools, backed by a JSON file of sample workspaces. Several tools return canned results and do not run anything.