Skip to content

feat(xmemo-memory): propose XMemo Memory plugin #84

Description

@yunze7373

Plugin name & target service / 插件名与目标服务

XMemo Memory — a hybrid local-first project-memory integration for the XMemo service.

Scenario & scope / 场景与边界

Cindy users can ask the plugin to remember durable project context, recall bounded context, keep TODOs and decisions, checkpoint/restore progress, and work offline with a local outbox that synchronizes when XMemo is available.

The plugin is intentionally limited to XMemo-backed memory continuity. It does not provide generic search, arbitrary HTTP proxying, credential management outside Cindy's host vault, or access to other plugins' data. Local-only mode works without cloud credentials.

Overlap check / 与现有插件的查重

I checked the current official catalog. The closest plugins are productivity integrations such as Notion, but none provides local-first, offline-capable project memory synchronized to the XMemo service. XMemo Memory is complementary: it preserves working context and restart state across Cindy sessions rather than managing third-party documents, mail, source control, or web search.

Required capabilities / 所需能力声明

  • Network hosts: xmemo.dev for OAuth and XMemo API requests; api.xmemo.dev for the compatibility API-key origin.
  • Credentials: host-managed OAuth Authorization Code + PKCE, plus an optional existing user API key through Cindy's write-only secret vault. Plugin code never reads access tokens, refresh tokens, or API-key values, and never creates the Authorization header itself.
  • Runtime: no Node Runtime and no node slot. Required sandbox slots are tool, network, session-context, and fs for Cindy-private local memory and the bounded outbox.
  • Current candidate: v1.0.0, 16 direct tools, complete zh-CN / en / ja / ko locales; local Cindy end-to-end testing and automated tests have completed.

Irreversible side effects / 不可逆副作用

  • Memory, state, event, TODO, decision, snapshot, and synchronization tools can write to the user's authorized XMemo account and/or Cindy-private local storage.
  • xmemo_forget defaults to recoverable soft deletion. Permanent deletion requires both mode=hard and an explicit confirm_hard_delete=true after user confirmation.
  • xmemo_sync never blindly retries an uncertain non-idempotent write; it holds it until explicit user approval. Its discard_failed action explicitly removes only permanently failed local outbox entries.
  • TODO completion and decision resolution change their corresponding remote/local records. Errors report whether a mutation was not executed, completed, or has an unknown outcome where applicable.

Please confirm the positioning, capability declaration, and preferred initial audience (targeted rollout or all). Once aligned, I will submit a focused, DCO-signed PR against this repository.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions