dsh-thinking-language-zh
ayanJava111
deepseek harness思考过程中文插件
PROJECT TOPICS
PROJECT README
Agent-plane tool plugin: connects dsh (DeepSeek Harness) to an agentmemory persistent-memory REST API (rohitg00/agentmemory). No MCP, no skill+CLI indirection — four native tools registered directly on the harness tool runtime, each backed by one REST call.
Registered tools (visible to every agent after a dsh restart):
| Tool | Endpoint | Purpose |
|---|---|---|
memory_search |
POST /agentmemory/search |
semantic + keyword search over stored memories |
memory_remember |
POST /agentmemory/remember |
store a durable memory (type / concepts / files / ttlDays) |
memory_forget |
POST /agentmemory/forget |
delete by memoryId or sessionId |
memory_health |
GET /agentmemory/health |
connectivity + engine status check |
Linux / macOS / Git Bash on Windows:
git clone https://github.com/Yogioo/dsh-agentmemory
cd dsh-agentmemory
./install.sh # agentmemory on the same machine
./install.sh --base-url https://<your-host>:9999 # link a REMOTE agentmemory
Windows (PowerShell):
git clone https://github.com/Yogioo/dsh-agentmemory
cd dsh-agentmemory
powershell -ExecutionPolicy Bypass -File install.ps1 # local
powershell -ExecutionPolicy Bypass -File install.ps1 -BaseUrl https://<your-host>:9999 # remote
Both installers are idempotent: they copy the plugin into
~/.dsh/profiles/node_modules/dsh-agentmemory/ and register the entry in
~/.dsh/profiles/web/cordis.patch.yml. Re-running never duplicates the
patch entry. No manual dependency linking is needed — dsh itself
maintains the flat fallback directory at every boot (one link per package
in the app's dependency closure: POSIX symlinks, Windows junctions — no
admin rights).
Replace
<your-host>with the hostname of your agentmemory server (for a same-machine install, omit--base-url/-BaseUrlentirely and the defaulthttp://localhost:3111is used).
Then make the secret reach the dsh process (systemd does not read
~/.bashrc) — add to /etc/systemd/system/dsh.service:
Environment=AGENTMEMORY_SECRET=<the agentmemory bearer secret>
then sudo systemctl daemon-reload && sudo systemctl restart dsh.
Verify: ask any agent to call memory_health, or
curl -s -H "Authorization: Bearer $AGENTMEMORY_SECRET" \
http://localhost:3111/agentmemory/health # local
curl -sk -H "Authorization: Bearer $AGENTMEMORY_SECRET" \
https://<your-host>:9999/agentmemory/health # remote
~/.dsh/profiles/node_modules/dsh-agentmemory/
(that flat fallback dir is where the dsh loader resolves out-of-tree
plugins from).DSH_PKG=$(dirname "$(dirname "$(readlink -f "$(command -v dsh)")")")
ln -s "$DSH_PKG/node_modules/@deepseek-ai/dsh-tools" ~/.dsh/profiles/node_modules/@deepseek-ai/
ln -s "$DSH_PKG/node_modules/@deepseek-ai/schemastery" ~/.dsh/profiles/node_modules/@deepseek-ai/
~/.dsh/profiles/web/cordis.patch.yml:- insert:
- id: agentmemory
name: dsh-agentmemory
config:
baseUrl: http://localhost:3111
apiKeyEnv: AGENTMEMORY_SECRET
| Key | Default | Meaning |
|---|---|---|
baseUrl |
http://localhost:3111 |
agentmemory REST base URL (use https://host:9999 for a remote one) |
apiKeyEnv |
AGENTMEMORY_SECRET |
env var holding the Bearer secret |
apiKey |
'' |
literal secret, takes precedence over apiKeyEnv |
apiKeyFile |
~/.agentmemory/.env |
dotenv fallback when the env var is unset |
timeoutMs |
30000 |
per-request timeout |
Secret resolution order: config.apiKey → process.env[apiKeyEnv] →
apiKeyFile (agentmemory's own ~/.agentmemory/.env).
node:fs, node:os, global
fetch, AbortSignal.any) — no native modules, same code runs on
Linux / macOS / Windows.dsh maintains $DSH_HOME/profiles/node_modules
at every boot (one junction/symlink per package in its dependency
closure), so on Windows no ln/admin rights are ever needed —
install.ps1 only drops the plugin directory and patches the config.install.sh works too; its ln steps
skip anything already present.sudo systemctl restart dsh; on
Windows: close and relaunch dsh web (or restart whatever service runs
it). Config edits in cordis.patch.yml hot-reload; a fresh plugin
install needs a process restart.baseUrl at
https://<host>:9999 and share the secret — the only access control is
that bearer token, so treat it like a password.@deepseek-ai/dsh-tools and
@deepseek-ai/schemastery; both live in dsh's own dependency closure and
are linked into the fallback directory automatically at dsh boot — no
pnpm install or network access needed at runtime.cordis.patch.yml config edits hot-reload; plugin code
changes need a dsh process restart.memory_remember entries with project / cwd and filter searches by
them to keep namespaces tidy.MIT — see LICENSE.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。