Registry¶
Push, pull, and search agents from any Noether-compatible registry.
Local (no registry)¶
Default. push/pull use ./registry/agents/ on local filesystem.
Self-hosted¶
Run the noether-cloud registry:
Now use it:
export AGENTSPEC_REGISTRY=http://localhost:3000
agentspec push my.agent # pushes to localhost:3000
agentspec pull ag1:xxx # pulls from localhost:3000
agentspec search "researcher" # searches localhost:3000
Or per-command:
Public registry¶
How agents are stored¶
.agent manifests are wrapped as Noether stage specs:
{
"name": "agent:my-researcher",
"description": "Cites everything, never guesses",
"tags": ["agentspec", "agent-manifest", "research"],
"implementation": "<full manifest as JSON>",
"input": {"Record": []},
"output": {"Record": [["manifest", "Any"]]}
}
This means:
- The Noether registry treats agents as first-class stages
- Search uses Noether's semantic search (vector embeddings)
- No separate database needed
- Agents and stages share the same infrastructure
Search¶
Semantic search via vector embeddings:
$ agentspec search "ota pricing analyst" --registry https://registry.agentspec.dev
Found 3 agent(s):
ag1:c3ce ota-pricing-analyst-v2
Hotel rate anomaly detection with 15 sprint history
ag1:7242 ota-rate-monitor
Real-time rate monitoring across 50 destinations
ag1:9818 ota-recommendation-engine
Pricing recommendation based on competitor analysis
Results ranked by:
- Semantic similarity to the query
- Signature match (input/output types)
- Example similarity
Profiles travel with manifests¶
When you push an agent, its profile (with signed portfolio) travels too:
agentspec push my-agent.agent --registry ...
# Pushes manifest + profile JSON
# Profile contains: memories, portfolio, skill_proofs, signatures
agentspec pull <hash> --registry ...
# Pulls manifest + profile
# You get the agent WITH its accumulated experience
This is the network effect: a well-used agent in production becomes more valuable over time. Pull it and you inherit its sprint history.
API authentication¶
Public registry: read free, write requires API key.
Self-hosted: control via NOETHER_API_KEY env var on the registry. If empty, no auth required (dev mode).
Private registries¶
Run noether-cloud behind your VPN:
export AGENTSPEC_REGISTRY=https://registry.internal.mycompany.com
export AGENTSPEC_API_KEY=$(vault read -field=key secret/agentspec/key)
agentspec push internal-tool.agent
Your agents stay internal. Browse via the noether-cloud UI.
Discovery patterns¶
Find agents by:
- Domain:
--tag ota,--tag electromobility,--tag finance - Capability: search "pandas pipeline", "code review"
- Provenance: filter by signed-by (supervisor pubkey)
- Recency: most recently pushed first
- Reputation: sort by completion rate, total sprints (in profile)
Compose with other Noether stages¶
Once published, your agent is a Noether stage. Compose it with the 370+ existing stages:
{
"operator": "Sequential",
"stages": [
{"stage": "csv_parse"},
{"stage": "agent:my-researcher"},
{"stage": "format_report"}
]
}
The agent becomes one node in a verified composition graph.