dsh-quberi

memoryinstall failsnpmMIT

Search the documents and pictures in your Quberi knowledge base, browse its spaces and documents, save notes to it, and upload files into it with your approval for each one, from DeepSeek Harness over OAuth.

下载量 / Downloads
2,100
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-quberi

Sandbox test results

StageResult
1 install✗
2 list—
3 mount—
4 boot—
First error
dsh: initialized profile web at /home/node/.dsh/profiles/web

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-quberi

Query your Quberi knowledge base from DeepSeek Harness:

search, browse, save notes and upload files.

The interesting part isn't the search — it's what search is allowed to return.

Quberi enforces permissions per document, not per space: two people asking

the same question in the same space can get different answers, because the

retrieval filter runs inside the vector index and a denied document is never a

candidate in the first place.

  • Per-document access rules with deny wins — a grant cannot override a

decision to hide one document.

  • Filtered at retrieval time, so you get a full result set, not a shorter

one with holes.

  • Revoked picture links die — a picture preview URL issued before access was

removed returns 404 on the next request.

  • Writes go only into spaces you can edit; uploads require your confirmation

each time.

Ask Harness a question about your documents. The first time, your browser

opens by itself so you can approve access; after that the model can call

quberi_search, which finds passages in the documents you can read in

Quberi, in the one organization you pick (name a space to search only that one). It can also call quberi_save to add

a note (a conclusion, decision or summary from the chat) to your knowledge base,

and quberi_upload_file to add a file from your workspace. quberi_list_spaces

and quberi_list_documents show what is there, and quberi_search_images finds

pictures from a description and shows them in the chat. Saving is new in 0.3.0

and uploading in 0.4.0; each needs a fresh sign-in that includes it. Browsing and

picture search need nothing beyond search. An

upload only happens after you approve that file (see Uploading files).

Each scope is granted on its own: search needs knowledge:read, saving needs

knowledge:write and uploading needs knowledge:upload. A document someone

shared with you individually is found even if you cannot read its space, and a

document hidden from you is not found even if you can read its space.

Install

In DeepSeek Harness open Plugins → Add plugin and enter:

dsh-quberi

Or from a terminal (replace desktop with your profile name):

dsh plugin --profile desktop add dsh-quberi

Then restart Harness. To upgrade, remove the old version first

(dsh plugin --profile desktop remove dsh-quberi), then add it again.

You need a Quberi account at ai.quberi.com, or your own

Quberi server (see Configuration).

A plugin runs on your machine with your permissions, so read the source first.

It is small: src/oauth.ts (sign-in helpers), src/browser.ts (opens your

browser), src/controller.ts (sign-in, token refresh, search, save, upload),

src/upload.ts (which files may be uploaded, and the approval gate) and

src/index.ts (the /quberi command and the tools). Its only runtime

dependency is @deepseek-ai/schemastery.

From source

npm install
npm test
npm pack      # builds lib/ and writes dsh-quberi-<version>.tgz
dsh plugin --profile desktop add /path/to/dsh-quberi-<version>.tgz

Use

Command · What it does

/quberi login · Opens your browser to sign in to Quberi (the link is also shown in case it does not open). Choose an organization and allow. You rarely need this: the first search does it for you. If you signed in with an older version, run it again to allow saving or uploading.

/quberi status · Shows whether you are connected. Never prints a token.

/quberi logout · Revokes the sign-in at Quberi and forgets it locally.

/quberi mode [text\ · image\ · both] · Shows or sets where searches look: the documents' text, pictures, or both (the default). See Where a search looks.

The sign-in page says what Harness is asking to do (search, save notes, upload files) and

what it cannot do, and lets you choose the organization (shown here in Chinese):

You can also disconnect any time in Quberi under Account → Connected tools.

When sign-in finishes, the browser shows a confirmation page and Harness is

brought back to the front (macOS). Nothing needs to be copied or pasted.

On a machine with no screen (a remote shell), the browser is not opened; the

plugin gives you the link to open on another device instead.

Before it works

The organization you choose must allow outside tools. It is off by default.

An owner or admin turns it on under **Admin console → Integrations → Outside

tools**; owners and admins also get a "Turn on" button on the approval page.

What leaves Quberi

The passages the search returns go to Harness and to whichever AI model Harness

uses. Quberi's "check before sending" step does not apply to this path. Every

search is recorded in the organization's audit log (the tool's name and the

documents returned, never the question or the text).

quberi_read_around sends more of a document than the search does: up to 3000 characters on

either side of a passage, only when the model asks for it, and only from documents you can open

in Quberi. Each call is recorded in the audit log (the document, the version and how many

characters, never the text) and is rate limited. A page image is fetched by Harness from a

short-lived link on your Quberi address; the link names one page for you and stops working when

you sign out of the tool, lose access to the document or after about ten minutes. An organization

owner can turn outside tools off, which ends all of this at once.

Saving notes

quberi_save takes a title, the note text (Markdown) and, optionally, the name

of a space. With no space it saves into your personal space. The tool asks

the model to offer to save and wait for you to agree, not to save silently, but

that is an instruction to the m

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::13,最后更新 2026-10-24

Links

GitHub · Homepage · npm

Same category