rotifer-protocol/rotifer-playground--plugins-rotifer6

rotifer

The Rotifer Protocol plugin for OpenClaw — three Skills plus the Rotifer MCP server. Create your first Agent from a template (hello), route yourself to the right capability (assistant), and rank an Agent's Genes against live Arena data to swap in stronger ones (evolve). Ranking is the automatic part; every replacement waits for your approval and can be rolled back.

包名
rotifer
版本
0.9.4
许可证
Apache-2.0
最近更新
2026年8月18日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:rotifer-protocol/rotifer-playground#adf7bc3478303cabc5cd61f5a2b8364887ac2b90&path:plugins/rotifer

Rotifer Protocol

Rotifer Protocol — Agent Plugin

Self-evolving AI agent capabilities. Scan what your agent can do, benchmark it against public rankings, and swap in something better.

[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://github.com/rotifer-protocol/rotifer-playground/blob/main/LICENSE)
[![npm](https://img.shields.io/npm/v/@rotifer/playground?label=CLI)](https://www.npmjs.com/package/@rotifer/playground)
[![npm](https://img.shields.io/npm/v/@rotifer/mcp-server?label=MCP%20server)](https://www.npmjs.com/package/@rotifer/mcp-server)

What this is

Most agent capabilities are written once and never measured again. Rotifer treats a capability as a Gene — a versioned, testable unit with a declared input/output schema, compiled to WASM, and scored by a fitness function F(g) in a public Arena.

Because Genes are portable and comparable, an agent can do something ordinary code cannot: find out that a better implementation of its own capability exists, and adopt it.

This plugin brings that loop into your agent.

Install

One folder, one version, one set of skills — five hosts read it through their own manifest, so nothing drifts between them.

HostHow it loads
Cursor.cursor-plugin/plugin.json
CodeBuddy.codebuddy-plugin/plugin.json
OpenClaw / ClawHubopenclaw.plugin.json + package.json#openclaw
Claude Code.claude-plugin/plugin.json
DeepSeek Harnesspackage.json#dsh + cordis.patch.yml

On DeepSeek Harness, install it into whichever profile you boot:

dsh plugin --profile web add "github:rotifer-protocol/rotifer-playground#path:/plugins/rotifer"

It installs from this repository rather than from npm on purpose. The unscoped npm name rotifer is already held by a pointer package whose only job is to stop that name being used to impersonate the toolchain — publishing this plugin over it would replace a working redirect with a package that has no bin at all.

That adds two rows, and both mount plugins DSH already ships — this bundle carries no runtime code of its own:

  • rotifer-skills — a dsh-skill-filesystem provider scoped to this package's own skills/ directory. It sets includeDefaultRoots: false, so it contributes only the four Rotifer skills and never rescans your project or user skill roots. It cannot shadow a skill you wrote.
  • mcp-rotifer — the dsh-mcp-client bridge on the pinned, narrowed launch line below. Its 10 tool schemas are paid on every request while mounted (6,736 bytes of JSON, measured on dsh 0.1.0-rc.7). Drop this row from your profile's own cordis.patch.yml and the four skills still work; they cost only their catalog rows.

DSH is in developer preview and says it will make breaking changes. This bundle is declarative on purpose: it mounts DSH's own plugins rather than shipping a Cordis plugin of ours, so an API change has nothing here to break.

What it does

ScanWalk the workspace and identify functions that are already Gene-shaped
WrapTurn a plain function into a Gene with a phenotype.json contract
CompareCheck a local Gene against Arena rankings for the same capability
UpgradeInstall a higher-scoring Gene and run it in a sandbox before trusting it
PublishShare a Gene, with an automatic V(g) safety-scan badge

Every Gene runs inside a WASM sandbox with fuel metering and memory limits, so trying someone else's capability does not mean trusting their code with your machine.

What ships in this plugin

Skills — the agent picks these up automatically when relevant:

SkillPurpose
rotiferBrowse, install, and compete Genes in the live Arena
rotifer-helloInteractive agent creation from curated templates — quality diagnosis, security scanning, content analysis, Web3 auditing, document Q&A
rotifer-self-evolving-agentThe full loop: scan capabilities, benchmark against live Arena rankings, and replace weaker Genes. Ranking is the automatic part — every replacement waits for your approval and can be rolled back
rotifer-assistantUnified entry point — guide, architect, and challenge your agents

Rulerotifer-gene-dev keeps generated Genes inside the project's conventions: naming, structure, fidelity declaration, and phenotype schema. It activates on **/genes/** and **/phenotype.json.

MCP server@rotifer/mcp-server, launched on demand via npx, nothing to install ahead of time.

Left undeclared, the server offers 31 tools and 7 resources covering the whole lifecycle, including compiling, publishing, Arena submission and login. This plugin launches it with --tools=evolve, which offers 10 tools and 4 resources — enough to search, compare, install and roll back Genes and to create and run Agents, and nothing more. The rest are not listed and are refused if called, so nothing here can publish on your behalf or sign you in. The launch line also omits --allow, so the sandbox escape hatches stay off.

Resources are narrowed alongside the tools they duplicate, because a restriction with an unlisted way around it is not a restriction.

The version is pinned rather than floating, so what you install is what you reviewed:

npx -y @rotifer/mcp-server@0.16.1 --tools=evolve

You can run that yourself and ask it to list its tools.

Fidelity: what a Gene honestly is

Every Gene declares how it actually works. This is a hard requirement, not a label:

  • Native — real executable WASM, runs fully inside the sandbox
  • Wrapped — a wrapper around an external API, and says so
  • Hybrid — declares its external dependencies, how it degrades when they are unavailable, and a simulation spec for that case

A Gene that misrepresents its fidelity is a broken Gene. Rankings are only meaningful if you know what you are comparing.

Requirements

  • Node.js ≥ 20
  • No account needed to scan, wrap, test, or run Genes locally
  • An account is only required to publish or to submit to the Cloud Arena

Try it without the plugin

Everything here is public and works standalone, so you can verify it end to end first:

# CLI
npx @rotifer/playground@latest init my-agent
npx @rotifer/playground@latest scan
npx @rotifer/playground@latest doctor

# MCP server
npx @rotifer/mcp-server@latest

Status

The protocol is pre-1.0 and under active development; APIs may change between minor versions. Arena, Cloud publishing, the WASM sandbox, and the safety-badge pipeline are live. P2P gene propagation is experimental and off by default — the CLI never joins a network unless you ask it to.

See the changelog for full release history.

Links

License

Apache-2.0. See LICENSE.