rotifer-protocol/rotifer-playground

rotifer

Rotifer 协议的技能包加 Rotifer MCP 服务,以 DSH 自带的技能提供器与 MCP 客户端实例的形式挂载:搜索 Gene、按 Arena 排名比较、在本地项目里安装或回滚 Gene,并创建和运行本地 Agent。MCP 服务锁定版本,只开放 evolve 工具集,不含发布与登录。

Tools & Capabilities

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.

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.

Host · How it loads Cursor · .cursor-plugin/plugin.json CodeBuddy · .codebuddy-plugin/plugin.json OpenClaw / ClawHub · openclaw.plugin.json + package.json#openclaw Claude Code · .claude-plugin/plugin.json DeepSeek Harness · package.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 — the three skill folders plus the rotifer-overview card, which this provider also reads as a skill — and never rescans your project or user skill roots. It cannot shadow a skill you wrote.

  • rotifer-mcp — 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.

Where to find it once installed. Settings → Plugins lists rows by id, so look for rotifer-skills and rotifer-mcp — there is no single entry named "Rotifer". A bundle that mounts the host's own plugins contributes configured rows, not a package of its own name. Searching rotifer in that list returns both.

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

· Scan · Walk the workspace and identify functions that are already Gene-shaped Wrap · Turn a plain function into a Gene with a phenotype.json contract Compare · Check a local Gene against Arena rankings for the same capability Upgrade · Install a higher-scoring Gene and run it in a sandbox before trusting it Publish · Share 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:

Skill · Purpose rotifer-overview · Browse, install, and compete Genes in the live Arena. A single-file card rather than a skill folder: DeepSeek Harness loads it as a skill, the other hosts read only the three folders rotifer-hello · Interactive agent creation from curated templates — quality diagnosis, security scanning, content analysis, Web3 auditing, document Q&A rotifer-evolve · The 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-assistant · Unified entry point — guide, architect, and challenge your agents

Rule — rotifer-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.19.4 --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

  • Docs — https://rotifer.dev/docs/
  • Repository — https://github.com/rotifer-protocol/rotifer-playground
  • Protocol spec — https://github.com/rotifer-protocol/rotifer-spec
  • Issues — https://github.com/rotifer-protocol/rotifer-playground/issues

License

Apache-2.0. See LICENSE.