DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Echo Notes — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
E

@dsh-plugin/echo-notes

Echo Notes

Echo Notes 回声笔记 — 以情绪为先的加密日记、模板和写作提醒,适用于 DeepSeek Harness。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Smallballoons01/echo-notes#30086471daa3b575099f4940e70dd4364795e64e
README兼容性版本

兼容性与来源证明

Echo Notes 以 @dsh-plugin/echo-notes 发布,当前版本为 0.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/16

版本

0.3.0stable
2026/10/16
0.2.0stable
2026/10/9
0.1.0stable
2026/10/8

相关插件

正在加载相关插件…

最新版
0.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/16
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio 及其精选幻灯片模板,作为原生 DeepSeek Harness 对话视图。Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航

README

Echo Notes 回声笔记

An emotion-first diary for DeepSeek Harness, with the agent as a writing partner: emotion/persona templates, chronological and mood browsing, optional passphrase encryption, and scheduled writing prompts.

The native panel and echo_note Agent tool run in DeepSeek Harness. The same portable JSON Schema tool contract is documented below for adapters in other Agent hosts; host-side capabilities such as reminders and storage require the Harness runtime or an adapter.


What it does

Emotion templatesi 人 / e 人, plus one per mood (开心、伤心、焦虑、疲惫…) and a blank free-write. Author your own and shadow a built-in without editing code.
BrowsingBy time window, by mood, by tag, by template, and full-text search. Aggregates by mood/day/tag plus a writing streak.
EncryptionAES-256-GCM, key derived from your passphrase with scrypt, per-note random IV, note id bound in as AAD. Off until you create a vault.
RemindersDaily, weekly, interval, or one-shot. When one fires the agent is woken with a prompt and writes the entry.
Agent accessOne echo_note tool (9 actions) plus an echo-notes skill carrying the writing guidance.
Auto-lockOptionally drops the key from memory after an idle period.

Agent compatibility

SurfaceCompatibilityRequirements
DeepSeek Harness native Agent toolNative echo_note tool with standard JSON Schema arguments/outputPlugin enabled in Harness
MCP-capable Agent clientsecho_note via included stdio MCP adapterHarness running locally; set ECHO_NOTES_API_URL
Claude Desktop / Cursor / ContinueMCP stdio transport, subject to each client’s config supportNode.js 20+, client-specific MCP setup
Direct REST callersLocal JSON API under /echo-notes/apiLoopback Host; POSTs must be same-origin or omit Origin
Agents without MCP or custom toolsNot directly supportedUse an MCP bridge or the client’s tool-adapter feature

This is interoperability through shared schemas and adapters, not a claim that one plugin binary runs unmodified inside every Agent product. The Harness owns the vault, encryption key, reminders, and persistence; external MCP clients forward to that running service and cannot unlock it with a tool call.

Installation

DeepSeek Harness (development link)

From a local DSH session, install this directory as a bundle using the Plugin Manager and the absolute path to this checkout. The bundle registers one Host row and a Client panel; after activation, open 回声笔记 from the sidebar and create a vault.

DeepSeek Harness (published release)

Install the tagged GitHub release through the DSH Plugin Manager. The repository, homepage, and bugs fields in package.json already point at this project. See RELEASING.md for the release checklist.

Other Agent hosts

Other MCP-capable agents can use the portable MCP adapter in mcp/ against the same Echo Notes data service when configured. The UI, local storage domain, reminder scheduler, and passphrase lifecycle are Harness-owned; another host must provide an adapter/storage service and must not share the raw data directory while the Harness process is running. See Agent compatibility.

Using it

  1. Create a vault. Pick a passphrase. It is stretched into a key-encryption key; only a wrapped data key is stored, so changing the passphrase later never rewrites a single note.
  2. Write. Choose a mood chip, then optionally a template. Templates drop prompt headings into the editor — answer the ones you feel like and delete the rest.
  3. Ask the agent. "帮我写今天的日记,今天有点累" is enough. It calls status first, picks the matching template, writes in your voice, and confirms in one line.
  4. Review. Filter the list by text or mood, or open 设置 for the mood/day chart and totals.

Reminder schedules

daily:    { kind: daily,    at: "21:30" }
weekly:   { kind: weekly,   at: "09:00", weekdays: [1, 5] }   # 1 = Monday
interval: { kind: interval, everyMinutes: 45 }
once:     { kind: once,     at: "2026-10-09T09:00:00+08:00" }

