返回插件市场

dsh-factory

Agent 与工作流

monotykamary/dsh-factory

为 DeepSeek Harness 提供持久化依赖图任务工厂:支持循环 Agent 工作、安全检出通道、一流队列、分诊和产物。

  • ai-agents
  • cordis
  • deepseek-harness
  • dependency-graph
  • dsh-plugin
  • multi-agent-systems
  • sqlite
  • task-automation
  • typescript
GitHub Stars
5GitHub
浏览量
0DSH Plugin Hub
Forks
0GitHub
开放问题
0GitHub Issues
Manifest 版本
0.1.9dsh-factory
最近推送
2026年9月2日GitHub
许可证
MITTypeScript
插件类型
Host运行于 DSH Host

验证与兼容性

这里展示目录实际采集到的证据;未声明的信息会明确标为未知。

运行时已验证
01精确来源: npm · dsh-factory@0.1.902验证时间: 2026年9月3日03验证版本: 0.1.0-rc.7
当前版本兼容性
已在当前目录版本验证
声明的 Harness 范围
未声明
声明的平台
未声明
适用 Profile
web
构建授权
未检测到需要
权限声明
未声明
外部服务
未声明
遥测声明
未知
未发现已知风险标记

这不是安全背书;安装前仍应查看源码、权限和配置。

查看证据与判定范围

验证仅覆盖标出的来源、版本和 Harness 环境,不代表未来版本仍然兼容。

  • dsh-factory@0.1.9
  • 插件已在隔离环境完成加载检查。

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?

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.

评论

0
最新优先