deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:GooDAnDReaDY/dsh-goal
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文说明
|
⭐ If you like this plugin, please star it on GitHub — it shows me that the plugin is useful to you and motivates me to keep developing it.
🐛 If you find a bug or would like to request a feature, open a GitHub issue in any language — I will review your proposal and implement useful suggestions in a future plugin version. |
Complex engineering tasks require multi-step autonomy: decomposing high-level objectives into sequential milestones, executing iterations without requiring manual user re-prompting, and maintaining clear visibility into task progress.
Without an autonomous tracking framework, agents can lose context across turns, stall in passive loops, or fail to notify users when complex workflows stall.
@goodandready/dsh-goal introduces Goal Mode to DeepSeek Harness:
Notification API when long-running goals complete or require attention.consecutiveToolFailureLimit, default: 3) to halt loops upon repetitive tool crashes and prevent token burn.git rev-parse --short HEAD) with 1-click git diff / rollback command in details modal.<details><summary> milestone cards and token telemetry.• 2s, • 1m 45s), real-time status badge (RUNNING, PAUSED, COMPLETED), active goal title, and control actions./goal command.pending, in_progress, completed, failed), progress bar, and dynamic completion ETA.goal_set_milestones, goal_update_progress, and goal_finish tools directly to the agent.update_goal, get_goal, create_goal). Intercepts actions (complete, pause, resume, edit, blocked), bypasses rigid authority restrictions that caused crashes (complete and blocked require a direct human turn), and routes all state updates directly to GoalEngine.maxIterations safety limit and Smart Progress Guard to catch and pause idle turns without progress.graph LR
subgraph UserInterface ["User Interface & Interaction"]
Cmd["Slash Command: /goal <objective>"]
Dock["Sticky Goal Banner (conversation.input.dock)"]
Modal["Goal Details & Milestone Modal"]
QuickLaunch["Quick Launch Goal Button"]
end
subgraph GoalEngineCore ["Goal Engine Core (lib/goal-engine.js)"]
State["State Manager (IDLE, RUNNING, PAUSED, COMPLETED)"]
Milestones["Milestone Tracker & ETA Calculation"]
DiskStore["Persistence Store (goal-state.json)"]
LangDetector["detectLanguage (en, zh, ru)"]
end
subgraph AutonomousLoop ["Autonomous Drive & Turn Coordinator (lib/index.js)"]
TurnHook["ctx.on('turn/end') AutoDrive"]
Guard["Smart Progress Guard & Iteration Limiter"]
PromptInject["getStatePromptInjection"]
end
subgraph AgentTools ["Cordis Registered Tools"]
ToolSet["goal_set_milestones"]
ToolProgress["goal_update_progress"]
ToolFinish["goal_finish"]
end
Cmd --> GoalEngineCore
Dock --> GoalEngineCore
QuickLaunch --> GoalEngineCore
GoalEngineCore --> DiskStore
GoalEngineCore --> AutonomousLoop
AutonomousLoop --> PromptInject
GoalEngineCore --> Modal
AgentTools --> GoalEngineCore
AutonomousLoop --> Guard
lib/goal-engine.js — State EngineZero external dependency core managing session goals, milestone states, elapsed time calculations, ETA forecasts, token accumulators, and crash recovery hydration.
detectLanguage) to select English (en), Chinese (zh), or Russian (ru).lib/command-handler.js — Slash CommandsHandles /goal commands and subcommands:
/goal <objective>: Starts a new autonomous goal./goal pause: Pauses current goal and halts agent turn./goal resume: Resumes execution and triggers agent continuation./goal clear: Resets session goal to IDLE./goal: Shows status, elapsed time, ETA, iterations, tokens, and active milestones.lib/index.js — DSH Cordis Lifecycle CoordinatorGET /dsh-goal/state, POST /dsh-goal/action, GET /dsh-goal/events SSE stream).turn/end for zero-latency turn-to-turn auto-drive using setImmediate.approval/asked to automatically pause goal when operator confirmation is needed.goal_set_milestones, goal_update_progress, goal_finish.update_goal, get_goal, create_goal with zero collision and full GOAL_OUTPUT schema compliance.lib/client.js — Frontend Web UIconversation.input.dock with live timer, status badge, pause/resume, and details button.settings.plugin.item.dsh plugin --profile web add @goodandready/dsh-goal
Restart your DeepSeek Harness instance and refresh the browser.
Simply enter the /goal slash command:
/goal Refactor authentication middleware and cover with unit tests
The agent will immediately:
goal_set_milestones.in_progress and completed via goal_update_progress.goal_finish.Click the Start Goal button directly above the message input box, type your objective, and click Start Goal.
Control goals programmatically via HTTP:
# Start a goal
curl -X POST http://localhost:3080/dsh-goal/action \
-H "Content-Type: application/json" \
-d '{"action":"start","title":"Implement automated backup pipeline"}'
# Pause
curl -X POST http://localhost:3080/dsh-goal/action \
-H "Content-Type: application/json" \
-d '{"action":"pause"}'
# Resume
curl -X POST http://localhost:3080/dsh-goal/action \
-H "Content-Type: application/json" \
-d '{"action":"resume"}'
# Inspect live state
curl http://localhost:3080/dsh-goal/state
settings.yaml)Configure settings in settings.yaml or through the Settings → Plugins → Goal Mode UI card:
dsh-goal:
maxIterations: 25
autoDrive: true
enableSound: true
showQuickLaunchButton: true
consecutiveToolFailureLimit: 3
enableBrowserNotifications: true
maxTokenBudget: 0
budgetWarningThreshold: 80
autoCheckpointOnMilestone: false
| Parameter | Type | Default | Description |
|---|---|---|---|
maxIterations |
number |
25 |
Safety limit: maximum autonomous turns per goal |
autoDrive |
boolean |
true |
Keep the autonomous agent loop running between turns |
enableSound |
boolean |
true |
Play audio chime when a goal completes or fails |
showQuickLaunchButton |
boolean |
true |
Show the quick launch goal button above the composer dock |
consecutiveToolFailureLimit |
number |
3 |
Auto-pause goal if N consecutive turns hit tool execution errors (0 to disable) |
enableBrowserNotifications |
boolean |
true |
Show native desktop push notifications on goal completion or failure |
maxTokenBudget |
number |
0 |
Safety token ceiling (0 = disabled); triggers soft-pause when exceeded |
budgetWarningThreshold |
number |
80 |
Percentage of budget consumed before warning model to wrap up |
autoCheckpointOnMilestone |
boolean |
false |
Automatically create git snapshot commits upon milestone completion |
Run unit and integration tests:
npm test
PAUSED_BUDGET_EXCEEDED) with 1-click +50k extension.checklist: [{ text, done }]) with real-time UI toggling and model prompt synchronization..dsh/goals/<timestamp>-<slug>.md (with .dsh/ git-ignored).localStorage./api/dsh-goal/update with fail-closed origin checks.lib/*.js; canonical English and Chinese core with Russian provided via @goodandready/dsh-russian-lang.--dsw-alias-*).ready state.MIT © GooDAnDReaDY
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。