Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .gitattributes

This file was deleted.

5 changes: 0 additions & 5 deletions .openclaw/workspace-state.json

This file was deleted.

File renamed without changes.
File renamed without changes.
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,49 @@

All notable changes to EverClaw are documented here.

## [2026.5.24.0400] - 2026-05-24

### OpenClaw Pin Bump v2026.5.12 → v2026.5.22

- **packages/core/Dockerfile:** OpenClaw build target updated to `v2026.5.22`; version-prefix policy comment block moved to top of file (single source of truth for EverClaw vs OpenClaw prefix rules)
- **packages/core/docker-compose.yml:** Image tag, `OPENCLAW_VERSION` build arg, and `EVERCLAW_VERSION` updated with inline policy comments
- **SKILL.md (root):** Version stamp and embedded diagnostics JSON updated; added bidirectional description-sync YAML comment (also aligns version from stale `2026.5.15.1418` to current release)
- **packages/core/SKILL.md:** Version stamp and embedded diagnostics JSON updated; added bidirectional description-sync YAML comment; removed erroneous `v` prefix to comply with documented pinning policy
- **package.json:** Version bump to `2026.5.24.0400`

> This is a pure pin-bump release — no EverClaw code logic changes.

### Upstream Highlights (OpenClaw v2026.5.12 → v2026.5.22)

#### New Features
- **Meeting Notes plugin:** External source-only plugin with auto-start capture, manual transcript imports, CLI access, and Discord voice as first live source
- **Control UI chat search:** Search and "Load More" pagination in session picker for bounded initial loads
- **Plugin SDK poll sender:** Generic channel-message poll sender so channel plugins can expose poll delivery
- **Embedding providers contract:** General `embeddingProviders` capability contract and registration API for reusable embedding surfaces outside memory adapters
- **xAI/Grok:** OAuth auth profiles reused for web_search, Grok model aliases, and active-agent auth threaded through web search
- **Plugin SDK session helpers:** Row-level session workflow helpers deprecating `loadSessionStore` whole-store reads

#### Fixes
- **Models:** Pruned retired Groq, GitHub Copilot, OpenAI, xAI, and old Claude catalog entries; doctor migration upgrades existing configs
- **Gateway lifecycle:** Provider timeouts now persist failed session state instead of leaving sessions stuck; internal stream-error placeholders no longer replayed as model text
- **Sessions:** Write-lock max-hold policy enforced during acquisition so stale locks can be reclaimed
- **Telegram:** Local path/filePath and structured attachment media sent from sendMessage actions instead of text-only
- **Ollama:** Local embedding origins bypass managed proxy correctly
- **Directive tags:** Message and content-part object identity preserved when display stripping makes no changes
- **Gateway state dir:** Relative `OPENCLAW_STATE_DIR` overrides pinned to absolute path at startup

#### Performance
- **Model list pre-warm:** `/models` calls reduced from ~20s to ~5ms by pre-warming CLI discovery on startup, config reload, and install
- **Gateway startup:** Lazy-load startup-idle plugin work, core method handlers, and embedded ACPX runtime so health/ready signals no longer wait on unused handler trees
- **Plugin metadata snapshots:** Immutable snapshots reused across startup, config, model, channel, setup, and secret metadata readers
- **Process-stable channel catalog:** Avoid repeated bundled-channel boundary checks

#### Security and Packaging
- **Release packaging:** npm shrinkwrap + `engines.npm` lock + `node_modules` bundled in tarball for locked dependency graphs
- **npm tarball:** Documentation images and assets excluded, reducing published package size

