DeepSeek Harness Plugin

GooDAnDReaDY/dsh-goal

Stars ★ 0 Downloads (30d) 766 Category Skills Added 2026-09-05 npm @goodandready/dsh-goal

Goal mode and autonomous execution plugin for DeepSeek Harness: a sticky top banner keeps the current goal visible across turns while the agent works toward it autonomously.

Install

# from npm (prebuilt)

dsh plugin --profile web add @goodandready/dsh-goal

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:GooDAnDReaDY/dsh-goal

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README


⚡ Overview & The Problem

Complex engineering tasks require multi-step autonomy: decomposing high-level objectives into milestones, executing successive iterations without manual user re-prompting, and maintaining clear visibility into task progress.

@goodandready/dsh-goal brings autonomous goal execution to DeepSeek Harness via the /goal command:

  • 🎯 Sticky Top Goal Banner: Pinned status header with live timer (• 2s, • 1m 45s), active goal title, and interactive control buttons.
  • ⏸️ Play / Pause / Cancel: Instantly pause the autonomous loop or resume execution on demand.
  • 📋 Milestone Breakdown Drawer: Interactive checklist showing sub-tasks, percentage completion, and iteration logs.
  • 🤖 Autonomous Agent Tools: Provides goal_set_milestones, goal_update_progress, and goal_finish tools directly to the agent.
  • 🛡️ Safety Guardrails: Configurable maxIterations limit to prevent runaway loops.

🏛️ Architecture

graph TD
    subgraph Input ["User Interaction"]
        Cmd["Slash Command: /goal <objective>"]
        API["REST API: POST /dsh-goal/action"]
    end

    subgraph GoalEngine ["Goal Lifecycle Engine (lib/index.js)"]
        State["State Manager (IDLE, RUNNING, PAUSED, COMPLETED)"]
        Milestones["Milestone Tracker & Decomposition"]
        Disk["Persistence Store (~/.dsh/goal-state.json)"]
    end

    subgraph AgentLoop ["Autonomous Agent Drive"]
        ToolSet["goal_set_milestones"]
        ToolProgress["goal_update_progress"]
        ToolFinish["goal_finish"]
        LimitGuard{"maxIterations Guard"}
    end

    subgraph UI ["DSH Web Interface"]
        Banner["Sticky Top Goal Banner"]
        Timer["Live Elapsed Timer"]
        Drawer["Milestone Checklist Modal"]
        Settings["Settings Card (Schemastery)"]
    end

    Cmd --> GoalEngine
    API --> GoalEngine
    GoalEngine --> State
    State --> Disk
    State --> Banner
    State --> Drawer
    GoalEngine --> AgentLoop
    AgentLoop --> LimitGuard
    ToolSet --> GoalEngine
    ToolProgress --> GoalEngine
    ToolFinish --> GoalEngine

📦 Installation

dsh plugin --profile web add @goodandready/dsh-goal

Restart your DeepSeek Harness instance and refresh the browser.


💬 Usage & Quick Start

Start a goal directly in chat:

/goal Refactor the authentication middleware and add integration tests

Or trigger via REST API:

curl -X POST http://localhost:3080/dsh-goal/action \
  -H "Content-Type: application/json" \
  -d '{"action":"start","title":"Optimize database queries"}'

⚙️ Configuration Reference (settings.yaml)

dsh-goal:
  maxIterations: 25
  autoDrive: true
  enableSound: true
Parameter Type Default Description
maxIterations number 25 Safety limit: maximum autonomous iterations per goal
autoDrive boolean true Keep the autonomous agent loop running between turns
enableSound boolean true Play completion audio chime when a goal finishes

🧪 Testing

Run the automated test suite:

npm test

📄 License

MIT © GooDAnDReaDY

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.