证据快照复核于 2026-09-10GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle文件与文档Web Profile

dsh-md-notes

用于 DSH Web 的本地 Markdown 笔记插件,支持保存对话和可选 Git 同步。

快速了解

它能做什么

用于 DSH Web 的本地 Markdown 笔记插件,支持保存对话和可选 Git 同步。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
文件与文档文件文档上下文
适配技术
deepseek-harnessWebGit
兼容性

Web Profile
DSH 0.1.3-alpha.1 (verified for dsh-md-notes 0.12.0)

可信度与状态

证据已验证
核对日期 2026/9/6 UTC 13:50

有代码证据的贡献

它为 DSH 增加什么

Markdown 笔记管理器

添加侧边栏入口和全屏工作区 Markdown 笔记管理器,支持编辑、预览、搜索和保存对话内容。

机制证据
聊天中的笔记引用

用户可通过 @ 选择笔记,并在发送聊天时将笔记内容注入模型上下文。

机制证据

选择前先看

dsh-md-notes 为 DeepSeek Harness Web 添加 Markdown 笔记管理器。它支持创建和编辑工作区笔记、搜索标题与正文、将用户问题和助手最终回答追加到笔记,以及在聊天中通过 @ 引用笔记。Git 同步可配置为所有工作区共用一个仓库,或每个工作区单独使用仓库。

适合谁

希望在 DeepSeek Harness Web 的对话和工作区旁维护文件型笔记的用户。

常见任务

  • 将问题和助手最终回答保存到 Markdown 笔记。
  • 跨工作区搜索笔记,并跳转到命中的内容行。
  • 通过 @ 引用笔记,使其内容在发送聊天时进入模型上下文。
  • 通过可选 Git 仓库同步工作区笔记。

权限与数据

插件声明会使用本地笔记存储和浏览器到本地 DSH 的 HTTP API;更新检查和 Git 同步均为可选项。

权限
  • 读取和写入每个工作区 .dsh-notes 目录中的 Markdown 笔记及 meta.json。
  • 配置 Git 同步时,会管理 $DSH_HOME/md-notes-repos/ 下的 Git 克隆。
数据处理
  • 笔记以与工作区关联的纯 Markdown 文件形式存储。
  • 用户发送聊天时,可将所选笔记内容注入模型上下文。
外部服务
  • 可选的 Git 仓库同步。
  • 可选的 npm 注册表版本检查;可通过 checkUpdate: false 关闭。
凭据
  • 提供的文档声明该插件不会收集或传输凭据。

局限

  • 文档仅列出插件 0.12.0 与 DSH 0.1.3-alpha.1 的已验证组合;项目说明 DSH 不提供向后兼容保证。
  • 安装或升级后必须重启 DSH Web。
  • 保存对话时不包含推理内容,只记录最终回答。
  • Git 冲突的可视化和解决仍在路线图中。

DSHub 已核对

  • 已提供 package 版本 0.12.0、MIT 许可证和不可变 Git bundle 结构的证据。
  • README 记录了 DSH Web 安装方式、工作区笔记存储、可选 Git 同步及 DSH 0.1.3-alpha.1 的验证组合。

DSHub 未核对

  • 本次审查未实际执行安装、运行行为、Git 同步或模型上下文注入。
  • 未审计 npm 注册表包的内容。

固定版本安装

安装 dsh-md-notes

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit 848e984 对应的 README
维护者编写的上游内容原文于 2026/9/6README.md 获取,正文和仓库相对媒体固定到 commit 848e9840e6db,内容哈希为 762b2a182315。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。
<p align="center"> <img src="assets/dsh-md-notes.png" width="96" alt="dsh-md-notes" /> </p><h1 align="center">dsh-md-notes</h1><p align="center"> <a href="README.zh.md">中文</a> </p><p align="center"> DSH third-party plugin (bundle): <b>MD Notes Manager</b> <br /> <a href="docs/usage.md">User Guide</a> · <a href="docs/features.md">Features</a> · <a href="docs/architecture.md">Architecture</a> · <a href="docs/context.md">Context</a> · <a href="docs/ai-conflict.md">AI Conflict</a> · <a href="docs/TODO.md">Roadmap</a> · <a href="CHANGELOG.md">Changelog</a> </p>

Overview

