Skip to content

feat: add OpenClaw support — self-update, skills, and extensions #3

@kianwoon

Description

@kianwoon

Summary

Add support for updating OpenClaw — the open-source autonomous AI agent platform (318K+ GitHub stars, viral in China). OpenClaw has its own plugin ecosystem (skills + extensions) that can be bulk-managed.

Background

OpenClaw (formerly Clawdbot/Moltbot) is a local-first AI agent by Peter Steinberger that runs as a gateway daemon. It has:

  • npm-based installation: npm install -g openclaw@latest
  • Built-in update command: openclaw update --channel stable|beta|dev
  • Skills system: ~/.openclaw/workspace/skills/<skill>/SKILL.md (bundled, global, or workspace-scoped)
  • Extensions directory: extensions/ in the repo (TypeScript-based)
  • Config: ~/.openclaw/openclaw.json (JSON)

Scope

Phase 1: Self-update

  • Detect if OpenClaw is installed (which openclaw or check package.json global)
  • Run openclaw update --channel stable (or respect user's channel preference)
  • Report current version vs. latest available

Phase 2: Skills updates

  • Discover skills at ~/.openclaw/workspace/skills/
  • Determine which skills are git-backed vs. bundled vs. manually installed
  • git pull on git-backed skills
  • Skip bundled skills (they update with OpenClaw itself)

Phase 3: Extensions (future)

  • Explore the extensions/ directory structure and update mechanism
  • May require OpenClaw's own extension manager — needs research

Implementation approach

  1. Add OpenClaw detection to the tool discovery phase (check for openclaw binary)
  2. Add --tool openclaw flag support
  3. Implement self-update via openclaw update
  4. Scan ~/.openclaw/workspace/skills/ for git-backed skills
  5. Reuse existing git pull logic from Claude Code marketplace updates

Considerations

  • OpenClaw requires Node ≥22
  • The gateway daemon may need restart after update
  • Skills precedence: workspace > global > bundled — only update git-backed ones
  • Config format is JSON (~/.openclaw/openclaw.json)
  • China users may need npm mirror support

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions