Mebular (dsh-plugin)
windsander/mebular/packages/dsh-plugin
DSH용 분산형 오프라인 우선 그래프 메모리와 작업 그래프입니다. 서명된 사실, 여러 기기 동기화, 사이드바 패널에 삽입된 공용 Mebular Console을 제공합니다. 실행 중인 Mebular daemon(Mebular 데스크톱 앱 또는 @mebular/core의 mebular serve)이 필요합니다. 이 플러그인은 메모리 도구와 Console 패널만 연결합니다.
설치
dsh plugin --profile web add github:windsander/mebular이 플러그인은 저장소의 packages/dsh-plugin 하위 디렉터리에 있습니다.
README
One memory. Every assistant. Every device.
A distributed memory network for your AI assistants.
Memory and tasks stay on your devices; devices sync directly.
Start in 5 minutes · How it works · Website · 中文
No hosted account · No central coordinator
The map at rest: devices and their shared-subscription edges. · On hover: task-domain lanes plus live fleet traffic.
Blue and gold show this device's two-way task-domain reachability, not peer-to-peer links.
One memory
Get started
| Desktop app · v0.1.2 | Download & first launch |
|---|---|
| Unsigned release macOS Universal · Windows x64 · Linux x64 |
Download from GitHub Releases Verify with SHA256SUMS.txt. macOS: right-click → Open. Windows: More info → Run anyway. Bundles Electron and its runtime. |
Or install the CLI and server:
npm install -g @mebular/core
mebular serve # browser console
fleet quickstart --daemon # CLI start
mebular print-config --client opencode # MCP config
How it works
Write with memory_write, hand off with task_submit — the same graph, from any assistant.
Docs
| Start | Learn | Run | Trust |
|---|---|---|---|
| Quickstart Install & pair |
Architecture Nodes & sync |
Console Local GUI |
Limitations Sensitive data |
| Agent skills Setup playbooks |
Fleet ops Multi-machine |
Release SOP Release steps |
Sealing docs Protocol rules |
| Changelog Release notes |
Contributing Quality gates |
Security Report a vuln |
Website Product site |
Use with DSH
Keep the Mebular app running, then install the plugin from npm into DSH's web profile:
dsh plugin --profile web add @mebular/dsh-plugin@0.1.2
A Mebular sidebar panel embeds the same Console through ?embed=dsh (loopback only), and the official MCP client reaches the same graph. The plugin discovers the daemon by daemonUrl > MEBULAR_HTTP_PORT > runtime.json > 7331, so custom ports follow automatically. The plugin is an independent adapter with its code isolated in packages/dsh-plugin; it is published by its own npm job, while its version follows the unified release train, so all six npm packages share one version. For plugin development, install from packages/dsh-plugin instead.
Listed on awesome-dsh-plugin under memory.
DSH plugin guide → · Integration notes →
Who does what
| Who | Handles |
|---|---|
| You | One-time pairing, Cloud choice, invites, subscriptions. |
| Your assistant | Memory reads and writes, task claim and completion. |
| Mebular | Discovery, direct / relay / hole-punch, retries, certificates, service autostart. |
Use it from code
import { Mebular } from 'mebular';
const mebular = new Mebular({
storagePath: './store.jsonl',
deviceId: 'device-a',
network: { enabled: false },
});
await mebular.initialize();
Runnable examples: examples/quickstart writes and recalls a preference; examples/two-devices demonstrates offline sync.
v0.1.2 · early · MIT · © 2026 Sobert Li