Back to marketplace

dsh-factory

Agent & Workflow

monotykamary/dsh-factory

Durable dependency-graph task factory for DeepSeek Harness: recurring Agent work, safe checkout lanes, first-class queues, Triage, and artifacts.

  • ai-agents
  • cordis
  • deepseek-harness
  • dependency-graph
  • dsh-plugin
  • multi-agent-systems
  • sqlite
  • task-automation
  • typescript
GitHub Stars
5GitHub
Views
0DSH Plugin Hub
Forks
0GitHub
Open issues
0GitHub Issues
Manifest version
0.1.9dsh-factory
Latest push
Sep 2, 2026GitHub
License
MITTypeScript
Plugin type
HostRuns in the DSH Host

Verification and compatibility

This section shows evidence collected by the catalog. Undeclared information is labeled as unknown.

Runtime verified
01Exact source: npm Β· dsh-factory@0.1.902Validated: Sep 3, 202603Verified Harness: 0.1.0-rc.7
Current-version compatibility
Verified on the catalog Harness version
Declared Harness range
Not declared
Declared platforms
Not declared
Profiles
web
Build approval
No requirement detected
Permissions
Not declared
External services
Not declared
Telemetry
Unknown
No known risk flags found

This is not a security endorsement. Review source, permissions, and configuration before installing.

View evidence and scope

Verification covers only the named source, version, and Harness environment. It does not guarantee future compatibility.

  • dsh-factory@0.1.9
  • The plugin completed a load check in an isolated environment.

README

View source

🏭 dsh-factory

Durable task graphs and recurring Agent work for DeepSeek Harness

From one prompt to a dependency-aware production line β€” with isolated checkouts, live Sessions, and reviewable results.

checks npm DeepSeek Harness TypeScript license


dsh-factory turns the ordinary DSH Session workflow into a durable local task factory. People can capture work from New Session, models can build dependency graphs directly, and a lease-elected scheduler runs eligible nodes through native DSH Agents without introducing a second Agent loop, tool registry, or conversation store.

Why Factory?

CapabilityWhat it unlocks
πŸ•ΈοΈDependency graphsParallel branches, sequential chains, joins, and always-run finalizers in one named flow.
πŸƒNative Agent runsEvery assignment executes as an ordinary durable DSH Session with the selected model and preset.
πŸ›€οΈSafe checkout lanesCurrent, isolated, and predecessor-reuse lanes over managed Git worktrees with dirty-work and live-Session protection.
⏰One-shot + recurring schedulesDelayed starts and Croner-backed recurrence with lease-safe activation and non-overlapping occurrences.
πŸ”Automatic failure retriesAbruptly failed runs requeue with exponential backoff β€” three retries starting at thirty seconds by default β€” with workspace and per-task opt-outs.
🏷️Project-scoped identifiersEvery workspace derives its own uppercase key with an independent counter β€” DOCS-3 beside SR-2 β€” so cross-project dependencies stay mistake-proof while legacy FAC numbers keep resolving.
πŸ’¬First-class discussionPosted prompts, steer messages, reorderable queued follow-ups, images, and Factory notes in one chronological feed.
πŸ”ŽTriage and artifactsUnread and failed run results, mutation receipts, plus images and videos discovered under each run's .artifacts/ directory.
✨White-glove intakeA compact Task/Flow selector extends New Session instead of duplicating its Workspace, model, permission, attachment, and draft controls.

How it fits

flowchart LR
  Human[Human or model] --> Intake[New Session + Factory tools]
  Intake --> Graph[(Task and flow graph)]
  Graph --> Scheduler[Lease-elected scheduler]
  Scheduler --> Lanes[Serialized checkout lanes]
  Lanes --> Agents[DSH Agents]
  Agents --> Sessions[(Durable Sessions)]
  Sessions --> Triage[Triage + artifacts]
  Sessions --> Graph

Factory is a control plane over DSH, not a replacement for it. Factory SQLite owns projects, tasks, flows, schedules, runs, and review state. DSH remains authoritative for Agent execution, model-visible messages, pending prompt order, tools, attachments, Sessions, and worktree safety.

