Skip to content

Releases: yinguobing/dsh-memory-index

dsh-memory-index v0.1.0

Choose a tag to compare

@yinguobing yinguobing released this 26 Oct 04:18

dsh-memory-index v0.1.0

First public release. Distributed through GitHub only; not published to npm.

What it does

  • Indexes an existing Markdown memory tree: MEMORY.md, daily notes, wiki/, and archived sessions.
  • Adds memory_search, memory_read, and memory_write.
  • Uses SQLite FTS5 trigram with a unicode61 fallback and CJK 3-gram expansion.
  • Safe defaults: read-only, no startup recall, no startup indexing.

Install

dsh plugin --profile web add \
  https://github.com/yinguobing/dsh-memory-index/releases/download/v0.1.0/dsh-memory-index-0.1.0.tgz
dsh --profile web

Then set workspace in the profile's cordis.patch.yml and run /memory-rebuild once.

Safety

  • Paths are confined to workspace; .. and absolute escapes are rejected.
  • Symlink components are rejected for reads, writes, and roots.
  • Reads use O_NOFOLLOW; writes use a 0600 temp file, fsync, and rename.
  • The core memory file is append-only.

Requirements

  • DSH >=0.2.1-rc.2
  • Node ^22.19.0 || >=24.0.0
  • Linux is the tested target

Verification

  • 14 tests pass (node --test).
  • Packed tarball contains 10 files and no database, personal paths, or credentials.
  • SHA-256: 9546080d0fe13f029031972870e58062b5319fb6aace8d022953cd818bf2f312

Known limitations

Lexical search only for now; no file watcher; approximate chunk line numbers. Semantic retrieval is planned for 0.2.0 as an optional layer, with FTS5 as the offline fallback.

Design lineage

The memory model comes from OpenClaw (MIT). This is an independent DSH implementation and shares no OpenClaw code.