WeKnora
Tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:naletko/dsh-quote
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Select text in the conversation and put it into the composer as a markdown block quote — like Codex does, and without touching the draft you already typed.
A small, quiet Quote button appears next to the selection. Click it, or press Ctrl+Shift+. (Cmd+Shift+. on macOS), and the selection lands in the composer as:
> first line of the quoted text
> second line of the quoted text
One blank line separates the quote from whatever you had already written. The quote is appended to your draft, never substituted for it.
captureInsertion() / insertText(), which inserts one undoable edit at the caret. If that path is unavailable the draft is read back from the composer and the quote is appended to it — the plugin never overwrites what you typed.Ctrl+Shift+. on Windows and Linux, Cmd+Shift+. on macOS, and the chord can be re-recorded in the settings.Esc, a scroll, a resize, a tab switch or a session change all remove the button.input, textarea or contenteditable surfaces — including the composer itself — are ignored.CRLF is normalized, runs of blank lines collapse into a single quoting line, and the quote is capped at a configurable length.--dsw-alias-*) with a fallback, so the button and the settings card look right in the dark and the light theme. It honours prefers-reduced-motion, carries an aria-label and shows a focus ring.document.documentElement.lang (ru* → Russian, otherwise English).Pick whichever route matches how you use DSH.
dsh-quote — or the absolute path to this folder when you are installing a local checkout.dsh plugin --profile web add dsh-quote
To install a local checkout instead of the published package, pass its absolute path:
dsh plugin --profile web add /absolute/path/to/dsh-quote
Nothing needs to be built or installed:
git clone https://github.com/naletko/dsh-quote.git
cd dsh-quote
node test/metadata-check.mjs
node test/quote-logic-check.mjs
Typical use: select the paragraph of an answer you disagree with, quote it, and type your follow-up underneath.
| Platform | Default |
|---|---|
| Windows, Linux | Ctrl+Shift+. |
| macOS | Cmd+Shift+. |
The setting is stored as the portable chord Mod+Shift+., where Mod resolves to Ctrl on Windows and Linux and to Cmd on macOS. Any chord with at least one modifier can be recorded in the settings card; the plugin matches letter keys by physical key code, so the shortcut keeps working on a non-Latin keyboard layout.
The card lives on the plugin's page in Plugins and behind the row's Configure control.
| Setting | Default | What it does |
|---|---|---|
| Enable quoting | on | Turns the button and the hotkey off without uninstalling the plugin. |
| Add an attribution line | off | Closes the quote with one extra line, > — quote (Russian: > — цитата). |
| Maximum quote length | 4000 |
Characters kept from the selection; accepts 200–20000. Longer selections are cut on a character boundary. |
| Keyboard shortcut | Mod+Shift+. |
Click the field and press the combination you want. Restore default puts the default back. |
The card shows a live preview of exactly what will be inserted.
Settings are read and written through the plugin's own route, GET/POST /api/dsh-quote/config, and stored as dsh-quote-config.json in the DSH home directory — $DSH_HOME when that variable is set, otherwise ~/.dsh. The browser keeps a copy in localStorage purely so the composer knows your settings on the first paint.
dsh-quote-config.json under $DSH_HOME./api/dsh-quote/config refuses any request that does not clearly originate from loopback, and rejects bodies above 16 KiB.The plugin updates itself: Settings → Plugins → Quote carries an Updates section that asks GitHub for the
branch revision, shows the version installed next to the version on main, lists what changed, and hands the pinned
commit to the harness plugin manager in one click. Reload the page afterwards; if the version has not changed, restart
the application — the host half only loads at boot.
A deployment without a plugin manager prints the manual spec instead, for Plugins → Add plugin:
github:naletko/dsh-quote.
0.2.0-rc.2 (the web client of the Desktop app or a browser session).conversation.input.right slot (a list seat — the single conversation.input.activity seat is deliberately left free, because occupying it evicts the voice plugin's microphone), plus plugins.bundle.config and plugins.row.config, and the composer's captureInsertion() / insertText() / setDraft() actions.node:path, the hotkey understands metaKey, and no platform-only API is used.node --check index.js client.js
node test/metadata-check.mjs # exports map, icon, locales, slot registrations
node test/quote-logic-check.mjs # quoting rules, hotkeys, settings, placement
client.js is not a module — it registers itself with DSH's browser module loader — so both tests load it through a fake window.__ModuleLoader__, exactly as the browser does, and drive the plugin's own functions through the __test hook it exposes. The host half is a real ES module and is imported directly.
MIT © 2026 Alex Naletko
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: markdown。