deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Vision recognition plugin for DeepSeek Harness: paste images into the Web composer, recognize them via GLM-4V on the host side, and inject the result into the conversation as a hidden context message. A native dual-face (host + browser) plugin installed as a standalone package.
glm-4v-flash) and API keys; persisted to $DSH_HOME/vision-config.json.glm-4v-flash) and a Zhipu API key (endpoint https://open.bigmodel.cn/api/paas/v4/chat/completions).Model entries and API keys persist to a plain local JSON file,
$DSH_HOME/vision-config.json(default~/.dsh/vision-config.json): auto-created empty on first load, rewritten on every config change, re-read on restart. The file is local-only, unencrypted, not tracked by git, and removed automatically when the plugin is uninstalled through the manager panel.
Requires a working
dshCLI (pnpm) and a profile, e.g.web.
pnpm dsh plugin --profile web add @uachar/dsh-vision-plugin
pnpm dsh plugin --profile web add https://github.com/uAcharGG/dsh-vision/releases/download/v0.1.0/uachar-dsh-vision-plugin-0.1.0.tgz
git clone https://github.com/uAcharGG/dsh-vision.git
cd dsh-vision
pnpm install
# host half:
node node_modules/typescript/bin/tsc -p tsconfig.json
node node_modules/tsdown/dist/run.mjs --config tsdown.config.ts
pnpm dsh plugin --profile web add link:<absolute path to this checkout>
The client bundle (
lib/client.js) and the typert-generated faces (lib/typert.host.js/lib/typert.remote-client.js) are build-time artifacts produced by the dsh workspace build; the checked-intsconfig.client.jsonstill references the dsh checkout. To rebuild the client half outside the workspace, migrate that config and the typert generation step first.
Restart dsh after any install to take effect. The browser half is discovered automatically through the package's dsh.client declaration.
pnpm dsh plugin --profile web remove @uachar/dsh-vision-plugin
Then restart dsh. (Uninstalling through the manager panel also deletes $DSH_HOME/vision-config.json.)
| File | Responsibility |
|---|---|
src/index.ts |
host half: VisionService extends TypertRemoteService — @Remote queue/config/status + agent/pre-step & llm/stream listeners + GLM call |
src/client/index.ts |
browser half: conversation.input.dock slot — paste capture, submit interception, model/API-key settings menu |
src/patch.ts + scripts/apply-dsh-patch.mjs |
self-healing dsh attachment-authorization patch |
src/types.ts |
cross-face wire types (lossless JSON) |
cordis.patch.yml |
bundle composition layer |
lib/ |
build output (published) |
$DSH_HOME; the API key is sensitive local data.api-proxy.ts; if the checkout layout differs, the script refuses to patch automatically and reports the needed change.MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。