Demiurge 0.8.0
Demiurge 仍是 alpha / developer-preview 软件。API、runtime layout 和 authored
contracts 在 1.0 前仍可能变化。
Summary
这个 minor release 重构 host runtime harness 和 operator gateway,给 authored
slots 增加结构化 child-agent controls,引入 runtime provider profiles,并发布
built-in self_learning_skills package。同时,它改进了 channel/session
routing、Telegram approval callbacks、provider configuration docs 和跨平台
release validation。
默认公开 release 仍是 notes/tag-only:除非明确要求 artifact release,否则不会构建 或附加 wheel / sdist artifacts。
User-Visible Changes
- 将 runtime runner 拆分为 turn pipelines、approvals、ingress、delivery、
session routing、prompt context、history display 和 operator-gateway dispatch
等 host-owned modules。authored slot code 继续通过
ctxSDK 工作,provider calls、delivery、approvals 和 session state 仍由 host 拥有。 - 给 authored slots 增加 child-agent controls。Slots 可以 用选定的 input slots、 output slots、tools 和 bootstrap context 运行受约束的 child agents,并显式选择 child tool surface。
- 新增 runtime provider profiles,包含 OpenAI-compatible 和 Anthropic Messages built-in transports。Setup 可以创建、查看、测试、编辑和选择 provider profiles, 同时把 provider secrets 留在 host-owned config 中。
- 新增 built-in
self_learning_skillspackage。它会定期用受约束的 same-core child agent 回顾最近 turns,并通过正常skill_manageapproval path 更新 active core 的 skills。 - 扩展 Slot Context SDK 和 delivery/history reference,覆盖 input/output delivery helpers、transient progress/notice sends、artifact handling、child-agent access、 session state 和 result writing。
- 按 session 路由 live delivery,并在新 session 开始时重新绑定 channel conversations,让 gateway 和 Telegram delivery 指向正确的 active conversation。
- 新增 Python CI profile runner,并把 Windows release validation 分片,降低长 release gates 的运行和诊断成本。
Fixes
- 通过保留 approval prompt 的 callback context 稳定 Telegram approval callbacks。
- 为 route-binding 变化更新 TUI runtime fake 和 packaged bundle。
- 收紧 provider setup 和 CLI 在 built-in provider overrides、custom provider modes 和 provider test commands 上的行为。
- 调整 evolver guidance,让 slot edits 指向已文档化的
ctxSDK,并保持在 authored-surface boundaries 内。
Breaking Changes
- Host runtime internals 有大幅重组。直接 import internal runtime modules 的代码
可能需要迁移到已文档化的 CLI、package、slot、tool 或
ctxsurfaces。
Known Limitations
- Code slots 默认仍运行在 host-shared Python environment。
- Candidate Agent Core evolution 不能自动新增 dependencies。
- 旧 JSON / JSONL runtime state 不会迁移到 SQLite runtime store。
- Restart 后发现的 in-progress subprocess work 必须视为 lost 或 interrupted; host 不应在 crash 后 replay 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。
Verification
git status --shortuv run python -c 'import tomllib, demiurge; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"]); print(demiurge.__version__)'rg -n "0\\.8\\.0|docs/releases/0\\.8\\.0" pyproject.toml demiurge/__init__.py uv.lock README.md README.zh-CN.md docs website(cd website && npm run build)git diff --check -- README.md README.zh-CN.md docs website pyproject.toml demiurge/__init__.py uv.lock