A reminder that comes due while the machine is asleep is skipped, not replayed — opening the app after a holiday will not produce a wall of nudges. The grace window is 10 minutes.

Configuration

Edit this bundle's row in cordis.patch.yml (or the plugin's settings page):

KeyDefaultMeaning
autoLockMinutes0Drop the key after this much idle time. 0 disables auto-lock.
defaultReminder"21:30"Time used by a reminder created without one.
encryptByDefaulttrueEncrypt bodies as soon as a vault exists.
tickSeconds30How often the reminder/auto-lock loop runs.

How it is built

index.js          Host half: vault, tools, skill, reminder loop, HTTP API
client.js         Client half: the panel (plain JS, React from the module table)
src/crypto.js     scrypt + AES-256-GCM, no dependencies
src/store.js      note index, filtering, revisions, encryption migration
src/templates.js  the emotion templates and their rendering
src/reminders.js  pure schedule maths (next fire, catch-up policy)
skills/echo-notes/SKILL.md   agent-facing workflow
test/             unit, integration, MCP protocol and render tests

Three decisions worth knowing about:

One action dispatcher, multiple adapters. The Harness tool and HTTP routes call the same runToolAction/operations logic. The MCP adapter forwards the same echo_note JSON Schema/action request to /tool; it does not implement a second data store or business-logic copy. Integration tests exercise each adapter surface.

The Client calls the Host over HTTP, not a Remote namespace. This bundle is plain JavaScript with no code-generation step. ctx.webServer.register gives the panel a same-origin transport; loopback Host and Origin checks limit browser requests. MCP stdio is intended for local clients connecting to a running Harness. Do not expose the HTTP endpoint publicly or proxy it without adding real authentication and TLS.

Metadata is plaintext; note bodies and revisions are encrypted. The stored index still includes title, mood, tags, timestamps, word count and pin state so filtering works without decrypting every note. The 40-character preview is cleared after encryption is enabled. These metadata fields can still reveal private information; treat the storage directory accordingly.

Development and tests

pnpm install
pnpm check
pnpm test

The Node built-in test suite covers encryption and tamper detection, storage and migration, reminders, HTTP and native-tool operations, standard JSON Schema portability, MCP stdio JSON-RPC, and Client view rendering. The profile install uses DSH-owned package peers; local development uses the exact peer versions listed in the lockfile. See CONTRIBUTING.md for guidance.

The Harness versions this plugin develops against are published to npm but not under the latest tag — npm's latest for @deepseek-ai/dsh-tools is still the placeholder 0.0.1-rc.1. They are reached through the alpha tag, and the lockfile pins 0.2.1-alpha.4 together with its companion versions @deepseek-ai/cordis 4.0.5-alpha.2 and @deepseek-ai/schemastery 3.18.5-alpha.2. The lockfile is committed and CI installs with --frozen-lockfile, so a dependency change must move the lockfile with it.

Limitations

  • Metadata remains plaintext. Titles, mood, tags, timestamps, word counts and pin state are stored unencrypted for indexing and filtering. The plaintext body preview is removed when encryption is enabled. Anyone who can read the storage backend can still infer patterns from metadata.
  • Authenticated encryption does not prevent rollback or deletion. AES-GCM detects ciphertext tampering and moving ciphertext between note/revision ids. Anyone with write access to the storage backend can still delete notes or restore an older valid database snapshot. Back up the storage backend safely.
  • A forgotten passphrase is unrecoverable. That is what the encryption is for. There is no recovery key and no escrow.
  • Auto-lock is coarse. It is checked on the tick loop, so the lock lands within one tickSeconds of the deadline, not exactly on it.
  • Reminders need a live Harness. They are Host timers, not OS-level notifications; a closed app fires nothing, and the missed occurrence is skipped.
  • Search requires an unlocked vault. Matching happens against decrypted bodies in memory, so a locked vault can list metadata but cannot search text.
  • Browser-verified panel. scripts/browser-smoke.mjs (pnpm test:browser, needs a running dsh web and Playwright) drives the real Web UI: the sidebar entry opens the panel, the first-run passphrase card renders, and the --dsw-alias-* tokens resolve to different palettes under light and dark schemes. Verified against DeepSeek Harness 0.2.1-alpha.4.

Storage schema

The echo_notes domain stores three tables (notes, revisions, settings) with deliberately permissive schemas. The record shape grows while the diary is in use — a strict schema would turn every added field into a migration — so the invariants that matter are enforced by NoteStore and covered by tests instead.