The workflow

  1. Capture β€” send normally to create a live Session, choose Run later for a draft task, or place the prompt into a new or existing flow.
  2. Compose β€” add searchable dependencies, parallel branches, joins, finalizers, labels, priorities, schedules, and model overrides.
  3. Run β€” the scheduler claims ready work, resolves a safe checkout lane, starts a DSH Agent, and logs the assignment with dependency and mutation-ledger context.
  4. Collaborate β€” Queue and Steer post through the Agent inbox; pending rows stay editable and reorderable until claimed.
  5. Finish β€” a missing report receives one logged next-step reminder; factory_finish is followed by one concise user-facing result and settles only after the Session log is flushed.
  6. Review β€” Triage preserves each terminal occurrence, including recurring runs, receipts, summaries, failures, and .artifacts/ media.

Packages

PackageResponsibility
dsh-factory-protocolHost-independent task, flow, run, schedule, observation, and graph records.
dsh-factory-storePersistence Service Definition.
dsh-factory-store-sqliteTransactional documents, presence, revisions, and scheduler leases.
dsh-factory-domainState transitions, metadata settlement, artifacts, and Typert Remote methods.
dsh-factory-toolsModel graph tools, explicit completion, and the bundled Factory skill.
dsh-factory-schedulerDependency, lane, cron, cleanup, and DSH Agent reconciliation.
dsh-factory-client-uiWork, task detail, Triage, New Session intake, and project settings.
dsh-factoryInstallable Cordis patch-layer bundle.

Install

Monotykamary DSH flavor

Factory ships in the custom Web profile beside Fabric and Fovea:

npm install --global @monotykamary/dsh@latest
dsh --profile web

Add to another compatible profile

dsh plugin --profile web add dsh-factory@latest

Restart the selected profile after installation. Factory appears as an additive Sidebar application and stores its SQLite database under the DSH home.

git clone https://github.com/monotykamary/dsh-factory.git
cd dsh-factory
bun install
# Optional when co-developing against a sibling ../deepseek-harness checkout
bun run link:harness
bun run check
bun run install:local -- --profile web --skip-build

The installer links all eight workspace packages, validates the composed Factory rows, and never starts or restarts DSH.

Safety model

A checkout is one serialized writer lane. Factory never force-removes a worktree, never deletes dirty work, and never releases a lane while shared presence reports a live Session. It refuses primary and unmanaged checkout removal. Publishing remains an explicit task, and cleanup cannot rewrite a flow outcome.

Recurring tasks return to Scheduled after every occurrence and retain each success or failure in Triage. Scheduler takeover recovers only scheduler-owned dispatches, so observation of an external Session cannot create a duplicate run.

Browser experience

Work shows Emerging work first and then graph-ordered flows. Task detail combines properties, dependencies, schedule, model selection, run output, discussion, mutation receipts, and review media. Linked Sessions can be settled or archived; cancelled tasks that never acquired a Session can be permanently deleted after explicit acknowledgement. Relationship rails move from neutral pending nodes to a blue running spinner, green completion check, or red abrupt-failure cross.

Pasted images reuse the DSH attachment gallery and fullscreen lightbox. Task detail and exact-run Triage discover images and videos in the owning checkout's .artifacts/ directory and open one keyboard-accessible carousel without copying media into Factory state.

Development

Requirements: Node.js ^22.19.0 || >=24 and Bun 1.4+.

bun install
# Optional when co-developing against a sibling ../deepseek-harness checkout
bun run link:harness
bun run check

bun run check also packs all eight packages and installs them with standard npm, without legacy peer mode. Browser-facing changes additionally run bun run test:e2e against an assembled Factory Web profile. Local captures belong under .artifacts/screenshots/ and are excluded from Git and npm.

See docs/architecture.md for durable authority, intake, metadata, scheduling, execution, Triage, cleanup, and browser-state ownership.

Comments

0
Newest first