Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ Each directory is a standalone integration. Pick the one that matches your tool.
| **[Windsurf Trajectory Extractor](https://github.com/jijiamoer/windsurf-trajectory-extractor)** | `git clone https://github.com/jijiamoer/windsurf-trajectory-extractor.git` | Offline protobuf extraction for Windsurf Cascade conversation history. |
| **[Cursor Plugin](nowledge-mem-cursor-plugin)** | Link `nowledge-mem-cursor-plugin` into `~/.cursor/plugins/local/nowledge-mem-cursor` | Cursor-native plugin with session-start context, MCP recall, exact-session transcript capture, manual `save-thread`, and summary-only `save-handoff`. |
| **[Codex Plugin](nowledge-mem-codex-plugin)** | `codex plugin marketplace add nowledge-co/community --sparse .agents --sparse nowledge-mem-codex-plugin` then `codex plugin add nowledge-mem@nowledge-community`; enable `plugins` and `hooks`, run setup, then trust the hooks when Codex asks | Native startup context and memory routing, bundled MCP retrieval and writes, plus Stop-hook capture of real Codex sessions. Coexists cleanly with Codex local Memory. |
| **[ZCode Plugin](https://github.com/nowledge-co/zcode-plugin)** | In ZCode **Settings → Plugins → Create → Add marketplace**, add `https://github.com/nowledge-co/zcode-plugin`, install `nowledge-mem-zcode`, and reload the Agent runtime | Standalone ZCode-native MCP + Skills package for guided Working Memory, proactive recall, distillation, status, and honest handoff summaries. It does not claim automatic transcript capture. |
| **Raft (formerly Slock)** | Configure per-worker environment variables in Raft runtime config | Install the child runtime connector, set `NMEM_AGENT_ID=<agent-slug>` per worker, and use Mem skills/MCP inside Raft. Raft-managed Codex rollouts are execution traces and are excluded from Codex Thread capture. |
| **Lody** | Configure the child runtime in Lody Agent Config | Runtime launcher setup: install the child runtime connector first; set `NMEM_AGENT_ID=<agent-slug>` only when that Agent Config represents a stable role. |
| **Multica** | Configure the Multica agent MCP settings and custom environment | Multi-agent orchestrator setup: install the child runtime connector first; for Claude Code agents, save the Mem MCP config on the Multica agent; then set `NMEM_AGENT_ID=<agent-slug>` in custom env. |
Expand Down
28 changes: 14 additions & 14 deletions integrations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1127,10 +1127,10 @@
"id": "zcode",
"name": "ZCode",
"category": "coding",
"type": "connector",
"version": null,
"directory": null,
"transport": "mcp+skills",
"type": "plugin",
"version": "0.1.0",
"directory": "nowledge-mem-zcode-plugin",
"transport": "plugin+mcp+skills",
"capabilities": {
"workingMemory": true,
"search": true,
Expand All @@ -1142,35 +1142,35 @@
},
"threadSave": {
"method": "none",
"note": "ZCode supports plugins, MCP servers, hooks, and skills, but Nowledge Mem does not yet publish a ZCode-native hook package. Use MCP and skills now; add transcript import only after the ZCode session/hook contract is verified."
"note": "The ZCode package provides MCP and Skills, but Nowledge Mem does not yet have a verified ZCode transcript path or lifecycle capture contract. Use save-handoff for structured summaries; add transcript import only after the ZCode session/hook contract is independently verified."
},
"autonomy": {
"bootstrap": "guided",
"recall": "guided",
"distill": "guided",
"threads": "handoff-only",
"bestResultRequires": [
"Add Nowledge Mem under Settings -> MCP Servers",
"Import or copy the Nowledge Mem skills under Settings -> Skills",
"Use the ZCode Agent restart/reload flow after MCP or skill changes",
"Add https://github.com/nowledge-co/zcode-plugin under ZCode Settings -> Plugins -> Create -> Add marketplace",
"Install and enable nowledge-mem-zcode, then reload the ZCode Agent runtime",
"Use the ZCode-owned MCP settings for remote or custom Mem endpoints",
"Ask ZCode to save handoff summaries when a conversation should be searchable later"
]
},
"install": {
"command": "nmem config mcp show --host zcode",
"updateCommand": "nmem config mcp show --host zcode",
"command": "Add https://github.com/nowledge-co/zcode-plugin under ZCode Settings -> Plugins -> Create -> Add marketplace, then install nowledge-mem-zcode",
"updateCommand": "Refresh the nowledge-co/zcode-plugin marketplace in ZCode Settings -> Plugins, then update nowledge-mem-zcode",
Comment thread
IceCodeNew marked this conversation as resolved.
"detectionHint": "Running inside ZCode; ~/.zcode/ exists",
"agentGuide": {
"prompt": "Read https://mem.nowledge.co/SKILL.md and follow the instructions to install or update Nowledge Mem for ZCode. Verify with nmem status and the Context Bundle or Working Memory check, then summarize what changed.",
"promptZh": "读取 https://mem.nowledge.co/SKILL.md,按其中说明为 ZCode 安装或更新 Nowledge Mem。用 nmem status 和 Context Bundle 或 Working Memory 检查验证结果,并总结你改了什么。"
"prompt": "Read https://mem.nowledge.co/SKILL.md and follow the instructions to install or update Nowledge Mem for ZCode. Prefer the nowledge-mem-zcode plugin when ZCode plugin support is available. Verify with nmem status and the Context Bundle or Working Memory check, reload ZCode after changes, and summarize what changed.",
"promptZh": "读取 https://mem.nowledge.co/SKILL.md,按其中说明为 ZCode 安装或更新 Nowledge Mem。ZCode 支持插件时优先安装 nowledge-mem-zcode。用 nmem status 和 Context Bundle 或 Working Memory 检查验证结果,修改后重新加载 ZCode,并总结你改了什么。"
},
"docsUrl": "/docs/integrations/zcode"
},
"toolNaming": {
"convention": "mcp-backend",
"note": "ZCode can use manually configured or plugin-provided MCP servers; this connector uses the Nowledge Mem MCP tools."
"note": "ZCode namespaces plugin MCP servers; this package exposes the standard Nowledge Mem MCP tools."
},
"skills": ["read-working-memory", "search-memory", "distill-memory", "save-handoff", "status"],
"skills": ["read-working-memory", "search-memory", "distill-memory", "save-handoff", "status", "check-integration"],
"slashCommands": []
},
{
Expand Down
1 change: 1 addition & 0 deletions nowledge-mem-npx-skills/skills/check-integration/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ The canonical source for this table is `community/integrations.json`.
| **Alma** | Running inside Alma; `~/.config/alma/` exists | In Alma: Settings > Plugins > Marketplace, search "Nowledge Mem" | [Guide](https://mem.nowledge.co/docs/integrations/alma) |
| **Droid** | Running inside Droid (Factory) | Add nowledge-co/community marketplace, install nowledge-mem@nowledge-community | [Guide](https://mem.nowledge.co/docs/integrations/droid) |
| **Codex** | Running inside Codex desktop or Codex CLI; `~/.codex/` exists | `codex plugin marketplace add nowledge-co/community --sparse .agents --sparse nowledge-mem-codex-plugin && codex plugin add nowledge-mem@nowledge-community`, enable `[features] plugins = true`, `hooks = true`, and `[plugins."nowledge-mem@nowledge-community"] enabled = true`, then run the installed `scripts/install_hooks.py`. It adds the legacy `plugin_hooks` gate only when the host still needs it. Restart Codex and trust the Nowledge Mem hooks when prompted. If Codex local Memory is enabled, turn off **Allow memory generation from tool-assisted tasks**. | [Guide](https://mem.nowledge.co/docs/integrations/codex-cli) |
| **ZCode** | Running inside ZCode; `~/.zcode/` exists | In **Settings → Plugins → Create → Add marketplace**, add `https://github.com/nowledge-co/zcode-plugin`, install `nowledge-mem-zcode`, enable it, and reload the Agent runtime. Use `nmem config mcp show --host zcode` in ZCode's own MCP settings for remote Mem. This is guided MCP + Skills with handoff-only threads, not automatic transcript capture. | [Guide](https://mem.nowledge.co/docs/integrations/zcode) |
| **Bub** | Running inside Bub | `pip install nowledge-mem-bub` | [Guide](https://mem.nowledge.co/docs/integrations/bub) |
| **Pi** | Running as Pi agent; `~/.pi/` exists | `pi install npm:nowledge-mem-pi` | [Guide](https://mem.nowledge.co/docs/integrations/pi) |
| **OMP** | Running as OMP agent; `~/.omp/` exists | `omp plugin install nowledge-mem-omp` | [Guide](https://mem.nowledge.co/docs/integrations/omp) |
Expand Down
11 changes: 11 additions & 0 deletions nowledge-mem-zcode-plugin/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"mcpServers": {
"nowledge-mem": {
"type": "http",
"url": "http://127.0.0.1:14242/mcp/",
"headers": {
"APP": "ZCode"
}
}
}
}
20 changes: 20 additions & 0 deletions nowledge-mem-zcode-plugin/.zcode-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "nowledge-mem-zcode",
"version": "0.1.0",
"description": "Guided cross-tool memory for ZCode through Nowledge Mem MCP and Skills.",
"author": {
"name": "Nowledge Labs",
"email": "hello@nowledge-labs.ai",
"url": "https://nowledge-labs.ai"
},
"homepage": "https://mem.nowledge.co/docs/integrations/zcode",
"repository": "https://github.com/nowledge-co/zcode-plugin",
"license": "MIT",
"keywords": [
"zcode",
"memory",
"mcp",
"skills",
"nowledge"
]
}
14 changes: 14 additions & 0 deletions nowledge-mem-zcode-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

## [0.1.0] - 2026-08-08

### Added

- Initial ZCode Plugin package with official `.zcode-plugin/plugin.json` metadata.
- Bundled Nowledge Mem HTTP MCP configuration with a credential-free local default.
- Skills for Context Bundle / Working Memory, proactive search, distillation, status, integration checks, and honest handoff summaries.
- Documentation of local and remote setup, reload behavior, user-owned overrides, and the handoff-only thread boundary.

### Not included

- Automatic recall injection, automatic transcript capture, pre-compaction capture, and full `save-thread` import remain deferred until ZCode exposes a verified lifecycle and transcript contract.
192 changes: 192 additions & 0 deletions nowledge-mem-zcode-plugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
# Nowledge Mem for ZCode

> A ZCode Plugin package that adds guided Nowledge Mem MCP tools and reusable Skills.

## What it provides

After the plugin is enabled, ZCode can use the Nowledge Mem MCP server and these Skills:

- `read-working-memory` — read Context Bundle or Working Memory when starting or resuming work
- `search-memory` — proactively search memories and exact prior threads
- `distill-memory` — save durable decisions, procedures, learnings, and context
- `save-handoff` — save a structured, resumable summary when explicitly requested
- `status` — diagnose Nowledge Mem connectivity
- `check-integration` — verify setup and explain the capability contract

This is a guided `MCP + Skills` integration. MCP tools are available to the agent, while Skills teach when to use them. Version 0.1.0 does not claim automatic recall injection, automatic full-transcript capture, pre-compaction capture, or `save-thread`: ZCode's session/transcript lifecycle contract has not been verified for this connector.

## Manual installation

The plugin package includes `.zcode-plugin/plugin.json` and a `marketplace.json` catalog for the standalone repository `https://github.com/nowledge-co/zcode-plugin`. ZCode has not published a default marketplace directory. For normal installation, use the standalone repository's marketplace source; the community checkout instructions below are only a development/review mirror.

### macOS/Linux

For normal installation, add the standalone repository's marketplace source in ZCode using the repository URL:

```text
https://github.com/nowledge-co/zcode-plugin
```

For local development or review of this community checkout, choose a stable checkout location and clone the community repository:

```bash
COMMUNITY_DIR="$HOME/src/nowledge-community"
git clone https://github.com/nowledge-co/community.git "$COMMUNITY_DIR"
```

If you already cloned it, update it later with:

```bash
git -C "$HOME/src/nowledge-community" pull --ff-only
```

Create a persistent local marketplace directory under the user data directory. This is a project-recommended location, not a ZCode-defined default path:

```bash
COMMUNITY_DIR="$HOME/src/nowledge-community"
MARKETPLACE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/nowledge/zcode-marketplace"
mkdir -p "$MARKETPLACE_DIR"
python3 - "$MARKETPLACE_DIR" "$COMMUNITY_DIR/nowledge-mem-zcode-plugin" <<'PY'
import json
import pathlib
import sys

marketplace_dir = pathlib.Path(sys.argv[1]).expanduser().resolve()
plugin_dir = pathlib.Path(sys.argv[2]).expanduser().resolve()
marketplace_dir.mkdir(parents=True, exist_ok=True)
marketplace = {
"name": "nowledge-community-zcode-local",
"description": "Local Nowledge Mem ZCode plugin source",
"plugins": [{
"name": "nowledge-mem-zcode",
"version": "0.1.0",
"description": "Guided cross-tool memory for ZCode through Nowledge Mem MCP and Skills.",
"source": {"source": "directory", "path": str(plugin_dir)},
}],
}
(marketplace_dir / "marketplace.json").write_text(
json.dumps(marketplace, indent=2) + "\n", encoding="utf-8"
)
print(f"Add this local marketplace directory in ZCode: {marketplace_dir}")
PY
```

Then open a ZCode workspace and:

1. Go to **Settings → Plugins**.
2. Select **Create → Add marketplace**.
3. Choose the persistent directory printed by the command above.
4. In the **Personal** section, install and enable `nowledge-mem-zcode`.
5. Reload or restart the ZCode Agent runtime.

The standalone repository's `marketplace.json` is the catalog used by the ZCode marketplace flow; `.zcode-plugin/plugin.json` remains the plugin manifest. The development-only generated catalog above is not a replacement for the standalone repository catalog.

### Windows PowerShell

Clone or update the community repository:

```powershell
$CommunityDir = Join-Path $HOME "src\nowledge-community"
git clone https://github.com/nowledge-co/community.git $CommunityDir
# For an existing checkout instead:
# git -C $CommunityDir pull --ff-only
```

Create the persistent user-owned marketplace directory and its catalog:

```powershell
$CommunityDir = Join-Path $HOME "src\nowledge-community"
$MarketplaceDir = Join-Path $env:LOCALAPPDATA "Nowledge\ZCode\marketplace"
$PluginDir = (Join-Path $CommunityDir "nowledge-mem-zcode-plugin")
New-Item -ItemType Directory -Force -Path $MarketplaceDir | Out-Null
@{
name = "nowledge-community-zcode-local"
description = "Local Nowledge Mem ZCode plugin source"
plugins = @(@{
name = "nowledge-mem-zcode"
version = "0.1.0"
description = "Guided cross-tool memory for ZCode through Nowledge Mem MCP and Skills."
source = @{
source = "directory"
path = (Resolve-Path $PluginDir).Path
}
})
} | ConvertTo-Json -Depth 5 | Set-Content -Encoding UTF8 (Join-Path $MarketplaceDir "marketplace.json")
Write-Host "Add this local marketplace directory in ZCode: $MarketplaceDir"
```

In ZCode, use **Settings → Plugins → Create → Add marketplace**, choose `$MarketplaceDir`, install and enable `nowledge-mem-zcode`, and reload the Agent runtime.

### Updating the plugin and adding future plugins

Keep both the community checkout and the user-owned marketplace directory at stable, accessible paths. ZCode does not document whether local marketplace sources are copied, cached, watched, or referenced directly, nor does it document a default storage path. Do not delete or move the source if you want the documented refresh workflow to keep working.

To update this plugin:

```bash
git -C "$HOME/src/nowledge-community" pull --ff-only
```

Then open **Settings → Plugins → Marketplace sources** and choose **Refresh this marketplace**. Use **Manage installed → Check for updates** when ZCode offers that action, and reload the Agent runtime if components do not appear immediately.

To add another local plugin in the future, edit the persistent marketplace's `marketplace.json` and append another `plugins[]` entry with a unique `name`, version, description, and a valid absolute `directory` source path. Refresh the marketplace, then install and enable the new plugin from the Personal section. ZCode's documentation does not promise that a newly listed local plugin is automatically installed or that an existing install is automatically upgraded.

For remote SSH/WSL workspaces, local plugins do not automatically move with the workspace. ZCode documents that marketplace plugins are reinstalled remotely and that the remote environment must be able to reach the marketplace source. Keep the source available on the remote side or use a reachable GitHub/Git source instead.

## Mem connection

The package's default `.mcp.json` uses the local Nowledge Mem Desktop endpoint:

```text
http://127.0.0.1:14242/mcp/
```

Start Nowledge Mem Desktop and verify the CLI when using local mode:

```bash
nmem --json status
```

For Cloud, Access Anywhere, self-hosted, or another remote endpoint, configure the ZCode-owned MCP settings rather than editing the installed package:

```bash
nmem config client set url https://mem.example.com
nmem config client set api-key nmem_your_key
nmem config mcp show --host zcode
```

Paste the generated MCP block into ZCode's own MCP settings and reload the Agent runtime. API keys are intentionally absent from this repository and must not be passed as command-line arguments or written to logs. Direct MCP clients do not automatically inherit `~/.nowledge-mem/config.json`.

## Capability contract

| Capability | ZCode behavior in 0.1.0 |
|---|---|
| Context Bundle / Working Memory | Guided by Skills and MCP |
| Memory and thread search | Guided and proactive when relevant |
| Distillation | Guided; search before update/add |
| Status | CLI fallback plus MCP server tools |
| Handoff | Explicit structured summary only |
| Automatic recall injection | Not provided |
| Automatic transcript capture | Not provided |
| Pre-compaction capture | Not provided |
| Full `save-thread` import | Not provided |

A handoff is not a transcript. Do not describe `save-handoff` as lossless session capture.

## Customize without editing the plugin

Do not modify files under ZCode's installed plugin cache. Put project-specific memory guidance in the host's user/project instruction surface when available, or use ZCode's own settings and prompt customization. This keeps changes durable across plugin updates.

## Permissions and security

Enabling a third-party ZCode plugin grants it the permissions provided by its declared components. Review the manifest, `.mcp.json`, and Skills before enabling it. This package contains no executable hook or custom runtime process; its MCP server still has the access granted by the ZCode MCP client and the endpoint you configure.

## Development

Validate the self-contained package without credentials or a running ZCode UI:

```bash
node scripts/validate-plugin.mjs
```

The repository also has a static integration contract test. There is currently no verified headless ZCode plugin harness, so a successful static test is not a claim of live UI verification.
21 changes: 21 additions & 0 deletions nowledge-mem-zcode-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "nowledge-zcode",
"description": "Official Nowledge Mem plugin for ZCode.",
"owner": {
"name": "Nowledge Labs",
"email": "hello@nowledge-labs.ai",
"url": "https://nowledge-labs.ai"
},
"plugins": [
{
"name": "nowledge-mem-zcode",
"version": "0.1.0",
"description": "Guided cross-tool memory for ZCode through Nowledge Mem MCP and Skills.",
"category": "knowledge",
"tags": ["memory", "mcp", "skills", "zcode"],
"source": ".",
"homepage": "https://mem.nowledge.co/docs/integrations/zcode",
"repository": "https://github.com/nowledge-co/zcode-plugin"
}
]
}
Loading
Loading