openclaw-os AGENTS.md

A set of project instructions for developing OpenClaw agents and plugins, including its agent, session, and thread model.

In plain words
What is it for?
Use it when writing OpenClaw plugins, defining agent or gateway types, building browser clients, or choosing dependencies and package-manager commands.
Why use it?
It reduces confusion about which package types to import, how browser clients communicate with the gateway, and how plugins are loaded.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/thesysdev/openclaw-os/agents-md
Clone the repo
git clone --depth 1 https://github.com/thesysdev/openclaw-os

Made for: Codex, OpenCode.

Per session 777 This file is loaded in full into every session.
When invoked 777 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00777 $0.00777
Opus 5 $0.00388 $0.00388
Sonnet 5 $0.00155 $0.00155
Haiku 4.5 $0.00078 $0.00078

Measured 2d ago against content hash 889ecca7a607, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

openclaw-os AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 59 lines

How it starts

The opening of the file, as written. The whole thing — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agents

  • ALWAYS use pnpm.

OpenClaw Types

OpenClaw types come from the openclaw npm package via subpath exports:

  • import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"
  • import { ... } from "openclaw/plugin-sdk/core" for API types and helpers
  • Put openclaw in devDependencies/peerDependencies, NOT dependencies
  • Plugins are loaded via jiti at runtime — the gateway provides the openclaw module
  • Plugins can be raw .ts files (no build step required) since jiti handles TS

Gateway protocol types (browser clients)

The openclaw package does not export gateway protocol types publicly — only plugin-sdk/* paths are available. For browser/frontend clients, copy the required constants and interfaces from the source:

In this repo these are inlined into packages/claw-client/src/lib/gateway/types.ts with a comment pointing back to the source.

How plugin detection works

The Claw client appends :openclaw-os to its session key (e.g. agent:main:main:openclaw-os). The plugin's before_prompt_build hook checks for this suffix and, when present, prepends the OpenUI Lang system prompt. The agent then streams back component markup which the client renders in real time. Sessions from other clients are unaffected.

Agents → Sessions → Threads mental model

Agent — a named AI persona defined in the OpenClaw gateway config (e.g. main, helper). Returned by agents.list. Agents are fixed; you cannot create or delete them from a client.

Session — a persistent conversation channel addressed by a structured key:

agent:<agentId>:<channel>:<senderId?>
  • <channel> is typically main for the operator's direct channel
  • <senderId> is an optional suffix that scopes the session further (e.g. per-user, per-client)
  • The gateway stores message history under this key
  • Multiple clients can share a session (same key = same history) or have isolated sessions (different key = separate history)

Read the full file on GitHub · 59 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 59 lines · 777 tokens per session scan A 889ecca7a607

Subscribe to this mod's changes

openclaw-os AGENTS.md is an instructions file published in the GitHub repository thesysdev/openclaw-os (322 stars, last pushed 3mo ago), licensed MIT. It adds 777 tokens to every session, about $0.0039 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.