deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
RickT34/dsh-just-enough-tools
Nearly half the agent cost, with accuracy intact. Just enough tools is a DeepSeek Harness plugin that uses Jev to reveal tools and skills progressively. The main model starts with a clean planning step. Jev then selects which capabilities to add as the task unfolds.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:RickT34/dsh-just-enough-tools
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Think first. Bring in tools and skills when they matter.
简体中文 · How it works · Install · Contributing
Our goal: nearly half the agent cost, with accuracy intact.
Just enough tools is a DeepSeek Harness plugin that uses Jev to reveal tools and skills progressively. The main model starts with a clean planning step. Jev then selects which capabilities to add as the task unfolds.
Agents often receive more tools and skills than a task needs. This creates two sources of waste:
Just enough tools lets Jev select from a shared pool of tools and skills, exposing only the capabilities needed as the task progresses.
flowchart TD
A(["Agent: Think first<br/>No tools or skills"]) -->|Plan and capability needs| B["Jev: Score tools and skills"]
B -->|Capabilities above threshold| C["Agent: Use selected capabilities"]
C -->|More work: updated progress| B
Agent thinks → Jev selects tools and skills → Agent acts. Each tool and skill is independently scored against the same threshold. A selected tool is registered; a selected skill's instructions are loaded into the Agent's context. Enabled capabilities stay available, and subsequent decisions consider only the remaining candidates.
Skills are not hidden behind another tool-selection step. They can be selected without any tool, or alongside tools in the same batch. A newly loaded workflow can reveal a need for additional capabilities, which Jev can select next.
“Fix the login error and run the tests.”
With a login-debug skill installed, one possible sequence is:
| Stage | Capabilities available to the Agent | What happens |
|---|---|---|
| Plan | None | Agent plans to inspect the login code, fix it and verify the result |
| Investigate | Skill: login-debug; tools: grep, read |
Agent follows the debugging workflow and locates the error |
| Fix | Skill: login-debug; tools: grep, read, edit |
Jev selects edit; Agent applies the fix |
| Verify | Skill: login-debug; tools: grep, read, edit, bash |
Jev selects bash; Agent runs the tests and reports the result |
For a rewriting task, Jev might select only a writing-style skill and no tools. If neither kind is needed, the Agent can answer directly.
Requires Node.js 22.19+ and DeepSeek Harness 0.1.7-alpha.1 / Cordis 4.0.3. From the Just enough tools checkout, build the plugin bundle:
npm ci
npm pack
Install it into your dsh Web profile:
dsh plugin --profile web add /absolute/path/to/just-enough-tools/dsh-just-enough-tools-0.4.0.tgz
Restart your dsh Web process (dsh web), then:
Just enough tools appears alongside the existing Standard, PTC, Minimal and Creator modes. It does not change the default mode or route ordinary-mode agents. If the mode picker is hidden, enable mode selection in dsh's General settings.
The mode comes with file, file-search and terminal tools, plus dsh skill discovery. Put skills under your project's .dsh/skills or .agents/skills, or the user skill directories configured in dsh. New skills are discovered as the task progresses. No catalog module or YAML edits are needed. The acting model remains the one configured in dsh — Jev selects capabilities, the Agent does the work.
Create .dsh/skills/login-debug/SKILL.md in your project:
---
name: login-debug
description: Diagnose login and session failures before changing authentication code.
---
Reproduce the failure, inspect the relevant code, make a focused fix, and run the affected tests.
Jev initially receives the skill's summary, not its full body. Selected instructions are injected automatically, preserving resource paths; there is no extra skill tool to unlock. Only model-invocable skills participate. Tools needed by a skill still pass their own threshold.
| Field | Default | Purpose |
|---|---|---|
| Jev API key | empty | TypeSafe credential; TYPESAFE_API_KEY is also a fallback |
| API base URL | https://api.typesafe.ai/v1 |
TypeSafe System One endpoint base |
| Jev model | jev-latest |
Select the Jev model version |
| Tool / skill threshold | 0.5 |
The same strict probability threshold for both kinds |
| Steps per user turn | 12 |
Maximum model decisions, including planning |
| Routing timeout | 60000 ms |
Bound each discovery, scoring or skill-loading operation |
Settings are persisted through dsh. Saved keys are redacted from settings reads and never filled back into the page; leave the field blank to keep the saved key, or use Reset saved key to remove the profile override. API key, URL and model changes apply to the next scoring call. Start a new conversation to use new routing limits.
To remove the mode:
dsh plugin --profile web remove dsh-just-enough-tools
See plugin integration details for capability ownership and mode lifecycle.
We welcome new tools and skills, better threshold policies, and ways to avoid scoring when no new capability is needed. Share your use case, feedback, or a small reproducible example to help improve Just enough tools.
npm test
npm run typecheck
npm run build
Tests require no API keys. See CONTRIBUTING.md. Just enough tools is an independent community project, licensed under MIT.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。