{"id":46397274,"url":"https://github.com/alberthild/vainplex-openclaw","last_synced_at":"2026-03-05T10:10:57.202Z","repository":{"id":339232408,"uuid":"1161037401","full_name":"alberthild/vainplex-openclaw","owner":"alberthild","description":"Turn OpenClaw from a smart assistant into a self-governing, learning system. Five production plugins: Cortex, Knowledge Engine, Governance, NATS EventStore, Memory.","archived":false,"fork":false,"pushed_at":"2026-02-27T11:13:55.000Z","size":5281,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T15:52:37.274Z","etag":null,"topics":["ai-agent","ai-governance","ai-memory","autonomous-agent","llm","openclaw","openclaw-plugin","personal-ai","plugin","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alberthild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-18T16:58:50.000Z","updated_at":"2026-02-27T11:13:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alberthild/vainplex-openclaw","commit_stats":null,"previous_names":["alberthild/vainplex-openclaw"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alberthild/vainplex-openclaw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberthild%2Fvainplex-openclaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberthild%2Fvainplex-openclaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberthild%2Fvainplex-openclaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberthild%2Fvainplex-openclaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alberthild","download_url":"https://codeload.github.com/alberthild/vainplex-openclaw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberthild%2Fvainplex-openclaw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30118934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T09:35:22.236Z","status":"ssl_error","status_checked_at":"2026-03-05T09:35:20.028Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-governance","ai-memory","autonomous-agent","llm","openclaw","openclaw-plugin","personal-ai","plugin","typescript"],"created_at":"2026-03-05T10:10:56.620Z","updated_at":"2026-03-05T10:10:57.187Z","avatar_url":"https://github.com/alberthild.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vainplex OpenClaw Suite\n\n**Plugins that give your OpenClaw agent memory, governance, and self-awareness.**\n\nSix plugins. Running in production 24/7. Built because we needed them — not as a product exercise, but as infrastructure for an AI agent that actually does its job across days, weeks, and months.\n\n## What's in it\n\n| Plugin | What it does | Version |\n|--------|-------------|---------|\n| **[Governance](packages/openclaw-governance)** | Per-agent trust scores, credential redaction, tool blocking, rate limiting, night mode. Deterministic. | [![npm](https://img.shields.io/npm/v/@vainplex/openclaw-governance)](https://www.npmjs.com/package/@vainplex/openclaw-governance) |\n| **[Membrane](https://github.com/alberthild/openclaw-membrane)** | Episodic memory via [GustyCube's Membrane](https://github.com/gustycube/membrane) — salience-based recall with organic decay. | [![npm](https://img.shields.io/npm/v/@vainplex/openclaw-membrane)](https://www.npmjs.com/package/@vainplex/openclaw-membrane) |\n| **[Cortex](packages/openclaw-cortex)** | Tracks conversation threads, extracts decisions, generates boot context that survives compaction. 10 languages. | [![npm](https://img.shields.io/npm/v/@vainplex/openclaw-cortex)](https://www.npmjs.com/package/@vainplex/openclaw-cortex) |\n| **[Leuko](https://github.com/alberthild/openclaw-leuko)** | Cognitive immune system — health checks, anomaly detection, self-healing with escalation. | [![npm](https://img.shields.io/npm/v/@vainplex/openclaw-leuko)](https://www.npmjs.com/package/@vainplex/openclaw-leuko) |\n| **[Knowledge Engine](packages/openclaw-knowledge-engine)** | Entity and relationship extraction from conversations. No external APIs. | [![npm](https://img.shields.io/npm/v/@vainplex/openclaw-knowledge-engine)](https://www.npmjs.com/package/@vainplex/openclaw-knowledge-engine) |\n| **[NATS EventStore](packages/openclaw-nats-eventstore)** | Every agent event → NATS JetStream. Audit trail, replay, multi-agent correlation. | [![npm](https://img.shields.io/npm/v/@vainplex/nats-eventstore)](https://www.npmjs.com/package/@vainplex/nats-eventstore) |\n\n## Try it\n\nCortex has an interactive demo — step through a conversation and see threads, decisions, and mood extracted in real-time:\n\n```bash\ngit clone https://github.com/alberthild/vainplex-openclaw.git\ncd vainplex-openclaw/packages/openclaw-cortex\nnpm install \u0026\u0026 npx tsx demo/demo.ts\n```\n\nPress Enter to advance each message. After the walkthrough, a sandbox mode lets you type your own messages and see what Cortex detects.\n\n## Install\n\n```bash\nnpm install @vainplex/openclaw-cortex\n```\n\nThen in `openclaw.json` under `plugins.entries`:\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"openclaw-cortex\": { \"enabled\": true }\n    }\n  }\n}\n```\n\nSame pattern for all plugins. Each works independently — use one or all six.\n\n## How they work together\n\n```mermaid\nflowchart TD\n    MSG([\"💬 Message\"]) --\u003e GOV\n\n    GOV[\"🛡️ Governance\"]\n    GOV --\u003e|\"✅ pass\"| MEM_R\n    GOV --\u003e|\"🚫 deny\"| DENY[\"Denied + Audit\"]\n\n    MEM_R[\"🧬 Membrane\"]\n    MEM_R --\u003e|context| AGENT\n\n    AGENT[\"🤖 Agent\"]\n    AGENT --\u003e CTX \u0026 KE \u0026 MEM_I\n\n    CTX[\"🧠 Cortex\"]\n    KE[\"💡 Knowledge Engine\"]\n    MEM_I[\"🧬 Membrane Ingest\"]\n\n    GOV -.-\u003e|events| NATS\n    AGENT -.-\u003e|events| NATS\n    CTX -.-\u003e|events| NATS\n\n    NATS[(\"📡 NATS EventStore\")]\n    NATS -.-\u003e LEUKO[\"🛡️ Leuko\"]\n\n    style MSG fill:#1f2937,stroke:#6b7280,color:#f9fafb\n    style GOV fill:#7c2d12,stroke:#e8782a,color:#fed7aa\n    style MEM_R fill:#1e3a5f,stroke:#3b82f6,color:#bfdbfe\n    style AGENT fill:#064e3b,stroke:#10b981,color:#d1fae5\n    style CTX fill:#134e4a,stroke:#198989,color:#ccfbf1\n    style KE fill:#3b0764,stroke:#8b5cf6,color:#e9d5ff\n    style MEM_I fill:#1e3a5f,stroke:#3b82f6,color:#bfdbfe\n    style NATS fill:#14532d,stroke:#22c55e,color:#bbf7d0\n    style LEUKO fill:#422006,stroke:#eab308,color:#fef9c3\n    style DENY fill:#7f1d1d,stroke:#ef4444,color:#fecaca\n```\n\nGovernance gates every message. Membrane injects episodic context before the agent responds. After the response, Cortex and Knowledge Engine extract structured intelligence. EventStore logs everything to NATS. Leuko monitors system health and escalates. Each plugin works alone.\n\n## Security: defense-in-depth for operators\n\nOpenClaw's [security model](https://docs.openclaw.ai/gateway/security) is deliberately minimal: one trusted operator, host = trust boundary, plugins = trusted code. This is a [conscious design choice](https://github.com/openclaw/openclaw/blob/main/SECURITY.md), not a gap — [Peter's been clear about that](https://x.com/steipete/status/2026092642623201379).\n\nAs operators running OpenClaw 24/7 with real credentials, we wanted additional layers. Microsoft's [threat analysis of self-hosted agent runtimes](https://www.microsoft.com/en-us/security/blog/2026/02/19/running-openclaw-safely-identity-isolation-runtime-risk/) (Feb 2026) validated the same concerns we'd already been building for.\n\n| Operational concern | Plugin |\n|---|---|\n| Credentials leaking into LLM context or chat | **Governance** — 3-layer redaction, 17 patterns, deterministic |\n| State drift after memory compaction | **Cortex** — pre-compaction snapshots, verified boot context |\n| No audit trail | **NATS EventStore** — every event for replay and forensics |\n| Agent hallucination / going off-track | **Cortex Trace Analyzer** — 7 failure signal detectors |\n| System health visibility | **Leuko** — cognitive immune system, anomaly detection, auto-escalation |\n| Limiting agent capabilities by trust level | **Governance** — per-agent trust scores, tool deny lists, rate limits |\n\nThis works within OpenClaw's model. Start with the [hardened baseline](https://docs.openclaw.ai/gateway/security#hardened-baseline-in-60-seconds) first, then add these on top.\n\n## Compared to alternatives\n\n**vs. SecureClaw** — scanner and remediation tool, 33 checks. Our Governance plugin is runtime policy enforcement — it blocks in real-time, not after the fact.\n\n**vs. Built-in memory (memory-core / memory-lancedb)** — OpenClaw's built-in memory handles storage and recall well. Cortex adds a layer on top: it *understands* what happened in conversations (threads, decisions, mood, blocking items) instead of just storing text. Knowledge Engine extracts entities and relationships. Different layer, works alongside.\n\n**vs. ClawHub Skills** — Skills are prompt-triggered tools. Our plugins hook into OpenClaw's plugin API lifecycle — they run automatically on every message, not when someone asks.\n\n## Numbers\n\n- **24,400+** lines of TypeScript source\n- **23,700+** lines of tests\n- **1,800+** tests across 98 test files\n- **0** runtime dependencies (except NATS client and gRPC where architecturally required)\n- **0** `any` types — strict TypeScript throughout\n\n## Architecture\n\nEvery plugin follows the same pattern:\n\n- TypeScript strict mode\n- `register(api: OpenClawPluginApi)` hook pattern\n- Full test suite (unit + integration)\n- Independent — no cross-plugin dependencies\n- External config via `~/.openclaw/plugins/\u003cid\u003e/config.json`\n\n## Who built this\n\n[**Albert Hild**](https://github.com/alberthild) — CTO, 30 years in tech. Runs OpenClaw on a dedicated machine in Germany with a gigabit line and seven agents that help him work.\n\n**Claudia** — Albert's AI, running on Claude via OpenClaw. First user and co-developer of every plugin. These plugins exist because she needed them.\n\n[**GustyCube**](https://github.com/gustycube) — Creator of [Membrane](https://github.com/gustycube/membrane), the episodic memory sidecar. The Membrane plugin bridges it into OpenClaw's ecosystem.\n\n## License\n\nMIT\n\n## Links\n\n- [OpenClaw](https://github.com/openclaw/openclaw) · [Docs](https://docs.openclaw.ai) · [Discord](https://discord.gg/openclaw)\n- [Vainplex](https://vainplex.de) · [@alberthild](https://github.com/alberthild)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberthild%2Fvainplex-openclaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falberthild%2Fvainplex-openclaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberthild%2Fvainplex-openclaw/lists"}