DecisionTools
Optional Decision API assistance for DeepSeek Harness (DSH). A small bounded-answer model recommends tools before the main model's first request and can prefetch useful search sources. The main model keeps control; every tool stays available through ordinary discovery and existing permissions.
Requires DSH >=0.2.1-rc.2 and Node >=22.19.0. The settings UI currently uses Chinese labels. No build step or runtime npm dependencies.
Install
Desktop: use the app's Plugins installation flow with the Git repository URL below, or add the custom index in the next section. Follow DSH's reload/restart prompt after installation. Do not install into a different CLI profile expecting it to appear in Desktop.
https://github.com/M4rkzzz/dsh-decisiontools
For a CLI-managed web profile:
dsh plugin --profile web add 'git+https://github.com/M4rkzzz/dsh-decisiontools.git#v0.1.8'
Replace web with the profile you actually use. A prebuilt npm-format .tgz and its SHA-256 checksum are also attached to each GitHub release. This package is distributed through GitHub; an npm registry publication is not required.
Custom marketplace index
Enable DSH's experimental Custom plugin indexes, then add this source in Plugins → Discover → Add index source:
https://raw.githubusercontent.com/M4rkzzz/dsh-decisiontools/main/marketplace/index.json
The format-1 index pins the installable release to an exact Git commit. This is an author-maintained index, not an official DSH endorsement. Community marketplace review is separate.
Configure
- Open Settings → DecisionTools. Enter your Decision API URL, credential and authentication mode (
bearer,api-key, ornone). - Choose 探测服务与模型 (probe service and models). Probing never selects a model.
- Select a discovered model yourself, then 测试所选模型并保存 (test selected model and save). You can instead save connection details with the model empty and assistance disabled.
- Enable the saved model when wanted. The leading lightning icon on a session's hover toolbar toggles DecisionBoost for that session.
- Optionally enable 搜索候选预选与正文预读 (search-source selection and prefetch), which is off initially.
There is no default service, key, selected model, or automatic activation. D3 ultra receives a recommendation label if discovered; it is not selected automatically. Compatible services, including self-hosted endpoints, can be used instead. Disabling the feature takes effect without restarting DSH.
How it works
- On the first request of a new genuine user input, the decision service scores tool names and short descriptions. Exact definitions for up to six confident recommendations are then fetched locally and supplied to the main model. It can use them directly or discover other tools normally.
- Advice is not repeatedly injected after that task has entered execution. Agent relays, tool results, pending unclaimed messages and image-only messages do not become decision tasks.
- Errors, incompatible responses, abstention and timeouts leave ordinary discovery intact. Tool selection defaults to a 6-second deadline; repeated failures open a short circuit breaker.
- Optional search assistance ranks existing candidates, then invokes the existing reader for up to three relevant pages. The complete search result and all candidates remain unchanged. Excerpts are at most 6,000 characters each and are marked untrusted and potentially truncated; ordinary full reading remains available.
- Repeated reads can reuse a short-lived result only for the same Agent, task, exact reader arguments and tool definition. Original guards and pre/post policies still apply. Session/global changes cancel old waits and reject stale results.
No tool is unregistered, no execution permission is added, and no main-model configuration, precision or conversation history is changed. This is advisory acceleration, not an autonomous planner or a replacement for the main model.
Supported protocols and search tools
Jev/SystemOne-style state + questions requests with validated score, noul, and choice answers. Common answers, results, and data.answers wrappers are accepted. Model probing tries /v1/systemone/models, /v1/models, and /api/info; custom paths and proxy prefixes can be configured. Noncompatible Decision APIs are not guaranteed to work.
Search adapters currently cover native web_search (sources) with web_fetch, and mcp__web__search with mcp__web__fetch_content. MCP candidates may be structured JSON or the observed Found N search results / URL / Summary format. Unknown formats fall back unchanged; arbitrary MCP servers are not automatically supported.
Data and privacy
When enabled, your selected Decision service receives the current user task plus tool names and short descriptions. Search assistance additionally sends the actual search query and candidate titles, URLs and short snippets. It does not deliberately send complete schemas, tool execution results, full fetched pages, file contents or full conversation histories. A task or description can itself contain sensitive data; credential-pattern redaction is best effort, not a data-loss prevention guarantee. Enable external services only for data you may share with them.
Credentials are stored using DSH's credentials service, not the ordinary settings JSON or status logs. Public services require HTTPS; loopback HTTP is permitted; redirects are rejected. Speculative page prefetch refuses obvious private-address URLs and credential-bearing query parameters; the actual reader and its existing network policies remain responsible for DNS/redirect/network enforcement.
Local state lives under $DSH_HOME/decisiontools, or ~/.dsh/decisiontools: connection/settings, per-session switches and recent status. Status contains session identifiers, task hashes, tool names, model identifiers, counts and timings, not task or page bodies. Do not upload a user's profile as a bug report. See SECURITY.md.
Development and verification
npm test
npm run check
npm pack --dry-run
Tests use synthetic fixtures and mocked services only, without real credentials or external requests. They cover API validation, configuration defaults, task provenance, complete tool-catalog retention, fallback, session controls, search parsing and browser UI behavior. Mock tests do not certify every DSH release or third-party provider. The published runtime matches the locally validated 0.1.8 runtime; no user logs, local integration snapshots or copied DSH host sources are included.
Measure end-to-end task time, extra provider cost and result quality for your own workload. Assistance can also add latency when ordinary discovery is already cheap; no universal speedup is claimed.
Disable or remove
Turn off DecisionTools globally or use the per-session lightning control. Search prefetch has its own switch. To remove it, uninstall dsh-decisiontools through the plugin manager and follow the host's reload instructions. Ordinary tools and discovery remain available. Reset the plugin settings first if you also want its saved credential removed.
Contributions: CONTRIBUTING.md. License: MIT. Independent community plugin; not affiliated with DeepSeek or a Decision API provider.
No comments yet. Be the first to write one.