开发与工程 ✓ Microsoft · 官方

SkillOpt-Sleep

给本地 Codex 代理一个'睡眠周期':离线复盘历史会话,只保留通过held-out验证的真实改进,无需训练模型权重。

64/ 100
推荐

整体可靠,存在已披露的局限;按说明试用并保留回滚路径。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 18k
最近更新
19 天前
License
MIT
self-improvementskill-optimizationsession-miningmemory-consolidation
+4nightly-schedulingvalidation-gatecodexcli-runner

这个 Skill 能做什么,适合哪些场景?

SkillOpt-Sleep 是微软 SkillOpt 仓库中的一个技能(位于 plugins/codex/skills/skillopt-sleep/),为本地 Codex 代理提供按需或定时的离线自我进化。它收割本地会话记录、挖掘重复任务、通过所选后端重放这些任务,并提出对指定技能文件和项目 CLAUDE.md 的有界编辑。默认验证门只保留让 held-out 分数提升的改动,实时文件只有在显式采纳或用户要求 --auto-adopt 时才会变化。整个过程不训练任何模型权重,部署产物是可直接使用的 SKILL.md / CLAUDE.md 文本。

  • 收割本地 Codex 存档会话(~/.codex/archived_sessions)并归一化为会话摘要
  • 将摘要挖掘为带结果和可核查引用的重复 TaskRecord
  • 通过所选后端(mock/claude/codex/copilot/handoff/azure_openai)重放任务
  • 基于失败反思提出有界编辑,仅当 held-out 验证分数提升时通过验证门
  • 将提案写入 .skillopt-sleep/staging/<日期>/,显式采纳时先备份再覆盖实时文件
  • 支持 schedule/unschedule 定时任务与 --auto-adopt、--edit-budget 等配置
适合
  • 想让 Codex 越用越好、从过去会话中学习任务模式和偏好的开发者
  • 希望设置每晚定时自我优化、白天不占用工作时间的个人用户
  • 需要把重复出现的任务反馈固化进项目记忆(CLAUDE.md)或某个 SKILL.md 的团队
  • 想先用 mock 后端零成本干跑、确认改动安全后再真实优化的谨慎使用者
  • 需要在无 crontab 系统上手动安装定时条目的运维人员
不适合
  • 不想让会话内容发送到外部模型提供商的用户——即便有模式脱敏,真实后端仍会把截断的转录/任务内容发送给其提供商
  • 希望优化后自动写入 AGENTS.md 的用户——当前引擎明确不写 AGENTS.md,Codex 可见结果必须用 --target-skill-path 指定目标技能
  • 没有 Python >= 3.10 或本地会话存档的纯云端环境

如何安装这个 Skill?

开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 网络访问
  • 本地文件系统
需要预先安装
  • Python >= 3.10
  • SkillOpt repository (SKILLOPT_SLEEP_REPO)
  • crontab or manual schedule line

该技能随 SkillOpt 仓库整体分发(MIT 许可),无需单独安装仓库本体;仅需克隆仓库并保证 Python >= 3.10。

Codex / Claude Code(本地代理)

git clone https://github.com/microsoft/SkillOpt.git
export SKILLOPT_SLEEP_REPO=/path/to/SkillOpt
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" status --project "$(pwd)"

Windows(CMD)

set SKILLOPT_SLEEP_REPO=C:\path\to\SkillOpt
"%SKILLOPT_SLEEP_REPO%\plugins\run-sleep.cmd" status --project "%CD%"

Windows(PowerShell)

$env:SKILLOPT_SLEEP_REPO = "C:\path\to\SkillOpt"
powershell -File "$env:SKILLOPT_SLEEP_REPO\plugins\run-sleep.ps1" status --project "$(pwd)"

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 回顾我过去一周的 Codex 会话,找出重复任务并把学到的偏好固化到我的技能里
  • 给这个项目跑一次 SkillOpt-Sleep 的 dry-run,用 mock 后端,目标技能是 .agents/skills/example/SKILL.md
  • 今晚凌晨3点用 codex 后端跑一次睡眠自我优化,只保留验证分数提升的改动
  • 看看上次 sleep run 暂存的提案报告,没问题的话帮我采纳

通过捆绑的 shell runner 驱动,动作为 status、harvest、dry-run、run、adopt、schedule、unschedule。首次检查先跑 dry-run --backend mock(确定性、零 API 开销)。对 Codex 技能目标必须显式传 --target-skill-path,否则默认目标是 Claude 管理的 ~/.claude/skills/ 下的技能;若不想进化 CLAUDE.md,在 ~/.skillopt-sleep/config. 设 evolve_memory 为 false。

