adamcjm/dsh-memo ↗★ 0

dsh-memo

Memo plugin for DeepSeek Harness: sidebar quick capture, local SQLite storage, private GitHub repo sync, and image/screenshot support. 提供侧边栏快速记录、SQLite本地存储及GitHub同步,适合需要随手记事和管理笔记的用户。

パッケージ
dsh-memo
互換性
未検証
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/10/08

同名パッケージの別リポジトリ

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:adamcjm/dsh-memo

ドキュメント

README 全文を読む ↗

Usage

Capturing a note

Open the Memo icon at the bottom of the sidebar and type into the input at the top, then press Enter:

Mr. Zhang wants a WeChat QR login entry on the login page; prototype due next Wednesday #requirement-change #login

#requirement-change and #login become tags automatically, and the tag markers are stripped from the body.

Adding images / screenshots

Three ways, freely mixable and repeatable:

  • Paste — take a screenshot, then press ⌘V in the input
  • Drag — drag images straight from Finder onto the input
  • Pick — click the "Image" button; hold ⌘ / ⇧ in the file dialog for multi-select

Images are named by SHA-256 and stored in attachments/, so pasting the same image twice costs one copy. Click a thumbnail to view it full size.

Tags

Tags are not fixed. The defaults (#requirement-change #todo #follow-up #idea #meeting) are just starting suggestions:

  • Type #customer-A or #MrZhang in the body and save → the tag is created and attached to that note
  • The tag area is sorted by usage; click one to filter
  • A tag that no note uses anymore disappears on its own

Search

Use the search box in the panel header and press Enter. Qualifiers combine:

SyntaxMeaning
scanBody or source contains the string (works for short CJK queries too)
#requirement-changeBy tag
source:MrZhangBy origin
after:2026-10-01 before:2026-10-08By date range
has:imageOnly notes with attachments
is:open is:doneOnly open / only completed

Keyboard shortcuts

KeyAction
EnterSave the current input
⇧EnterNewline inside the input
⌘VPaste an image from the clipboard
EscClose an overlay (settings / image zoom)

Syncing to GitHub

  1. Create a private repository on GitHub (e.g. yourname/dsh-memo-data)
  2. Create an access token:
    • Preferred: a fine-grained PAT scoped to that repo with Contents: Read and write
    • Or a classic PAT with the repo scope
  3. Click the settings icon in the panel header, fill in the repository and token, and hit "Save and sync"

After that:

  • Manual sync — click "Sync now"; the result is reported by a top-center notification (success / failure)
  • Auto sync — every change is committed and pushed 30 seconds later; failures also raise a notification
  • Status — the panel header shows "Synced / Pending / Local only / Sync error"

Token lookup order (none of them ever enter the repository):

  1. The settings dialog writes ~/.dsh/memo/.token (mode 0600)
  2. Environment variable DSH_MEMO_GITHUB_TOKEN
  3. Environment variable GITHUB_TOKEN

When pushing, the token only ever appears in the git process arguments (http.extraheader) — it is never written into .git/config.