A note-taking plugin for DeepSeek Harness (DSH). It provides a full MD notes manager and MD notes editor, letting you quickly capture conversation content into notes. Notes can be maintained by syncing to a Git repository.

Who it's for: DSH web users who want local, file-based notes (no database, no cloud) — capture a conversation into a note with one click, keep editing the .md anywhere, and back up / sync with a Git repository.

Current features:

  • Sidebar notes entry → full-screen notes manager: per-workspace note list (grouped, collapsible), markdown edit/preview, save, delete (in-page confirm), create with one click.
  • Note search: a search box in the manager's top bar scans every workspace — titles and bodies (space-separated keywords, AND, case-insensitive); results are grouped by workspace with highlighted matched lines, and clicking a hit opens the note in the editor on that line with the keyword selected.
  • Assistant-message action (next to copy) → pick or create a note and append that conversation (user question + answer) to it instantly — the text is captured from the conversation itself, so there's no waiting; section labels are localized (reasoning is not captured — only the final answer).
  • Reference notes in chat (@): type @ to pick notes (cross-workspace included); on send the plugin's backend injects each note's content into the model context, so the model can cite it without being asked to read files.
  • Git sync (optional, URL-driven): shared repo mode (one repo for all workspaces, per-workspace folders) or own repos mode (per workspace: URL + branch + subpath). Push = mirror-sync (deletions included), Update = pull with three-way conflict confirmation, auto-pull on open, merge-remote-and-retry. Each workspace shows a Git sync card in the manager: "Synced" / "N unpushed" status, plus a hint when the remote has new commits.
  • Note write mutex: writes to the same note are locked across sessions — the sidebar entry, picker and manager stay in sync until the write finishes.
  • Settings panel (dsh Settings → MD Notes): mode, repo URL/branch/subpath, auto-pull, commit author — with dsh-styled form controls.
  • Theme & i18n: token-based colors (light/dark), UI copy follows dsh's language (Chinese / English), error messages localized.
  • Update notifications: a yellow "Update available" tag appears when a newer npm version exists.

On the roadmap (see docs/TODO.md): visual Git conflict rendering & resolution, note capability enhancements (TOC / wiki links & backlinks), and interaction UX polish (dirty-editor reminders, save shortcut, etc.).

Compatibility

dsh iterates fast and provides no backward compatibility, so a fixed dsh version only matches fixed plugin versions. Verified combinations are listed below (full adaptation history in docs/compatibility.md):

Plugin version dsh version Verified on
0.12.0 0.1.3-alpha.1 2026-09-06
0.11.0 0.1.3-alpha.1 2026-09-04
0.10.1 0.1.3-alpha.1 2026-09-04

