跳到主要内容

Demiurge 0.4.1

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

摘要

这个 patch release 新增国内 speech-to-text packages,统一 STT provider 的 input handling,并补齐当前 public manual 和 release surfaces。这个版本不构建、 不附加 wheel 或 sdist artifacts。

用户可见变化

  • 新增 stt_baidustt_dashscopestt_tencent package recipes,用于 provider-specific speech-to-text input。
  • 新增百度云语音识别支持,可从 DEMIURGE_BAIDU_ACCESS_TOKEN 读取 token, 或使用 Baidu API key / secret key 走 OAuth token 获取流程。
  • 新增阿里云 Model Studio / DashScope STT 支持,使用 compatible chat-completions audio API。
  • 新增腾讯云 ASR 支持,包含 TC3 request signing。
  • 通过 shared STT library 复用 attachment filtering、network capability checks、transcript rendering 和 metadata handling。
  • 新增 Agent Slots explanation 页面,并更新 slot-module contract docs。
  • 补齐当前文档集的 zh-CN website manual 页面。
  • 在 README 和 website 中新增 speech-to-text input、text-to-speech output package demo media。

修复

  • GitHub Release publication 与当前 alpha 策略保持一致:发布 release notes, 但默认不构建或附加 wheel / sdist artifacts。
  • 移除了各 STT provider package 中重复的 input-slot implementation。
  • 更新 package documentation、CLI references 和 release links,使其匹配当前 package 与 slot surfaces。

破坏性变化

  • 移除了 package-repository/skill/stt_transcription/SKILL.md。STT packages 现在通过 package components 和 shared STT library 承载可复用行为。

已知限制

  • Code slots 默认运行在 host-shared Python environment 中。
  • Candidate Agent Core evolution 不能自动添加 dependencies。
  • Telegram 仍然只支持 long-polling。
  • Package repositories 可以是 local、built-in 或显式信任的 Git/path sources; install-time trust 仍属于 host。
  • Provider profile tests 和真实 STT 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\\.4\\.1|docs/releases/0\\.4\\.1" pyproject.toml demiurge/__init__.py uv.lock README.md README.zh-CN.md docs website