创建外部包仓库
本教程会在 Demiurge source checkout 之外创建一个本地 package repository。你将添加一个 input slot package,信任该 repository,预览安装,然后再次卸载。
Package repositories 分发 authored-surface files。它们不会安装 Python dependencies,也不会修改 host uv.lock。
本教程会保持 recipe 最小化。Package YAML 设计和字段细节见 编写 Package Recipe。
1. 创建仓库根目录
选择一个本地路径:
mkdir -p ~/demiurge-packages/packages
mkdir -p ~/demiurge-packages/input/reply_style
创建 ~/demiurge-packages/repository.yaml:
schema_version: 1
id: local_examples
name: Local Demiurge Examples
summary: Local example packages for testing.
repository.yaml 标识 repository。把它添加到 host 时,本地 alias 仍然可以不同。
2. 添加 Input Slot
创建 ~/demiurge-packages/input/reply_style/module.py:
def process(ctx):
ctx.input.add_context(
"Package hint: answer with direct, concrete steps.",
role="system",
write_history=False,
)
创建 ~/demiurge-packages/input/reply_style/slot.yaml:
entrypoint: module:process
failure_policy: soft
history_policy: transient
capabilities: []
description: Adds a package-provided reply style hint.
Input slots 会在 provider call 前运行。这个示例会为每个 turn 添加一条低优先级 system context hint。