DeepSHPlugins
dsh-skillopt 项目预览
GITHUB / COMMUNITY PROJECT

dsh-skillopt

工具与集成JavaScriptMIT

微软 SkillOpt-Sleep 集成:夜间睡眠循环——收获会话、挖掘重复任务、重放并在留出验证门后沉淀技能。

4 StarsWODE25500 更新时间 2026-08-29
访问 GitHub 仓库
dsh-skillopt 项目预览

项目介绍

中文

微软 SkillOpt-Sleep 集成:夜间睡眠循环——收获会话、挖掘重复任务、重放并在留出验证门后沉淀技能。

English

Microsoft SkillOpt-Sleep integration: a nightly sleep cycle that harvests sessions, mines recurring tasks, replays them and consolidates validated skills behind a held-out gate.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
WODE25500
仓库
WODE25500/dsh-skillopt
GitHub Stars
4
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-29
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

61/ 100
维护活跃
92
文档与实用信息
85
生态关注度
20
安装便捷信号
100
项目声明信号
100

近 13 天仍在更新;README 含完整安装与使用说明;关注度尚低(4)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:WODE25500/dsh-skillopt

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

SkillOpt-Sleep — DeepSeek Harness (dsh) integration

Give your DeepSeek Harness agent a nightly sleep cycle: it reviews past sessions offline, replays your recurring tasks on your own API budget, and consolidates what it learns into validated skills behind a held-out gate. Same engine as the Claude Code / Codex / Cursor integrations (skillopt_sleep), wired into dsh's plugin system as native tools plus a bundled skill.

DeepSeek Harness is the "everything is a plugin" agent framework (deepseek-ai/deepseek-harness). Plugins are TypeScript modules exporting an apply(ctx) function that register capabilities (tools, services, events, settings) on the Cordis context.

Why a sleep cycle?

Skills improve when an agent re-examines its own sessions — not just when you hand-tune a prompt. The sleep cycle turns your everyday usage into a nightly, validation-gated skill-improvement loop: harvest what you actually did, replay the recurring tasks on your own API budget, and keep only the changes that pass a held-out gate. It's the same engine as the Claude Code / Codex / Cursor integrations, wired into dsh as native tools plus a bundled skill.

What this integration adds

ComponentPurpose
src/index.jsdsh plugin entry: registers 7 skillopt_* tools + Schemastery config
cordis.patch.ymlbundle patch layer — drop dsh-skillopt into any profile's bundles
skills/skillopt-sleep/SKILL.mdagent skill: when to use the tools, operating rules, data-boundary rules
scripts/sleep.pybootstrap/self-check runner (same command shape the tools use)
package.jsonnpm package metadata (bundle manifest)

Tools

Toolskillopt_sleep actionBehavior
skillopt_statusstatusstate, engine availability, latest staged proposal & report
skillopt_dry_rundry-runfull preview (harvest+mine+replay), stages nothing
skillopt_runrunfull cycle, stages a proposal (live files unchanged)
skillopt_adoptadoptapply latest staged proposal (with backup) — the live-change boundary
skillopt_harvestharvestread-only show/export of mined tasks
skillopt_schedule / skillopt_unscheduleschedule / unscheduleinstall/remove the nightly cron entry

Prerequisites

  • DeepSeek Harness (dsh) installed
  • Python 3.10+ with the SkillOpt-Sleep engine:
pip install skillopt          # or use this source checkout

Install

As a bundle in a profile

Add dsh-skillopt to the profile's bundles, or in the profile cordis.patch.yml:

- insert:
    - id: skillopt
      name: './src/index.js'
      config:
        backend: mock          # or codex / claude / cursor / pi / opencode / handoff …
        project: /path/to/project
        preferences: 'Always use async/await'

Local patch overlay (dev)

Run from a DeepSeek Harness source checkout (the official dev workflow, pnpm resolves the workspace dsh bin):

pnpm dsh web --patch ./plugins/dsh/cordis.patch.yml

If dsh is installed globally (npm install -g), use it directly:

dsh web --patch ./plugins/dsh/cordis.patch.yml

Either way the patch inserts the skillopt plugin row into the profile; then ask the agent: "Use skillopt_status to check the sleep cycle state."

Config keys

KeyDefaultPurpose
pythonCmdpythonPython interpreter for the engine
module— (bootstrap)engine Python module override (python -m <module>)
engineScript— (scripts/sleep.py)engine bootstrap script override
project—default project directory
scope—harvest scope: all \invoked
backend—`mock\claude\codex\copilot\cursor\pi\opencode\handoff\azure_openai`
source—`claude\codex\copilot\cursor\pi\opencode\auto`
model—backend model override
maxTasks / maxSessions—mine/harvest caps
editBudget—bounded edits per cycle
preferences—house rules for the reflection prior
jsonOutputfalsemachine-readable JSON output
autoAdoptfalseOPERATOR-ONLY: auto-adopt a passed proposal without asking
unscheduleAllfalseOPERATOR-ONLY: allow skillopt_unschedule to remove every managed entry
timeoutMs600000per-call engine timeout in milliseconds

Advanced engine keys (gate_mode, gate_metric, gate_no_regression, dream_rollouts, recall_k, evolve_memory/evolve_skill) go in ~/.skillopt-sleep/config.json — the same file shared by all integrations.

Data boundary

  • Harvest is read-only; mock/handoff make no network calls.
  • run stages proposals; adopt is the normal live-change boundary and backs up first.
  • Real backends send truncated transcript excerpts and derived tasks to the

selected provider. For sensitive sessions, export tasks first (skillopt_harvest with output=), redact, set "reviewed": true, then replay — real backends refuse unreviewed task files.

  • Outbound prompts are not guaranteed secret-free; review source & provider policy.

Validate (no API spend)

python -m skillopt_sleep.experiments.run_experiment --persona researcher --assert-improves

See the SkillOpt-Sleep documentation for recorded results, limitations, and the supported integration surface.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目