Skip to content

Mebular v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Oct 11:00
38b7e43

Initial release. Five lockstep packages at 0.1.0: @mebular/core, @mebular/service,
@mebular/fleet, @mebular/mcp, @mebular/skill; the root bundle @mebular/core
provides both the mebular and fleet CLIs. @mebular/dsh-plugin@0.1.0 ships on its own
version line. The release also includes unsigned desktop installers for macOS (Universal
DMG), Windows (NSIS x64) and Linux (AppImage + deb x64). Each installer bundles Electron and
a Mebular runtime installed from the same verified release tarballs, so it needs neither a
local Node.js install nor a repository checkout. SHA256SUMS.txt is published with the
installers.

Highlights (EN)

  • Onboarding v2: one-click to a locked console — in the desktop app, Start deployment starts the local daemon and connects the AI assistants already installed on the machine, then opens the locked main console. The first device creates a Cloud with a Cloud name + device name; later devices join an existing Cloud with a one-time token + device name. Initialization runs in the same daemon process and on the same page: no restart, no reload, and the console unlocks immediately. Once a Cloud is current, the top bar switches from Create new Cloud / Join existing Cloud to Invite device / Join Cloud.
  • MCP is reachable before setup — the HTTP /mcp facade accepts initialize, tools/list and prompts/list while the instance is UNINITIALIZED. tools/call returns the stable NOT_INITIALIZED business error, and the same MCP session recovers after create/join without restarting the daemon or rewriting assistant configuration.
  • Graph memory with validity windows — entity / fact / episode / skill / meta nodes, typed edges, and facts that know when they are true (validFrom / validTo), so recall can be filtered by time instead of returning a flat queue.
  • Verifiable, tamper-evident history — every write is an Ed25519-signed, content-addressed event; who changed what is always auditable, and deletes are tombstones rather than silent erasure.
  • Offline-first incremental sync — vector clocks exchange only what the peer is missing; devices converge on reconnect with no central service, and direct / relay / hole-punch transitions plus automatic bridges are handled for you.
  • One machine, one node, one daemon — mebular serve is the sole holder of identity, network and trust; fleet and agents are local clients. Device enrollment uses a QR code or a short-lived single-use token, and trust is a bounded certificate chain to the user master key, so the master key can stay offline.
  • Back up the root key — the user master key is the trust root and never leaves the device. Back up ~/.mebular/user-master-key.json offline after the first setup. v0.1.0 has no master-key rotation or re-anchoring; if the key is lost or stolen, there is no in-product recovery path (see LIMITATIONS.md).
  • Cloud and device names — give the current Cloud and your own device readable names; changes sync as signed policy metadata to every admitted device, with blocked-author filtering and local duplicate-name warnings.
  • Compact invite panel — QR, token, TTL and expiry in one small panel; regenerating invalidates the old token, and the panel closes with a top-right X.
  • In-app desktop confirmations — regenerate, rollback and remove use the console's own confirmation dialog; quitting uses a CRT-styled window instead of a native dialog. Tray navigation switches the loaded console in place instead of reloading it.
  • MCP SDK 2.3.1 security upgrade — the vulnerable 2.0.0 production dependency is replaced; npm audit --omit=dev is clean, and the real MCP client handshake is covered by tests.
  • One MCP surface for any assistant — 29 tools (13 memory + 16 task) over stdio and Streamable HTTP, with OAuth / bearer hardening, per-tool scopes and the same registry behind the CLI and the console.
  • Fleet task collaboration across devices — tasks are a DAG inside shared memory (causedBy, cycle-free): dispatch, claim, progress, result and negotiation (clarify / counter / accept / reject), with the memory channel as the only remote surface — no general remote RPC.
  • Distributed star-map console — the main console shows every device in the Cloud, with shared-subscription base edges, hover task-domain lanes (blue = can send, gold = can receive, gray = unreachable), and live fleet traffic driven by real task events. Offline or no-shared-subscription devices stay gray dashed; online shared edges are subdued and emit a low-frequency sound-wave pulse that fades back into the base edge, so the stars remain the visual focus.
  • Assistant onboarding in one pass — 7 built-in descriptors (OpenChamber, Hermes, OpenCode, Claude Code, Claude Desktop, Cursor, DSH) plus a custom snippet path; each goes through detect → apply → verify, and the desktop one-click flow can connect installed assistants before a Cloud exists.
  • DSH plugin on its own version line — @mebular/dsh-plugin brings the same memory and task graph into DeepSeek Harness over HTTP MCP. Its sidebar Mebular panel loads the existing console in place through ?embed=dsh (loopback only); it is not a second console. The host discovers the daemon by daemonUrl > MEBULAR_HTTP_PORT > runtime.json > 7331, and mounts the official MCP client against the same origin. The app stays the control plane; the plugin ships 0.1.0 alongside this release but outside the five-package lockstep.
  • Portable by design — Canonical Memory Format (CMF) v1 with adapters for Obsidian, log journals, json-memo and Hermes, plus installable memory / task skills so the behaviour layer travels with the data.

