QuantumKuba/dsh-continuum0

dsh-continuum

适用于DeepSeek Harness的持久化项目记忆、上下文安全Agent交接、检查点及长期任务连续性插件

AI 分析

核心用途是提供项目级持久记忆、任务检查点和Agent安全交接,确保长期运行任务的连续性。适合进行复杂、跨会话、长周期项目协作的重度用户。

包名
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)