跳到主要内容

Demiurge 0.6.0

Demiurge 是 alpha / developer-preview 软件。APIs、runtime layout 和 authoring contracts 在 1.0 之前仍可能变化。

摘要

这个 minor release 扩展 built-in skill management tools,新增 package author 文档,恢复 TUI session resume 时的 transcript history,并修复 runtime、 scheduler 和跨平台 TUI 问题。

默认公开 release 仍是 notes/tag-only:除非明确要求 artifact release,否则不会构建 或附加 wheel / sdist artifacts。

用户可见变化

  • skill_manage 不再只支持完整 SKILL.md 的 create、update 和 delete。它现在 支持 patchwrite_fileremove_file,可以管理 packaged skill 中 references/templates/scripts/assets/ 下的 support files。
  • Skill file 写入新增 host-side safety checks,包括 configured skills-root resolution、隐藏路径拒绝、parent traversal 拒绝、symlink escape protection、 core reload validation,以及当 skill edit 会导致 active core 无法加载时自动 rollback。
  • 新增编写 package recipes 和发布 package repositories 的用户文档,并同步 zh-CN website pages。
  • TUI 在初始化已有 session、新建 session 或恢复旧 session 时会恢复 transcript history。Tool history 会按 TUI tool-display mode 显示为 summary 或 full tool cards。
  • 更新 package author navigation,让 manual 直接指向 recipe authoring、 repository publishing 和 package recipe reference。

修复

  • task_list 现在限定当前 session,避免一个 session 通过 built-in tool schema 列出另一个 session 的 controllable background tasks。
  • 将 TUI build command 改为 Node script,使 esbuild banner 在不同 shell 和平台上 更可靠。
  • Runtime operations 结束后会及时关闭 SQLite runtime-store connections。
  • 避免 completed 和 failed scheduled runs 产生重复的用户可见 scheduler run logs。
  • Scheduler test fixtures 更新为当前 agent/pipelines.yaml layout。

破坏性变化

  • task_list 不再接受 owner_session_id。它始终列出 active session 拥有的 tasks。

已知限制

  • Code slots 默认运行在 host-shared Python environment 中。
  • Candidate Agent Core evolution 不能自动添加 dependencies。
  • 旧 JSON / JSONL runtime state 不会迁移进 SQLite runtime store。
  • Host 重启后发现的 in-progress subprocess work 必须视为 lost 或 interrupted; host 不应在 crash 后重放 dangerous effects。
  • Telegram 仍然只支持 long-polling。
  • Package repositories 可以是 local、built-in,或显式 trusted Git/path sources; install-time trust 仍归 host 管理。
  • Provider profile tests 和真实 provider calls 需要显式 provider credentials, 并可能发起 live network calls。
  • GitHub Releases 默认仍不会附加 wheel 或 sdist artifacts;这个 alpha release 请使用 source checkout 或 managed checkout install path。

验证

  • uv run python -m compileall demiurge tests
  • uv run pytest -vv --durations=20 -o faulthandler_timeout=60
  • uv run demiurge --help
  • uv run demiurge init --help
  • (cd ui-tui && npm ci && npm run typecheck && npm test -- --run && npm run build)
  • cmp ui-tui/dist/entry.js demiurge/ui/tui_dist/entry.js
  • (cd website && npm ci && npm run build)
  • git diff --check -- ':!demiurge/ui/tui_dist/entry.js'
  • uv run python -c 'import tomllib, demiurge; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"]); print(demiurge.__version__)'
  • rg -n "0\\.6\\.0|docs/releases/0\\.6\\.0" pyproject.toml demiurge/__init__.py uv.lock README.md README.zh-CN.md docs website