dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
English | 中文
A DeepSeek Harness (DSH) plugin port of ttxl314/lord-serf-agent-protocol-SKILL (protocol 0.5): it ships the lord and serf skills so DSH can act as the Lord (orchestrator) and as the Serf (executor).
A file-based multi-agent orchestration protocol with the lifecycle:
plan → package → dispatch → execute → submit → review → decide
REVIEW / BLOCKED / CHANGE_REQUEST).TASKS.md, TASKS/, REVIEWS/, BLOCKERS/, CHANGE_REQUESTS/).dsh-skill-lord-serf/
├── package.json # dsh.bundle manifest; no runtime deps, peers only
├── cordis.patch.yml # bundle patch layer: registers the plugin row
├── lib/index.js # cordis plugin: file-backed provider on ctx.skills
├── test/self-test.mjs # self-test suite
└── skills/
├── lord/
│ ├── SKILL.md # DSH-adapted (DSH Bindings mapping table)
│ ├── assets/schemas/ # task-package / micro-task / dispatch-instruction schemas
│ ├── assets/templates/ # task-package / dispatch-instruction / project templates
│ └── references/ # scaling, review, change control, recovery, adapters, ...
└── serf/
├── SKILL.md
├── assets/schemas/ # submission-envelope / review-report schemas
├── assets/templates/ # REVIEW / BLOCKED / CHANGE_REQUEST templates
└── references/ # intake, subagent fan-out, self-validation, reporting, ...
Each skills/<name>/SKILL.md carries DSH skill frontmatter (name + description), so one file serves two installation paths:
lib/index.js registers a file-backed provider on ctx.skills (rank 250) exposing both skills with resourceBase: { kind: 'directory', path: <skill dir> } in the global layer, available to every session. get() re-reads the body on every load, so content edits take effect immediately.skills/lord and skills/serf into <project>/.dsh/skills/ or ~/.dsh/skills/; dsh-skill-filesystem discovers them without a restart.| Protocol concept | DSH mechanism |
|---|---|
| Serf executor | subagent tool (one subagent per task package) or a separate DSH session |
| Serf sub-work fan-out | subagent tool for bounded, disjoint sub-steps inside the task boundary; see skills/serf/references/dsh-subagents.md |
$serf invocation |
/serf user gesture, or a skill(name='serf') call inside the dispatched subagent |
$lord review <path> / $lord resolve <path> |
/lord gesture plus the report path; a subagent Serf's final message already reaches Lord |
| State source / packages / reports | Plain workspace files read and written with the filesystem tools |
| Long-running orchestration | DSH goal tools |
Install from GitHub — this package ships prebuilt ESM, so there is no build step and no prepare-script permission to grant; pinning a commit is recommended:
dsh plugin --profile <name> add github:ttxl314/dsh-skill-lord-serf#<commit-sha>
Or link a local checkout:
dsh plugin --profile <name> add ./dsh-skill-lord-serf
dsh plugin adds the package to the profile's dependencies and dsh.profile.bundles; the bundle's own cordis.patch.yml registers the plugin row. Restart the web service afterwards; the entry then appears in the GUI's Settings → Plugins inventory.
New-Item -ItemType Junction -Path .dsh\skills\lord -Target <checkout>\skills\lord
New-Item -ItemType Junction -Path .dsh\skills\serf -Target <checkout>\skills\serf
The skill watcher picks the catalog up immediately.
/lord; follow the workflow to produce task packages and dispatch instructions and maintain TASKS.md.subagent tool; the subagent prompt is the generated assets/templates/dispatch-instruction.md, and it must load the serf skill before executing the task package./serf or hand it a task-package path; it may fan out sub-work through subagent inside the boundary (references/dsh-subagents.md), then writes the report from a template and ends with the report path.node test\self-test.mjs
The suite runs 26 checks: provider contract (apply/list/get/invalidate), SKILL.md frontmatter parsing, residual Codex-marker scan, existence of every referenced resource path, compilation of all 6 JSON Schemas (draft 2020-12), positive and negative representative payload validation (including v0.3 field rejection), and template/schema const agreement. It resolves ajv, ajv-formats, and yaml from the local DSH profile ($DSH_HOME).
An end-to-end drill is also supported: Lord creates a schema-validated task package → a subagent loads the serf skill and executes → the report passes the micro-review-report/submission-envelope schemas → Lord verifies actual outputs and updates the authoritative state.
@deepseek-ai/cordis ^4.0.1 (peer)@deepseek-ai/dsh-skill ^0.1.0-rc.6 (peer, provided by the @deepseek-ai/dsh-base bundle)$lord/$serf (Codex commands) → /lord//serf (DSH skill gestures).dispatch-instruction's worker_invocation const is /serf; the Invocation section describes DSH subagent dispatch; Execution Requirements gained a subagent fan-out clause.serf/references/dsh-subagents.md (DSH-specific Serf fan-out rules) and an "Execution Capabilities (DSH)" section in the coding adapter.agents/openai.yaml.Derived from ttxl314/lord-serf-agent-protocol-SKILL (MIT); this port is released under the same MIT license.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。