dshbase

插件目录 / Data / dsh-factory

dsh-factory

已验证 · 实测可装 monotykamary

✓ 持续维护

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-23最近推送
跨平台平台

功能简介

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

✅
我们的评价
可用 — 实测通过,早期项目

Durable dependency-graph task factory for DeepSeek Harness: recurring Agent work, safe checkout lanes, first-class queues, Triage, and artifacts. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

🏭 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?

Capability What it unlocks
🕸️ Dependency graphs Parallel branches, sequential chains, joins, and always-run finalizers in one named flow.
🏃 Native Agent runs Every assignment executes as an ordinary durable DSH Session with the selected model and preset.
🛤️ Safe checkout lanes Current, isolated, and predecessor-reuse lanes over managed Git worktrees with dirty-work and live-Session protection.
⏰ One-shot + recurring schedules Delayed starts and Croner-backed recurrence with lease-safe activation and non-overlapping occurrences.
🔁 Automatic failure retries Abruptly failed runs requeue with exponential backoff — three retries starting at thirty seconds by default — with workspace and per-task opt-outs.
🏷️ Project-scoped identifiers Every 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 discussion Posted prompts, steer messages, reorderable queued follow-ups, images, and Factory notes in one chronological feed.
🔎 Triage and artifacts Unread and failed run results, mutation receipts, plus images and videos discovered under each run's .artifacts/ directory.
✨ White-glove intake A 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

Package Responsibility
dsh-factory-protocol Host-independent task, flow, run, schedule, observation, and graph records.
dsh-factory-store Persistence Service Definition.
dsh-factory-store-sqlite Transactional documents, presence, revisions, and scheduler leases.
dsh-factory-domain State transitions, metadata settlement, artifacts, and Typert Remote methods.
dsh-factory-tools Model graph tools, explicit completion, and the bundled Factory skill.
dsh-factory-scheduler Dependency, lane, cron, cleanup, and DSH Agent reconciliation.
dsh-factory-client-ui Work, task detail, Triage, New Session intake, and project settings.
dsh-factory Installable 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.

Install this checkout locally
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.

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-factory」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:monotykamary/dsh-factory

Headless(CLI)profile:

dsh plugin --profile headless add github:monotykamary/dsh-factory

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Data 里更多

浏览全部 7819 个插件 →