跳到主要内容

Demiurge 0.3.0

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

概述

这个版本新增了 session bootstrap context modules,把 workspace ownership 从 host configuration 移到了 agent core manifests,并发布了新的 Docusaurus project website 和 hosted manual。同时也围绕 host-owned harness 和 authored Agent Core boundary 重新 组织了手册。

用户可见变化

  • Agent cores 现在可以声明 agent/bootstrap/ modules,它们会在 session 开始时运行 一次,并把 bootstrap context 写入 session。
  • 默认 assistant core 现在包含一个 bootstrap module,会在 session-start context 中 记录当前 workspace 和本地用户。
  • workspace defaults 现在属于每个 core manifest 中的 runtime.workspace,同时 CLI --workspaceDEMIURGE_WORKSPACE 和 launch-directory fallback 仍然拥有更高优先级。
  • source core manifests 现在显式列出了默认 runtime、UI、approval、tool metadata、 capability、dependency 和 smoke-test fields。
  • 由于 code slots 仍然运行在 host-shared Python environment 中,core manifests 中移除 了 runtime language 和 Python-version fields。
  • TTS summarizer core manifest 已更新,以匹配显式的 manifest defaults。
  • 文档已重组为 Getting Started、Concepts、Authoring、Operations、Reference、Developer Guide 和 Releases 各部分。
  • 项目新增了一个 Docusaurus website,用作 project homepage 和 hosted manual,并带有 GitHub Pages deployment workflow 和本地搜索。
  • 对外展示的品牌现在使用 Demiurge 作为产品名,而 command、package、path 和 repository identifiers 仍保持小写。

破坏性变更

  • runtime.workspace 不再是 ~/.demiurge/config.yaml 中受支持的字段。请在 ~/.demiurge/agents/<core>/agent.yaml 中为 core 配置本地 workspace,或者继续使用 CLI --workspace / DEMIURGE_WORKSPACE 作为启动时覆盖。
  • Core manifest fields runtime.languageruntime.python 已被移除。仍包含这些字段 的现有 runtime cores 在验证前应当先刷新或手动编辑。
  • 文档路径发生了变化。原来的扁平 docs/*.md 页面已被分类路径替代,例如 docs/getting-started/quickstart.mddocs/authoring/agent-core-layout.md

已知限制

  • package catalog 仍然是 local-only。
  • code slots 默认运行在 host-shared Python environment 中。
  • Telegram 仍然是 long-polling。
  • candidate core evolution 和 automatic promotion 仍未完成。
  • Docusaurus site 先翻译首页、导航、页脚和侧边栏标签;本版本不包含完整的中文手册翻译。
  • GitHub Pages deployment 需要把 repository Pages source 设为 GitHub Actions。

验证

  • uv run python -c 'import tomllib, demiurge; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"]); print(demiurge.__version__)'
  • git diff --check -- pyproject.toml demiurge/__init__.py README.md README.zh-CN.md docs website .github/workflows/pages.yml
  • cd website && npm run build