Demiurge 0.3.3
Demiurge 是 alpha / developer-preview 软件。APIs、runtime layout 和 authoring contracts 之后仍可能变化。
概述
这个补丁版本移除了本地 TUI 中的 provider-response streaming,因此所有用户可见的 assistant output 都会通过 output modules 和 host IO delivery boundary 传递。
用户可见变化
- 移除了 TUI 中直接渲染 provider token-delta 的能力。
- TUI assistant output 现在只会通过 output-module effects 交付,例如
ctx.output.send_text(...),从而让自定义文本、artifact、audio 和 notice modules 走同一条 delivery path。 - TUI 仍会在 footer 中报告所选 provider 和 model。
修复
- 恢复了本地 TUI output 的 IO-module boundary:先完成 provider responses,再由 serial 和 parallel output modules 决定用户最终看到什么。
- 移除了运行时和 TUI 前端中陈旧的 stream-delta state handling 以及 provider stream adapters。
破坏性变更
- 0.3.2 中引入的 TUI provider-response streaming 已被移除。依赖
LLMStreamEvent、 providerstream(...)adapters 或 interaction stream bridge events 的代码,必须改用 normal complete-response 和 output-module delivery path。
已知限制
- package catalog 仍然是 local-only。
- code slots 默认运行在 host-shared Python environment 中。
- external gateway channels 默认禁用,需要显式的认证相关环境变量或 token。
- Telegram 仍然只是 long-polling。
- candidate core evolution 和 automatic promotion 仍未完成。
- Provider profile tests 只有在显式调用时才会进行 live network calls。
验证
uv run pytest tests/channels/test_ui_gateway.py tests/runtime/test_harness.py tests/app/test_provider_config.pyuv run pytest tests/runtime/test_modular_io.pycd ui-tui && npm run typecheckcd ui-tui && npm test -- --runcd ui-tui && npm run buildcmp ui-tui/dist/entry.js demiurge/ui/tui_dist/entry.jsuv run python -c 'import tomllib, demiurge; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"]); print(demiurge.__version__)'git diff --check -- ':!demiurge/ui/tui_dist/entry.js'