Ryzome lets AI agents externalize their working context (plans, research, reasoning) as interactive canvases. Users can inspect the agent's state, correct it, and hand the corrected graph back for the agent to continue from.
This monorepo provides Ryzome canvas tools for AI agents across multiple integration surfaces.
| Package | Description | Registry |
|---|---|---|
@ryzome-ai/ryzome-core |
Shared logic: API client, 11 tools, graph builder, layout | |
@ryzome-ai/ryzome-mcp |
MCP server with tools + resources for Claude Code and other MCP clients | |
@ryzome-ai/openclaw-ryzome |
OpenClaw plugin adapter | |
hermes-ryzome-plugin |
Hermes Agent plugin source package. Standard Hermes install repo: 0xPlaygrounds/hermes-ryzome-plugin |
|
@ryzome-ai/ryzome-claude-plugin |
Claude Code plugin with skills, agents, and hooks |
ryzome-claude-plugin (Claude Code plugin)
βββ ryzome-mcp (MCP server)
βββ ryzome-core (shared logic)
openclaw-ryzome (OpenClaw plugin)
βββ ryzome-core (shared logic)
hermes-ryzome (Hermes plugin)
βββ Python Hermes plugin surface
βββ ryzome-core (shared logic via Node runner)
ryzome-core contains the API client, 11 tools, graph builder, layout engine, and markdown formatter. The MCP server, OpenClaw plugin, and Hermes plugin all reuse that shared tool implementation.
- Claude Code users: See
@ryzome-ai/ryzome-claude-pluginfor one-command install - MCP client users: See
@ryzome-ai/ryzome-mcpfornpxquick start - OpenClaw users: See
@ryzome-ai/openclaw-ryzomefor plugin install - Hermes users: Install the standalone repo with
hermes plugins install 0xPlaygrounds/hermes-ryzome-plugin --enable. Hermes prompts forRYZOME_API_KEYduring install and saves it to~/.hermes/.env. - Building integrations: See
@ryzome-ai/ryzome-corefor the shared library
Standard Hermes install path:
hermes plugins install 0xPlaygrounds/hermes-ryzome-plugin --enableHermes prompts for RYZOME_API_KEY during install because the plugin declares it in plugin.yaml via requires_env. The value is saved to ~/.hermes/.env.
Inside a Hermes session, the plugin exposes /ryzome-status for diagnostics.
The standalone install repo exists because Hermes git installs expect plugin.yaml and __init__.py at the repository root. The broader shared development surface remains in this monorepo under packages/hermes-ryzome.
For local development from this monorepo:
pnpm build
ln -s "$PWD/packages/hermes-ryzome" ~/.hermes/plugins/ryzome
export RYZOME_API_KEY=rz_...The Python wheel bundles the Node runner (_runner.js) alongside the plugin, so public installs only need Node.js on PATH. To override the runner command, set RYZOME_HERMES_RUNNER.
pnpm install # Install all dependencies
pnpm build # Build all packages
pnpm test # Run unit tests across all packages
pnpm typecheck # tsc --noEmit in each package
pnpm lint # Biome lint + typecheck
pnpm format # Biome format --writepnpm --filter @ryzome-ai/ryzome-core test
pnpm --filter @ryzome-ai/ryzome-mcp test
pnpm --filter @ryzome-ai/ryzome-core test -- --testPathPattern=layoutThis repo uses Changesets for versioning and publishing. Each package is versioned independently.
- Make your changes
- Run
pnpm changesetto describe what changed and which packages are affected - Commit the changeset file with your PR
- When the PR merges, a "Version Packages" PR is automatically created
- Merging that PR bumps versions, updates changelogs, and publishes to npm
Dev snapshots are published on every push to main under the dev tag.
The Hermes plugin is a Python package published to PyPI as hermes-ryzome-plugin via the manual Publish Hermes Python Plugin workflow. The wheel bundles the compiled Node runner produced by pnpm --filter @ryzome-ai/hermes-ryzome build, so it is not published to npm. Changesets still version-bumps it so the package.json / pyproject.toml / plugin.yaml versions stay in sync.
MIT