The plugin is not pinned to a specific mainline commit; pin the plugin version at install time if you need a fixed combination (e.g. dsh plugin --profile web add dsh-md-notes@0.12.0). Runtime dependencies (@deepseek-ai/*, react) are declared as optional peer dependencies and resolve from the dsh installation.

Install / Uninstall

Prerequisites: dsh CLI installed, target profile is web.

Install from npm (recommended):

dsh plugin --profile web add dsh-md-notes

Then restart dsh web (bundle layer and client package metadata are cached in the process; a restart is required for changes to take effect).

Upgrade:

dsh plugin --profile web update dsh-md-notes

A restart of dsh web is required for it to take effect.

Uninstall:

dsh plugin --profile web remove dsh-md-notes

For development/debugging from source: run dsh plugin --profile web add ./dsh-md-notes from the parent directory of the plugin project.

Quick start

  1. Install the plugin (above), restart dsh web.
  2. Create a note: click the notes entry at the bottom of the sidebar (above Settings) → click + on a workspace row → in the dialog enter a title (default "Untitled note <date>") and an optional file name → type in the editor → Save.
  3. Capture a conversation: below any assistant answer, click the notes icon (next to copy) → pick a target note (or create one on the spot) → Write to note. The user question + answer are appended to the note as a "<session title> -- <timestamp>" section.
  4. Reference a note: type @ in the chat input to pick a note (cross-workspace included); on send the note's content enters the model context automatically.

Note files live in each workspace's .dsh-notes/ directory (<workspace>/.dsh-notes); you can open and edit them directly with any editor. Git sync is optional — point the plugin at a repo URL and it keeps notes in sync (shared repo or per-workspace repo).

For everything the plugin can do — the notes manager, capturing conversations, Git sync (shared / per-workspace repos), pushing/updating, conflict handling, and the settings panel — see the User Guide.

Configuration

All options are plugin Config keys, overridable in the profile's cordis.patch.yml (a patch replaces the whole config of the row):

- id: md-notes
  config:
    gitMode: 'off'               # 'off' | 'shared' | 'own'
    gitAutoPull: true            # pull remote before opening a note

The HTTP API prefix is fixed at /plugins/md-notes (the browser frontend hardcodes the same constant, so it is intentionally not configurable).

Key Default Meaning
gitMode 'off' Git sync mode: 'off' off / 'shared' shared repo / 'own' per-workspace repos.
gitAutoPull true Pull the remote before opening a note.
checkUpdate true Let the backend query registry.npmjs.org for a newer plugin version; false keeps it fully offline.

There are no environment variables and no secrets in this plugin's configuration.

Permissions & data

  • Filesystem: reads and writes notes as plain .md files (plus a meta.json sidecar) under each workspace's .dsh-notes directory (notes are workspace-bound); git operations touch only the plugin-managed clones under $DSH_HOME/md-notes-repos/.
  • Network: a loopback HTTP API (POST <route>, browser ↔ local dsh server) and the icon served from the same origin; the only other outbound call is the optional npm update check (registry.npmjs.org, fully off with checkUpdate: false). No telemetry, no other external calls.
  • Credentials: none collected or transmitted.

Troubleshooting

Symptom Fix
Changes don't appear after install/upgrade Restart dsh web — bundle layer and client metadata are cached in the process.
Icon looks stale Hard-refresh the page; the icon is served with no-cache and reflects assets/dsh-md-notes.svg on every request.
Plugin doesn't load Verify the layer: dsh --profile web --dump-config and look for the md-notes row.
Installed from git and add failed pnpm ≥10 blocks build scripts by default; add the printed package key under allowBuilds in the profile's pnpm-workspace.yaml, then re-run add.
Notes can't be created/saved Make sure the workspace's .dsh-notes points to an existing writable directory (create a workspace in the dsh sidebar first).
Something feels slow Grab request timings with the browser probe in docs/debug.md — tells queueing vs server time in seconds.

Rollback: dsh plugin --profile web remove dsh-md-notes restores the previous state (notes files are untouched).

Contributing

See CONTRIBUTING.md for details.

Repository structure

Path Contents
src/ Source code (Node backend + browser frontend)
src/host/ Notes domain (notes.ts) + Git (git.ts) + HTTP layer (http.ts) + context injection (context-inject.ts) + write mutex (keyed-lock.ts)
src/client/ Browser frontend: entry (index.ts) + feature modules under features/ (one directory per feature; when one outgrows a single file it splits out feature-private components/ and hooks/ subdirectories — see NotesManager/ for the pattern, docs/architecture.md)
src/client/features/locales/ zh/en UI dictionaries (dsh locale namespace md-notes)
assets/ Plugin icon (SVG source + PNG)
docs/ Docs: usage.md/usage.zh.md (user guide), features.md (functional), architecture.md, context.md (@ references), git.md (Git sync), ai-conflict.md (AI conflict resolution), state.md / write-lock.md (state & write-mutex design), manager-redesign.md (manager redesign), search.md (note search design), debug.md (performance), compatibility.md / compatibility.zh.md (dsh ↔ plugin version compatibility matrix, en/zh), TODO.md
scripts/ Dev tooling (e.g. link-deps.mjs)
lib/ Build output (gitignored; what npm publishes)

License & security

Licensed under the MIT License (see LICENSE).

Security issues: please report them privately via the repository's Security Advisory rather than a public issue, so they can be addressed before disclosure.

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — XieZongChen/dsh-md-notes#848e9840e6dbf187249f692365eb7bc050234ab9

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

Verified with DSH 0.1.3-alpha.1 for plugin 0.12.0 DSH 0.1.3-alpha.1 (verified for dsh-md-notes 0.12.0)

检查兼容性证据

风险事实

文件系统

Writes workspace notes

证据
网络

Optional Git sync and npm update check

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

如需使用已提供证据的不可变 Git bundle,请打开固定提交的仓库源码;启用 Git 同步前请先阅读项目文档。

AI 审查于 2026/9/10 UTC 11:36GitHub 事实核对日期: 2026/9/10 UTC 11:36

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: dsh-md-notes