Knowledge-base-driven agent preset: wiki long-term memory, a web KB UI, a management page and optional UI polish.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-eli-mode
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:CeilCelia/dsh-eli-mode#path:/packages/eli-mode
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Eli Mode is an agent preset for DeepSeek Harness (DSH) built around wiki-driven long-term memory and skills, on an extremely minimal Harness setup.
Features
- Wiki-driven memory: a persistent, cross-session wiki that replaces the memory and
skill modules — try it and you'll know. Entries cross-link with
[[id]]; forward/back links and the tree index are maintained automatically. - Extremely minimal Harness: only the essential tools; the injected system prompt and context are deliberately tuned.
- Management page: Settings → Plugin Configuration → Eli Mode — edit the persona prompt and the knowledge-base injection prompt from a form.
- UI polish (submodule eli-polish): adds a KB tab, token stats, tool-call collapsing and character art on top of the default theme. Off by default — tick "UI polish" in the Eli Mode config page to enable it (no restart needed).
Install
This plugin is listed on dsh-market: if you have dsh-market installed, search for eli-mode in Settings → Plugin Market to install it.
Requires DSH 0.1.0-rc.6 or newer (Node.js >= 22) and pnpm (npm install -g pnpm — the dsh plugin command depends on it).
npx -y @deepseek-ai/dsh plugin --profile web add dsh-eli-mode@latest
After restarting dsh web:
- Open a new session and pick the Eli Mode preset;
- On first run a default knowledge base is created under
~/.dsh/eli-knowledge/(existing content is never overwritten); - Settings → Plugin Configuration → Eli Mode: edit the persona prompt and the KB injection prompt (takes effect on new sessions), or tick "UI polish" and swap the character art (takes effect immediately).
Preset updates
After upgrading the plugin (dsh plugin --profile web update), restarting re-syncs
~/.dsh/.agent-presets/eli-mode/ from the bundled preset.
Desktop edition (Windows)
An out-of-the-box Windows desktop build: bundles this plugin, enables the polish/skin by default, auto-initializes on first run, and defaults new sessions to the Eli Mode preset.
Download: GitHub Releases (DSH Eli Mode v0.1.10, Windows x64)
Built on anywhere-labs/deepseek-harness-desktop (MIT) - itself a community shell of the official deepseek-ai/deepseek-harness. The distribution carries full LICENSE/NOTICE. Not an official DeepSeek product.
Configuration
Management page (recommended)
Settings → Plugin Configuration → Eli Mode:
| Field | Description |
|---|---|
| Persona prompt | Identity / style / memory rules; Role, cwd and date are generated by the system |
| KB injection prompt | Template injected with the directory list; {{tree}} is replaced by the list; empty = no injection |
| Inject KB index | Toggle: whether the directory index goes into the session prompt |
| UI polish | Toggle: character art, in-chat "Knowledge base" tab, token stats, tool-call collapsing; applies immediately |
Works out of the box: the plugin ships a built-in settings bridge (loopback) so the config card needs no official-allowlist patch. If your deployment disables the bridge (e.g. remote access), edit
~/.dsh/settings.yamldirectly.
Direct settings.yaml
eli-mode:
personaPrompt: |
# Your persona prompt (multiline)
kbIndexPrompt: |
Knowledge base index below; use kb_read / kb_search on demand:
{{tree}}
kbIndex: true
polish: false # true = enable UI polish
Using the knowledge base
- Web:
http://<dsh-host>/eli-kb(browse / edit / search; the page follows the dsh UI language) - In chat:
kb_search <query>→kb_read <id>→kb_write <title> + <content>to persist - Storage:
~/.dsh/eli-knowledge/wiki/(override withELI_KB_ROOT) - The index (
index.md) is regenerated automatically — no manual maintenance - With polish on, the composer shows token usage; when a
DEEPSEEK_API_KEYis configured (dsh credentials service or environment variable) it also shows the account balance
Uninstall
npx -y @deepseek-ai/dsh plugin --profile web remove dsh-eli-mode
Restart dsh web. Preset files and KB data remain under ~/.dsh/ for manual cleanup.
Project layout
packages/
└── eli-mode/ # Core package (npm: dsh-eli-mode)
├── lib/ # Host modules (KB service, web routes, settings namespace, preset sync) + client (management card + optional polish)
├── presets/ # Agent preset (auto-synced to ~/.dsh/.agent-presets/)
├── wiki/ # Default knowledge base (seeded on first run)
└── ui/ # KB web page and character art
License & attribution
- Code: Apache-2.0 (see LICENSE)
- Character art (
ui/art-left.webpmain UI +ui/art-right.webpwiki) is a derivative of the "Whale Girl" character, CC BY-NC-SA 4.0 (non-commercial); full attribution chain in NOTICE:
- 上善 (Shangshan) (Pixiv · Bilibili) — original creator of the whale-girl character
- zipzip / ZipZipPipe (Pixiv · Bilibili) — the DeepSeek-element maid whale-girl redesign (generated with GPT Image 2)
- Small-tailqwq (dsh-deep-whale) — the DeepSeek-element material curation (tertiary derivative)
Special thanks to the creators above — their art and curation give this UI its soul.
Links
More in this category
vectorize-io/hindsight#coding-agents★ 41184
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
volcengine/OpenViking#examples/dsh-memory-plugin★ 38914
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
agentscope-ai/ReMe#dsh★ 3530
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2679
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 1081
Reads the session files thirty-three other coding agents on this machine already wrote — Claude Code, Codex, Cursor, VS Code Copilot Chat, opencode, OpenClaw, Hermes, Kimi, Cline, Zed and more — including sessions from before it was installed: six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall added to the runtime context. Local BM25 index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
adoresever/graph-memory★ 631
Traceable, searchable cross-session memory for DeepSeek Harness — conversation knowledge as typed graph nodes (TASK/SKILL/EVENT) and typed edges.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.