Skip to content
dsh.fish
Bundle

dsh-noc-memory

DeepSeek Harness plugin: Nocturne Memory client — automated long-term memory (boot/read/search/create/update/delete) backed by your own Nocturne MCP server.

Source
RealAlexandreAI
stars
2 stars
License
MIT
Updated
Updated 2 days ago

Readme

<p align="center">
  <img src="assets/readme/hero.svg" alt="dsh-noc-memory — long-term memory for DeepSeek Harness" width="100%">
</p>

# dsh-noc-memory

Connects DeepSeek Harness to **Noc Memory**: session-start boot + daily briefing, plus memory read / search / create / update / delete, backed by your own Noc Memory MCP server on Cloudflare.

> Port of [pi-noc-memory](https://github.com/RealAlexandreAI/pi-noc-memory) — same protocol, same tool names.

[English](README.md) · [中文](README.zh.md)

## Tools

| tool | what it does |
|---|---|
| `noc_boot` | load at session start: `system://boot`, `system://recent/5`, `system://triggers`, then best-effort `system://briefing`; afterward read `system://focus` (recent is a briefing subset — no need to re-read it after boot) |
| `noc_read` | read a memory by URI (`system://…`, `noc://agent`, …) |
| `noc_search` | search memories (semantic + keyword / trigger recall via `search_memory`) |
| `noc_create` | create a memory node (`[Baseline]`/`[Deviation]`/`[Result]`/`[Reusable judgment]`) |
| `noc_update` | full replace, patch (old_string/new_string), or append; optional `relation` |
| `noc_delete` | delete a memory by URI (`delete_memory`) |

## Quick start

```sh
dsh plugin --profile web add dsh-noc-memory
```

Requires your own Noc Memory server — deploy it to Cloudflare in minutes: [cf-noc-mem](https://github.com/RealAlexandreAI/cf-noc-mem).

```yaml
- id: noc-memory
  name: dsh-noc-memory
  config:
    mcp_url: https://mem.example.com/mcp
    mcp_auth: ""  # prefer mcp_headers for Access service token
```

For a server behind Cloudflare Access (e.g. noc-mem.slahser.com), use the **service token** headers instead of `mcp_auth`:

```yaml
- id: noc-memory
  name: dsh-noc-memory
  config:
    mcp_url: https://noc-mem.slahser.com/mcp
    mcp_headers:
      CF-Access-Client-Id: <your client id>
      CF-Access-Client-Secret: <your client secret>
```

| key | required | meaning |
|---|---|---|
| `mcp_url` | yes | your Noc Memory MCP endpoint (Streamable HTTP) |
| `mcp_auth` | no | legacy; prefer `mcp_headers` for Cloudflare Access service token |
| `mcp_headers` | no | extra headers merged into every MCP request (e.g. Cloudflare Access service token) |

> **Upgrading from dsh-nocturne-memory (≤0.1.x):** renamed to `dsh-noc-memory`, tools renamed `nocturne_*` → `noc_*`. Remove the old plugin and re-add the new package; update any prompt text referencing `nocturne_*` tools.

## Why noc_* (not nocturne_*)?

Some agents probe `read_mcp_resource` before reaching for a memory tool, wasting a round trip ([upstream issue #32](https://github.com/Dataojitori/nocturne_memory/issues/32)). Explicit `noc_boot` / `noc_read` naming in the tool list and boot-protocol prompt steers models straight to the right tool — no resource shim required.

## License

MIT

## Related

- [cf-noc-mem](https://github.com/RealAlexandreAI/cf-noc-mem) — the Cloudflare MCP memory server this plugin talks to
- [pi-noc-memory](https://github.com/RealAlexandreAI/pi-noc-memory) — same memory tools for Pi
- [nocturne_memory](https://github.com/Dataojitori/nocturne_memory) — upstream project

Install

dsh plugin --profile web add github:RealAlexandreAI/dsh-noc-memory

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source