export SKILLOPT_SLEEP_REPO=/path/to/SkillOpt
TARGET_SKILL=.agents/skills/example/SKILL.md
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" dry-run --project "$(pwd)" \
  --source codex --target-skill-path "$TARGET_SKILL" --backend mock
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" run --project "$(pwd)" \
  --source codex --target-skill-path "$TARGET_SKILL" --backend codex \
  --max-sessions 5 --max-tasks 3 --progress
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" adopt --project "$(pwd)"

定时运行:

bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" schedule --project "$(pwd)" \
  --backend codex --hour 3 --minute 17

调度器持久化项目、后端、时间和可选 auto-adopt,但不持久化 --source/--target-skill-path;Codex 目标需先在 config. 设 transcript_source 和绝对路径 target_skill_path。关键标志:--auto-adopt(门通过即采纳)、--edit-budget N(每晚最多有界编辑数,默认4)、--lookback-hours N(收割窗口,默认72)、--(机器可读输出)。

这个 Skill 有哪些优点和局限?

优点
  • 默认验证门保证只保留 held-out 分数有提升的改动,改动先入 staging 目录、显式采纳且有备份,安全边界清晰
  • mock 后端确定性且零 API 开销,可无成本冒烟测试;收割阶段只读并有模式化脱敏
  • 支持多后端(mock/claude/codex/copilot/handoff/azure_openai)、定时调度、-- 机器可读输出与跨平台脚本
局限
  • held-out 提升只是单次运行的证据,不保证在其他技能、任务或模型上复现;基准示例(brief-writer 0.00→1.00)仅针对特定配置
  • 模式化脱敏不是保证,真实后端会把截断的转录/任务内容发给提供商,敏感会话需先审查
  • 不写 AGENTS.md;Codex 目标必须手动传 --target-skill-path,且调度器不持久化该路径,需要额外配置 config.
  • 依赖本地 Python >= 3.10 与本地会话存档,纯 API/无 shell 环境不可用

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
SkillOpt-Sleep 本页 ✓ Microsoft · 官方 64 · 推荐 ★ 18k 19 天前 MIT
SkillOpt-Sleep:本地智能体的睡眠周期自进化技能 ✓ Microsoft · 官方 64 · 推荐 ★ 18k 19 天前 MIT
Obsidian 知识大脑 v4.0 56 · 谨慎使用 ★ 100 3 个月前 MIT
Engram 持久记忆协议 68 · 推荐 ★ 7.2k 11 天前 MIT
Vibe Replay 会话回放 56 · 谨慎使用 ★ 38 11 天前 MIT

与 SkillOpt 主训练循环(rollout → reflect → aggregate → select → update → evaluate,产出 best_skill.md)相比,SkillOpt-Sleep 面向本地代理的日常使用数据:它从历史会话中收割任务而非固定基准数据集,以'睡眠周期'形式离线运行,并同样以 held-out 验证门把关。两者都只编辑技能文本,不训练模型权重。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-1.0
推荐
64/ 100 五分制 3.2 / 5
1价值适配14 / 20 · 3.5/5
2可靠性13 / 20 · 3.3/5
3安全性15 / 25 · 3.0/5

同上,Codex 平台适配版本,同样的自我修改+验证门禁设计。

4证据7 / 15 · 2.3/5
5易用性7 / 10 · 3.5/5
6维护性8 / 10 · 4.0/5
1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年7月17日 评估证据[1]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

本条评估按 FSRS 1.0 标准完成,维度分不做换算,已进入按 FSRS 2.0 重新评估的复核队列。

查看完整评分方法 →

常见问题

会花多少 API 费用?
默认后端是 mock,确定性且零 API 开销;只有显式选择 claude/codex/copilot/azure_openai 等真实后端时才消耗相应 CLI/端点的预算。
改动会不会直接改坏我的文件?
默认 run 只写 staging 目录,实时文件仅在显式 adopt 或用户明确要求 --auto-adopt 且验证门通过时才会被覆盖,且覆盖前先备份现有目标。
我的会话数据安全吗?
收割阶段只读,并对 Codex 转录做已知密钥、开发者指令和原始工具负载的模式化移除,但文档明确这不是保证——真实后端仍会发送截断内容给提供商;数据边界敏感时应审查会话或改用 --tasks-file 工作流。
在哪些平台上可用?
runner 通过 shell 调用,任何有 shell、文件系统和 Python >= 3.10 的本地代理(如 Codex、Claude Code)都能驱动它;纯模型 API 没有 shell,无法直接使用。

同仓库的其他 Skills

均来自 microsoft/SkillOpt

相关 Skills