DRAM is a secure, local-first desktop interface for OpenClaw. It provides chat, voice, and canvas workflows with operational safety guardrails without replacing the external engine.
Important
Alpha Release: This project is in alpha. Expect active iteration, rapid change, and occasional breaking behavior while architecture and UX are being hardened.
- Preserve OpenClaw as the external engine.
- Add a production-grade desktop surface on top.
- Keep security, local control, and modularity as first-class constraints.
| Area | What DRAM Does | Why It Matters |
|---|---|---|
| Engine Model | Uses OpenClaw as an external runtime | No forked engine maintenance burden |
| Security | Local-first operation, secure credential handling, hardened IPC boundaries | Lower risk of key leakage and unsafe cross-process access |
| Workflow | Chat, voice, canvas, file-based iteration | Faster build-edit-test loops in one desktop surface |
| Portability | Windows, Linux, and macOS build paths with CI/CD | Cleaner release operations and repeatable builds |
- Local-first architecture; user data stays on the machine by default.
- OS keychain integration for credential storage.
- Strict process boundaries (main, preload, renderer) with controlled IPC.
- CSP and renderer hardening to reduce injection risk.
- Multi-model routing through OpenClaw.
- Tabbed chat sessions and session-aware workflows.
- Voice mode support.
- File attachments and workspace-linked interactions.
- Canvas for code previews, generated content, and edit iterations.
Symbiotic OpenClaw Integration
- Auto-discovery of existing OpenClaw installation and config.
- Non-destructive config adoption.
- Bidirectional sync between CLI-side changes and desktop state.
- Gateway-managed runtime connection with reconnect behavior.
DRAM does not replace OpenClaw. It runs as a desktop layer that talks to the OpenClaw gateway.
+-------------------------------------------------------------+
| DRAM Desktop (Electron) |
| |
| +------------------+ +------------------+ |
| | Renderer UI | | Canvas / Voice | |
| | Chat / Settings | | File UX | |
| +------------------+ +------------------+ |
| | | |
| +------------ IPC ---------+ |
| | |
| Main / Preload |
+--------------------------|----------------------------------+
| WebSocket / mgmt requests
+--------------------------v----------------------------------+
| External engine (gateway) |
| Gateway | Agents | Plugins | Models | Skills | Config |
+-------------------------------------------------------------+
Existing OpenClaw User
- Launch DRAM.
- DRAM discovers OpenClaw and existing config.
- User confirms adoption of settings.
- DRAM uses the same engine/config without breaking CLI workflow.
- Launch DRAM.
- Follow first-run setup.
- Configure model/provider credentials.
- Start chatting with local desktop controls.
| Fresh Chat | Canvas (Code) | Canvas (Render) |
|---|---|---|
![]() |
![]() |
![]() |
| Voice (Fullscreen) | Settings | Memory |
![]() |
![]() |
![]() |
| Usage | Gateway Info | Fallback Hover |
![]() |
![]() |
![]() |
Click any image to open full size.
- Node.js 18+
- npm 9+
- OpenClaw available (or installable by your setup flow)
git clone https://github.com/Jeremy8776/DRAM.git
cd DRAM
npm install
npm run devnpm run buildPlatform-specific build commands are available:
npm run build:win
npm run build:linux
npm run build:macExpected installer outputs:
- Windows: NSIS setup
.exe+ portable.exe - Linux:
.AppImage+.deb - macOS:
.dmg+.zip
Build output is written to dist/.
DRAM interoperates with OpenClaw configuration at:
- macOS/Linux:
~/.openclaw/openclaw.json - Windows:
%USERPROFILE%\.openclaw\openclaw.json
Behavior:
- DRAM watches and syncs config changes.
- DRAM writes config in compatible OpenClaw format.
- CLI and desktop remain aligned.
src/
main/ Electron main process
preload/ Context bridge and safe API surface
renderer/ Frontend modules and styles
packages/
dram-plugin/ DRAM plugin package
scripts/ Tooling, checks, and maintenance helpers
test/ Security and IPC test suites
.github/workflows/ CI, CD, and release automation
TODO.md Roadmap and hardening plan
npm run devnpm run lintnpm run testnpm run check:ipcnpm run check:locnpm run build
ci.yml: lint, tests, and LOC guard.cd.yml: build artifacts for Windows, Linux, and macOS onmainand manual trigger.release.yml: tag-based release (v*.*.*) with multi-platform artifacts published to GitHub Releases.
Security is a core mission requirement.
- Sensitive keys are kept out of renderer and protected through secure storage patterns.
- IPC surfaces are explicit and audited.
- External access is constrained; loopback gateway usage is default.
- Project includes security tests and path guard tests.
OpenClaw Not Found
- Confirm CLI is on PATH (
where openclawon Windows,which openclawon macOS/Linux). - Verify
~/.openclaw/openclaw.jsonexists and is valid. - Restart DRAM after install/config changes.
If OpenClaw reports unknown config keys, run:
openclaw doctor --fixThen restart DRAM.
If you hit websocket max payload or model attachment limits:
- Reduce image/file size before send.
- Prefer lower-size formats for large screenshots.
- Use model-appropriate attachment behavior when multimodal limits apply.
No. DRAM is an add-on desktop layer that integrates with OpenClaw.
Yes. DRAM is designed for local-first operation and secure local credential handling.
Yes. The project includes platform-specific builds and multi-platform GitHub workflows.
Use TODO.md for the current implementation and hardening checklist, including modularity, security, and release-readiness milestones.
DRAM is built to extend the OpenClaw ecosystem. Credit to the OpenClaw project and community.
MIT








