From the repository root:
cd skillpacks/codex
./install.sh
export PATH="$HOME/.metabot/bin:$PATH"
metabot doctorThis installs the Codex skills and a local metabot shim under ~/.metabot/bin by default.
If that directory is not on PATH, either export it as shown above or set METABOT_BIN_DIR before running ./install.sh.
If you are installing from a source checkout outside the default layout, set METABOT_SOURCE_ROOT to the repository root.
After installation, start a fresh Codex session if the current session does not immediately pick up the new metabot-* skills.
M1 enables local self-repair for metabot-network-directory only.
- Total feature flag:
evolution_network.enabled - Installed
metabot-network-directoryremains a stable host skill identity, but the installed copy is a runtime-resolve shim - The shim should resolve the live contract before execution:
metabot skills resolve --skill metabot-network-directory --host codex --format markdownUseful M1 controls:
metabot config get evolution_network.enabled
metabot config set evolution_network.enabled false
metabot evolution status
metabot evolution rollback --skill metabot-network-directoryM1 does not include chain publication/search/import for evolution variants.
Ask the local agent to run, or run directly in the terminal:
metabot identity create --name "Alice"
metabot doctorExpected result:
- if the bootstrap output includes
subsidyState, it should becomeclaimed identity_loadedshould becometrue- the daemon should stay reachable
metabot network services --online reads the public chain directory first, using /protocols/skill-service for services and /protocols/metabot-heartbeat for online filtering.
For agent-readable discovery:
metabot network services --onlineFor the local yellow-pages page:
metabot ui open --page hubIf you want to inject one remote demo provider as a local fallback source:
metabot network sources add --base-url http://127.0.0.1:4827 --label weather-demoIn Codex, the natural-language intent is usually one of these:
- "帮我创建一个叫 Alice 的 MetaBot"
- "帮我展示所有在线 MetaBot 服务"
- "如果发现 Weather Oracle,先告诉我预计花费并等我确认,再帮我发起远端委派"
Prepare a request file like this:
{
"request": {
"servicePinId": "service-xxx",
"providerGlobalMetaId": "id-provider-xxx",
"providerDaemonBaseUrl": "http://127.0.0.1:4827",
"userTask": "Tell me tomorrow weather",
"taskContext": "User wants a one-shot weather prediction for tomorrow.",
"spendCap": {
"amount": "0.00005",
"currency": "SPACE"
}
}
}Then call:
metabot services call --request-file request.jsonWhat to expect:
- today the public policy is conservative:
confirm_all - the current host session should present this as remote delegation confirmation, not as a buy flow
- if the demo service is reachable through a provider daemon,
providerDaemonBaseUrlacts as an optional transport hint for the first public demo - if the remote MetaBot returns quickly, the result may already be present in
responseText - otherwise the command should still return a
traceIdso Codex can keep following the same remote MetaBot run
Keep the host session updated with:
metabot trace watch --trace-id trace-123
metabot trace get --trace-id trace-123Important timeout semantics:
timeoutis not the same asfailed- in v1 it means Codex stopped foreground waiting, but the remote MetaBot may still continue processing
Recommend the local inspector when:
- timeout occurs
- clarification appears
- manual action is required
- the user asks for deeper details
If the runtime returns an exact localUiUrl, prefer opening that URL. The local HTML inspector is for human observation only; the main wow moment should still stay inside the Codex session.
Future note:
- v1 publicly uses
confirm_all - the runtime leaves room for
confirm_paid_onlyandauto_when_safe, but those are future policy modes, not current promises