(Reference: https://github.com/openclaw/openclaw/releases/tag/v2026.5.22)

## [2026.5.20.1645] - 2026-05-20

### Changed — Default Model Upgrade to GLM-5.1
Expand Down
File renamed without changes.
14 changes: 10 additions & 4 deletions packages/core/Dockerfile → Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# EverClaw Full Stack — OpenClaw + Morpheus Inference
#
# ─────────────────────────────────────────────────────────────────────────────
# Version pinning policy:
# - EverClaw versions (package.json, image tags, SKILL.md) never use a 'v' prefix
# - OpenClaw git tags and the OPENCLAW_VERSION arg always do
# - The EVERCLAW_VERSION build arg (without 'v') is supplied by docker-compose.yml
# for image labeling
# ─────────────────────────────────────────────────────────────────────────────
#
# Multi-stage build:
# Stage 1: Build OpenClaw from source (gateway + web UI)
# Stage 2: Production image with OpenClaw + EverClaw skill
Expand All @@ -12,7 +20,7 @@
# docker build -t ghcr.io/everclaw/everclaw:latest .
#
# Build with specific OpenClaw version:
# docker build --build-arg OPENCLAW_VERSION=v2026.5.12 -t ghcr.io/everclaw/everclaw:latest .
# docker build --build-arg OPENCLAW_VERSION=v2026.5.22 -t ghcr.io/everclaw/everclaw:latest .
#
# Run:
# docker run -d \
Expand Down Expand Up @@ -41,10 +49,8 @@
# OPENCLAW_ENABLE_DEVICE_AUTH=true — Re-enable device auth (default: disabled for containers)

# ─── Stage 1: Build OpenClaw ─────────────────────────────────────────────────
# Pin OpenClaw version for reproducible builds.
# Update this when upgrading to a new release.

ARG OPENCLAW_VERSION=v2026.5.12
ARG OPENCLAW_VERSION=v2026.5.22

FROM node:22-bookworm AS openclaw-builder

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
160 changes: 16 additions & 144 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,155 +1,27 @@
# ♾️ EverClaw — Morpheus Skill Monorepo
# Morpheus Skill (Canonical)

*Open-source first AI inference — own your inference forever via the Morpheus decentralized network.*
> The canonical Morpheus decentralized AI agent skill for OpenClaw

**Canonical repository:** [profbernardoj/morpheus-skill](https://github.com/profbernardoj/morpheus-skill)
## Overview

---

## What Is This?

EverClaw (Morpheus Skill) connects your [OpenClaw](https://github.com/openclaw/openclaw) agent to the [Morpheus](https://mor.org) decentralized inference network — putting open-source models like GLM-5 front and center as your default, with Claude as a fallback only when needed.

Your agent runs on inference you own: GLM-5, GLM-4.7 Flash, Kimi K2.5, and 30+ models powered by staked MOR tokens that recycle back to you.

## Repository Structure

This is a **monorepo** that produces 28+ flavor repos via composition:

```
packages/
core/ # Common Morpheus infrastructure
scripts/ # All shared scripts (proxy, session, wallet, security, setup)
tests/ # All tests
references/ # API docs, economics, models
docs/ # Documentation site
templates/ # Boot templates, system configs, flavor persona templates
config/ # Default OpenClaw configs
SKILL.md # Core skill definition
Dockerfile # Container build
docker-compose.yml # Docker compose
everclaw-docker/ # Docker-specific build configs
everclaw-key-api/ # Vercel key API service

flavors/
morpheus-skill/ # The canonical/default flavor
androidclaw.org/ # Android ecosystem flavor
bitcoinclaw.ai/ # Bitcoin ecosystem flavor
emailclaw.org/ # Email management flavor
ethereumclaw.com/ # Ethereum ecosystem flavor
... # 28 total flavor directories (one per domain)

scripts/
ecosystem-sync.sh # Composes core + flavor → pushes to flavor remotes
flavor-compose.sh # Composes a single flavor into a deployable repo

skills/ # Bundled skills (security, chat, prompt-guard, etc.)
archive/ # Archived: alternative installers, marketing, one-time tools
```

### How It Works

1. **`packages/core/`** contains all shared infrastructure: scripts, tests, docs, templates
2. **`flavors/<name>/`** contains flavor-specific files: README.md, flavor.json, persona templates
3. **`scripts/ecosystem-sync.sh`** composes each flavor by merging core + flavor → pushes to that flavor's remote
4. **Canonical remotes** (`origin`, `everclaw-org`) receive the full monorepo
5. **Flavor remotes** receive only the composed output (core + their specific flavor)

## Install

### One-Line Install

```bash
curl -fsSL https://get.everclaw.xyz | bash
```

### Manual Install

```bash
git clone https://github.com/profbernardoj/morpheus-skill.git
cd morpheus-skill
npm install
node packages/core/scripts/setup.mjs
```
This is the default/canonical flavor of the EverClaw ecosystem. It provides the full Morpheus infrastructure without domain-specific customization.

## Flavor Repos
**Domain:** morpheusclaw.com
**Default Model:** GLM-5 (via Morpheus decentralized inference)

Each flavor is a standalone repo with its own domain and persona:
## This Is The Source

| Flavor | Domain | Description |
|--------|--------|-------------|
| morpheus-skill | morpheusclaw.com | Canonical default |
| bitcoinclaw.ai | bitcoinclaw.ai | Bitcoin ecosystem |
| ethereumclaw.com | ethereumclaw.com | Ethereum ecosystem |
| glmclaw.com | glmclaw.com | GLM model focus |
| emailclaw.org | emailclaw.org | Email management |
| ... | ... | 28 total flavors |
The `morpheus-skill` repo is the monorepo that contains:
- `packages/core/` — All shared Morpheus infrastructure
- `flavors/` — Per-flavor configs and persona files
- `scripts/` — Ecosystem management scripts

See `flavors/` for the complete list with `flavor.json` configs.

## Development

### Sync to All Remotes

```bash
# Dry run — see what would happen
./scripts/ecosystem-sync.sh --dry-run

# Push to all remotes
./scripts/ecosystem-sync.sh

# Push only one flavor
./scripts/ecosystem-sync.sh --flavor bitcoinclaw.ai
```

### Compose a Single Flavor

```bash
./scripts/flavor-compose.sh flavors/bitcoinclaw.ai /tmp/composed/bitcoinclaw.ai
```

### Run Tests

```bash
npm test
```

### Adding a New Flavor

1. Create the flavor directory:
```bash
mkdir -p flavors/my-new-flavor
```
2. Create `flavors/my-new-flavor/flavor.json`:
```json
{
"name": "My New Flavor",
"slug": "my-new-flavor",
"domain": "my-new-flavor.com",
"description": "What this flavor does",
"remote": "https://github.com/org/my-new-flavor.git",
"defaultModel": "glm-5",
"persona": "Short persona description"
}
```
3. Create `flavors/my-new-flavor/README.md` with flavor-specific documentation.
4. (Optional) Add `flavors/my-new-flavor/templates/` with custom SOUL.md, IDENTITY.md, etc.
5. Add a git remote: `git remote add my-new-flavor https://github.com/org/my-new-flavor.git`
6. Sync: `./scripts/ecosystem-sync.sh --flavor my-new-flavor`

## Key Features

- **Morpheus Proxy** — OpenAI-compatible proxy with auto-session management
- **Model Router** — 3-tier routing (light/standard/heavy), open-source first
- **Wallet Management** — Zero-dependency via macOS Keychain
- **Gateway Guardian** — Health watchdog with billing-aware escalation
- **Security** — PII guard, gateway guardian, bundled security skills
- **x402 Payments** — Agent-to-agent USDC payments
- **ERC-8004 Registry** — Discover trustless agents on Base
- **Local Fallback** — Hardware-aware Ollama with auto model selection
- **Buddy Bots** — Multi-agent coordination and provisioning
- **Three-Shift Engine** — Cyclic task execution (6 AM / 2 PM / 10 PM)
All other flavor repos are composed from `packages/core/` + their specific `flavors/<name>/` directory.

## License

MIT

---

> **Note:** This repository is automatically composed from the [morpheus-skill monorepo](https://github.com/profbernardoj/morpheus-skill). Please submit PRs and issues against the monorepo, not this flavor repo.
File renamed without changes.
File renamed without changes.
Loading