Skip to content

Releases: adithyanraj03/dsh-memory-recall

dsh-memory-recall 0.3.0 — budget sliders in the Memory panel

Choose a tag to compare

@adithyanraj03 adithyanraj03 released this 25 Oct 11:26
v0.3.0
38985ef

Budget sliders in the Memory panel

How much memory every chat pays for was a patch-file decision: edit limits in cordis.patch.yml, restart dsh, reload. Now it is two sliders in ⚙ Display settings — and they take effect from the chat's next delivery, no restart.

What you will see

  1. 🧠 Memory → ⚙ Display settings gains a BUDGETS section: a Notes budget slider (500–10,000 characters) and a Profile budget slider (250–5,000). Each row shows the live value as 4,000 chars · ≈1,000 tokens while you drag.
  2. The panel's rings and bars rescale the moment you release a slider — the save response carries the fresh state, so nothing needs a reload.
  3. Once a slider has moved, a Reset to the config file's limits link appears; clicking it deletes the saved budgets and returns to whatever cordis.patch.yml says.

Why it works without a restart

  • The budget numbers the model actually reads — the [98% — 3,938/4,000 chars] header on the injected memory message, and the over-budget errors that trigger consolidation — are computed from the live limits at delivery time. A slider move lands on the chat's next delivery.
  • Saved budgets go to settings.json in the plugin's own folder (atomic write, same pattern as the memory files) and win over the config file; the config stays the startup default.
  • Bounds and whole-number checks are server-side on the new GET/POST /settings route — a hand-made request outside the range gets a clean 400, never a silent clamp.

One honest note

The budgets bound what gets delivered. Lowering one below what is stored means the next snapshot trims to fit — the same rule as an over-full store, which asks the model to consolidate. Raising is the friendly direction.

Under the hood

  • src/store.js — LIMIT_BOUNDS, setLimit/resetLimits with a persisted settings.json, limitsState(); saved budgets load at construction so they survive restarts.
  • src/routes.js — GET/POST /settings; /state now carries budgets so the panel draws the sliders from the fetch it already makes.
  • lib/client.js — the BUDGETS section: real range inputs in the chip's violet, char/token readout, commit on release, reset link.
  • 125 tests (124 pass, 1 skip): persistence across reopen, saved-overrides-config and reset, validation refusals, a raised budget admitting a previously-refused write, the route end-to-end, and the client wiring.

Update

Update dsh-memory-recall from the marketplace (or Settings → Plugins → Update), then restart dsh. The sliders appear under ⚙ in the Memory panel; your memory files are untouched.

dsh-memory-recall 0.2.3

Choose a tag to compare

@adithyanraj03 adithyanraj03 released this 25 Oct 10:24
v0.2.3
cbd3fd5

dsh 0.2.x: the memory message uses the v4 source kind (plugin:memory); fixes 'format v4 message requires a producer-owned source kind' on a new chat's first turn.

dsh-memory-recall 0.2.2

Choose a tag to compare

@adithyanraj03 adithyanraj03 released this 25 Oct 06:07
v0.2.2
12cbdf8

Your plugin now has a face

Until now dsh-memory-recall showed dsh's generic blue glyph in Settings → Installed plugins, and its dshmarket tile fell back to the owner's GitHub avatar. 0.2.2 ships a real icon.

dsh-memory-recall icon

It is the same solid brain the plugin already draws in your chats — the Saved-to-memory gradient (amber → rose → violet) with its violet glow, on a dark tile — so it reads at 36 px in the plugin list and 96 px on the market tile, on light and dark themes alike.

Where you will see it

  1. Settings → Installed plugins — the dsh-memory-recall row shows the brain tile instead of the generic glyph.
  2. The dshmarket tile — the store card shows the icon instead of an avatar.

No install step: dsh reads the icon from the installed package ("icon": "assets/icon.png" in package.json) and embeds it itself. The SVG source lives at assets/icon.svg.

No behaviour change — memory delivery, session_search, the Memory panel and the @ menu work exactly as in 0.2.1.

Update

dsh plugin --profile web add dsh-memory-recall

then restart dsh --profile web and hard-refresh the browser (Ctrl+Shift+R / Cmd+Shift+R).

Requires dsh 0.1.5+ (works on 0.1.7+ and 0.2.x) and Node 22+.

dsh-memory-recall 0.2.1

Choose a tag to compare

@adithyanraj03 adithyanraj03 released this 25 Oct 05:28
a4ea4ae

The memory guidance section now registers on agent/created with agent/disposed teardown - the seam every dsh release emits. dsh 0.1.7 removed agent/session-start, which the guidance previously rode, so on 0.1.7+ and 0.2.x the guidance was silently missing from every chat. Works on dsh 0.1.5-rc.2 through 0.2.x; session-start stays wired as a deduped back-compat path. No other behavior changes.

dsh-memory-recall 0.2.0

Choose a tag to compare

@adithyanraj03 adithyanraj03 released this 24 Sep 23:12
cff81cf

Memory now reaches the model as a logged context message (Memory loaded / reloaded / updated) - at the start, after a change, and after compaction - via an agent/pre-step hook (src/inject.js). New: an optional memory read action, a brain button in the composer, and Display settings in the Memory panel. A change without a target is now refused instead of guessed.

dsh-memory-recall 0.1.0

Choose a tag to compare

@adithyanraj03 adithyanraj03 released this 24 Sep 15:05
d6335dc

Initial public release: a memory tool (user profile + the model's own notes) in every new chat's prompt, session_search over earlier chats behind dsh's approval prompt, a Memory panel in the sidebar, and chats and workspaces in the @ menu. Host-side, offline, no runtime dependencies.