QuantumKuba/dsh-continuum0

dsh-continuum

Persistent project memory, context-safe agent handoffs, checkpointing, evidence tracking, and long-running task continuity for DeepSeek Harness

包名
dsh-continuum
版本
0.1.0
许可证
MIT
最近更新
2026年9月2日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:QuantumKuba/dsh-continuum

Web UI "Plugin Configuration" & settings.yaml

dsh-continuum integrates seamlessly with DeepSeek Harness's @deepseek-ai/dsh-settings service. You can configure it visually in the DSH Web UI under Plugin configuration, or in ~/.dsh/settings.yaml:

dsh-continuum:
  autoInjectContext: true        # Automatically inject Context Pack into system prompts
  maxContextPackTokens: 8000     # Maximum token budget for Context Pack
  defaultLeaseTtlMinutes: 10     # Task execution lease TTL before sweep
  storageMode: workspace         # 'workspace' (.continuum/) | 'home' (~/.continuum/) | 'custom'
  customStoragePath: ""          # Custom directory if storageMode is 'custom'

Changes made in the Web UI take effect immediately in real time without restarting the server.

Programmatic API Usage

You can also use Continuum directly in standalone Node.js / TypeScript code:

import { ContinuumEngine, FileSystemStorageBackend, StorageResolver } from 'dsh-continuum'

// 1. Initialize storage backend
const resolver = new StorageResolver({ mode: 'workspace' })
const storage = new FileSystemStorageBackend(resolver)
const engine = new ContinuumEngine(storage)

// 2. Initialize project & North Star
await engine.initProject('proj-alpha', 'Project Alpha', 'Core Engine', {
  id: 'agent-orchestrator',
  role: 'orchestrator'
})

await engine.setNorthStar(
  'Build resilient distributed consensus',
  ['Linearizable reads', 'Crash recovery'],
  { id: 'agent-orchestrator', role: 'orchestrator' }
)

// 3. Create task with independent verification policy
const task = await engine.createTask({
  title: 'Implement WAL Appender',
  description: 'Write write-ahead log with fsync flush barrier',
  acceptanceCriteria: ['Pass crash fault tests'],
  verificationPolicy: 'independent' // Four-eyes principle
}, {
  actor: { id: 'agent-orchestrator', role: 'orchestrator' }
})

// 4. Implementer claims task (lease issued)
const claim = await engine.claimTask(task.data.id, {
  actor: { id: 'agent-implementer', role: 'implementer' }
})
console.log('Claimed task with lease:', claim.data.leaseId)