Desktop installers (unsigned)

  • Download — from GitHub Releases v0.1.0:
    Mebular-0.1.0-universal.dmg (macOS), Mebular-Setup-0.1.0.exe (Windows x64),
    Mebular-0.1.0-x86_64.AppImage and Mebular-0.1.0-amd64.deb (Linux x64).
  • Verify first — compare every file with SHA256SUMS.txt before installing
    (shasum -a 256 -c SHA256SUMS.txt on macOS, sha256sum -c SHA256SUMS.txt on Linux).
  • macOS Gatekeeper — the DMG is unsigned. On first launch, right-click the app and choose
    Open, or use System Settings → Privacy & Security → Open Anyway.
  • Windows SmartScreen — the NSIS installer is unsigned. Choose More info → Run anyway.
  • Self-contained runtime — Electron and the Mebular runtime are inside the package; no
    Node.js or repository checkout is required. The five @mebular/* packages come from the
    same verified tarballs used for the npm release.
  • Scope — signing, notarization and auto-update are not part of v0.1.0; they are planned
    for follow-up releases.

亮点(中文)

  • Onboarding v2:一键进入锁定控制台 —— 桌面 App 点「开始部署」后,启动本机守护、自动接入本机已装的 AI 助手,然后进入锁定主控制台。第一台设备填忆云名 + 设备名新建忆云;后续设备用一次性令牌 + 设备名加入已有忆云。初始化在同一个守护进程、同一个页面内完成:不重启、不刷新,控制台立即解锁。有当前忆云后,顶栏从「新建忆云 / 加入忆云」恢复为「邀请设备 / 加入忆云」。
  • 未初始化也能连上 MCP —— HTTP /mcp 在 UNINITIALIZED 阶段即可完成 initialize、tools/list 与 prompts/list;tools/call 返回稳定的 NOT_INITIALIZED 业务错误。建新 / 加入忆云后,同一个 MCP 会话自动恢复,不需要重启守护或重写助手配置。
  • 带有效期窗口的图记忆 —— 实体 / 事实 / 情节 / 技能 / 元数据五类节点与带类型的边;事实自带生效区间(validFrom / validTo),召回可按时间过滤,而不是返回一个扁平队列。
  • 可验证、抗篡改的历史 —— 每次写入都是 Ed25519 签名、内容寻址的事件;谁改了什么随时可审计,删除落墓碑而非静默抹除。
  • 离线优先的增量同步 —— 向量时钟只交换对端缺失的部分;重连即收敛,不依赖中心服务;直连 / 中继 / 打洞的切换与自动当桥都由框架完成。
  • 一机一节点一守护 —— mebular serve 是身份、网络与信任的唯一持有者,fleet 与 Agent 都是本机客户端;设备凭二维码或短时效一次性令牌入网,信任是链到用户主密钥的有界证书链,主密钥可以一直离线。
  • 备份根密钥 —— 用户主密钥是信任根,且永不离开本机。首次 setup 后请离线备份 ~/.mebular/user-master-key.json。v0.1.0 未实现主密钥轮换 / 换锚;丢失或被盗没有产品内恢复路径(见 LIMITATIONS.md)。
  • 忆云与设备名同步 —— 当前忆云和本人设备名可改为易读名称;名称作为签名策略元数据同步到所有已准入设备,过滤被移出作者,并在本机重名时给出提示。
  • 精简邀请面板 —— 二维码、令牌、有效期和到期时间收进一个小面板;重新生成会作废旧令牌,右上角 X 关闭。
  • 应用内桌面确认 —— 重新生成、回滚、移除使用控制台自己的确认弹框;退出改为 CRT 风格确认窗口,不再使用原生对话框。托盘导航在已加载的控制台内原地切换,不再刷新页面。
  • MCP SDK 2.3.1 安全升级 —— 替换存在漏洞的 2.0.0 生产依赖;npm audit --omit=dev 清零,真实 MCP client 握手纳入测试。
  • 面向任意助手的统一 MCP 工具面 —— stdio 与 Streamable HTTP 两种接入,29 个工具(13 记忆 + 16 任务),带 OAuth / bearer 加固与逐工具 scope;CLI 与控制台共用同一份注册表。
  • 跨设备 fleet 任务协作 —— 任务是共享记忆里的 DAG(causedBy,禁环):派发、认领、进度、结果与协商(clarify / counter / accept / reject),唯一远程面就是记忆通道,不提供通用远程调用。
  • 分布式星图控制台 —— 主控制台显示忆云内所有设备、共同订阅的基础边、悬停任务域航道(蓝 = 可发出、金 = 可接收、灰 = 不可达),以及真实任务事件驱动的实时 fleet 流量。离线或无共同订阅设备保持灰色虚线;在线共同订阅边压暗,并以低频声波脉冲提示,两端渐隐回基础线,让星体保持主视觉。
  • 助手一键接入 —— 7 个内置描述符(OpenChamber、Hermes、OpenCode、Claude Code、Claude Desktop、Cursor、DSH)加自定义片段;统一走探测 → 写入 → 验证三步;桌面一键流程可以在忆云存在之前先接好已装助手。
  • DSH 插件,独立版本线 —— @mebular/dsh-plugin 通过 HTTP MCP 把同一张记忆与任务图接入 DeepSeek Harness。侧边栏 Mebular 面板用 ?embed=dsh(仅 loopback)就地加载现有控制台,不是第二套 Console。host 按 daemonUrl > MEBULAR_HTTP_PORT > runtime.json > 7331 发现 daemon,并在同一个 origin 挂载官方 MCP client。App 仍是控制面;插件随本版发布 0.1.0,但不进入五包 lockstep。
  • 可带走的设计 —— Canonical Memory Format(CMF)v1,配 Obsidian、日志型端、json-memo、Hermes 适配器;记忆 / 任务两个 Skill 可安装,行为层随数据一起迁移。

桌面安装包(unsigned)

  • 下载 —— 从 GitHub Releases v0.1.0 获取:
    Mebular-0.1.0-universal.dmg(macOS)、Mebular-Setup-0.1.0.exe(Windows x64)、
    Mebular-0.1.0-x86_64.AppImage 与 Mebular-0.1.0-amd64.deb(Linux x64)。
  • 先校验 —— 安装前用 SHA256SUMS.txt 核对每个文件(macOS 用
    shasum -a 256 -c SHA256SUMS.txt,Linux 用 sha256sum -c SHA256SUMS.txt)。
  • macOS Gatekeeper —— DMG 未签名。首次打开请右键 App 选择「打开」,或在
    「系统设置 → 隐私与安全性」中选「仍要打开」。
  • Windows SmartScreen —— NSIS 安装包未签名。请选择「更多信息 → 仍要运行」。
  • 自带运行时 —— Electron 与 Mebular runtime 都在安装包内,不需要本机 Node.js,也不依赖
    仓库源码;五个 @mebular/* 包来自与 npm 发布相同的已验证 tarball。
  • 范围 —— v0.1.0 不做签名、公证与自动更新,留到后续版本。