AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Crawler Summary
Minimal reference: audio -> OpenAI transcription -> CrewAI deployment kickoff -> answer. crewai-audio-quickstart **A voice-ready, conversational field assistant on CrewAI AMP — the full reference pattern:** audio → transcription → a deployed Flow with intent routing, tool-using agents, and session memory that survives across kickoffs → answer (text you can speak back). The flow mirrors an architecture running in real field deployments, with every customer-specific piece swapped for a generic, self-contai Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
crewai-audio-quickstart is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
Minimal reference: audio -> OpenAI transcription -> CrewAI deployment kickoff -> answer. crewai-audio-quickstart **A voice-ready, conversational field assistant on CrewAI AMP — the full reference pattern:** audio → transcription → a deployed Flow with intent routing, tool-using agents, and session memory that survives across kickoffs → answer (text you can speak back). The flow mirrors an architecture running in real field deployments, with every customer-specific piece swapped for a generic, self-contai
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Crewaiinc Fde
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Crewaiinc Fde
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
text
audio file / mic ──► OpenAI transcription — the CLIENT's key, used only here.
│ text (The deployed flow's agents make their
│ own OpenAI calls server-side with the
│ key configured ON THE DEPLOYMENT.)
▼
POST {deployment}/kickoff
{"inputs": {"id": "<fresh uuid>", "message": "..."},
"restoreFromStateId": "<previous turn's id>"} ← from turn 2 on
│
▼
AssistantFlow (one kickoff = one conversational turn)
├─ deterministic-first router: quit / cancel / form-continuation
│ are handled with ZERO LLM calls; everything else gets one small
│ classification call (asset_data | start_form:<type> | unknown)
├─ Asset-data agent — 3 tools over the SQLite readings table:
│ get_latest_reading · get_period_stats · list_assets
│ (fuzzy name matching → canonical names; "latest" skips the
│ in-progress day and says so when it can't)
├─ Form agent — voice-guided wizard (maintenance / incident report):
│ one field per turn, typed validation, read-back, explicit
│ "confirm" before a (mock) submission
└─ @persist state keyed on `id`: history + form progress survive
across kickoff executions (on AMP SaaS, state lands on the
persistent volume by default)bash
cp .env.example .env # fill in the two deployment values python3 client/ask.py samples/question.wav
bash
python3 client/ask.py clips/file-a-report.wav # "I'd like to file a maintenance report" python3 client/ask.py clips/asset-id.wav # "Pump A1" python3 client/ask.py clips/work-done.wav # ... one field per clip ... python3 client/ask.py --new-session clips/next.wav # fresh conversation
bash
uv sync OPENAI_API_KEY=sk-... uv run kickoff # scripted 3-turn smoke session
text
src/audio_quickstart/ ├── flow.py # AssistantFlow: router + handlers + @persist session state ├── agents.py # data agent + form agent (one LLM instance per agent) ├── tools.py # 3 data tools (SQLite) + 3 form tools; caching disabled ├── forms.py # form schemas, typed validation, session state machine ├── data.py # synthetic SQLite readings (the stubbed "warehouse") └── main.py # local smoke entry point client/ask.py # stdlib audio client (transcribe → kickoff → poll) ui/ # Leptos (Rust/WASM) browser client
text
./scripts/release-ui.sh
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Minimal reference: audio -> OpenAI transcription -> CrewAI deployment kickoff -> answer. crewai-audio-quickstart **A voice-ready, conversational field assistant on CrewAI AMP — the full reference pattern:** audio → transcription → a deployed Flow with intent routing, tool-using agents, and session memory that survives across kickoffs → answer (text you can speak back). The flow mirrors an architecture running in real field deployments, with every customer-specific piece swapped for a generic, self-contai
A voice-ready, conversational field assistant on CrewAI AMP — the full reference pattern: audio → transcription → a deployed Flow with intent routing, tool-using agents, and session memory that survives across kickoffs → answer (text you can speak back).
The flow mirrors an architecture running in real field deployments, with every customer-specific piece swapped for a generic, self-contained stand-in (the data layer is a seeded SQLite file — no external services, no credentials).
audio file / mic ──► OpenAI transcription — the CLIENT's key, used only here.
│ text (The deployed flow's agents make their
│ own OpenAI calls server-side with the
│ key configured ON THE DEPLOYMENT.)
▼
POST {deployment}/kickoff
{"inputs": {"id": "<fresh uuid>", "message": "..."},
"restoreFromStateId": "<previous turn's id>"} ← from turn 2 on
│
▼
AssistantFlow (one kickoff = one conversational turn)
├─ deterministic-first router: quit / cancel / form-continuation
│ are handled with ZERO LLM calls; everything else gets one small
│ classification call (asset_data | start_form:<type> | unknown)
├─ Asset-data agent — 3 tools over the SQLite readings table:
│ get_latest_reading · get_period_stats · list_assets
│ (fuzzy name matching → canonical names; "latest" skips the
│ in-progress day and says so when it can't)
├─ Form agent — voice-guided wizard (maintenance / incident report):
│ one field per turn, typed validation, read-back, explicit
│ "confirm" before a (mock) submission
└─ @persist state keyed on `id`: history + form progress survive
across kickoff executions (on AMP SaaS, state lands on the
persistent volume by default)
Session contract: each turn sends {"id": "<FRESH uuid>", "message": "<text>"}
plus — from turn 2 on — top-level "restoreFromStateId": "<previous turn's id>";
the reply is a string. Continuity is chained, not keyed: never reuse an id
across kickoffs (the platform deprecates it — it corrupts traces, the executions
list, and metrics), and only advance the chain after a turn succeeds. Omit
restoreFromStateId for a new conversation. Ids must be full, valid UUIDs
(an AMP-side rule — locally any string works, so you'll only hit the 422 there).
main.
The repo auto-deploys on new commits once connected.OPENAI_API_KEY environment variable on the deployment (the agents and the
intent classifier use openai/gpt-4o).cp .env.example .env # fill in the two deployment values
python3 client/ask.py samples/question.wav
client/ask.py is stdlib-only and does the whole loop: transcribe → discover the
deployment's input contract (GET /inputs — never assume key names) → kickoff →
poll → print. It keeps a .session file holding the previous turn's id and chains
each run to it via restoreFromStateId, so consecutive questions continue ONE
conversation — which is what makes the form wizard work by voice:
python3 client/ask.py clips/file-a-report.wav # "I'd like to file a maintenance report"
python3 client/ask.py clips/asset-id.wav # "Pump A1"
python3 client/ask.py clips/work-done.wav # ... one field per clip ...
python3 client/ask.py --new-session clips/next.wav # fresh conversation
Things to try:
Record clips with scripts/make_sample_audio.sh, your phone, or anything that
produces wav/mp3/m4a.
ui/)A fully client-side web UI (Rust/Leptos → WASM): paste your deployment URL,
bearer token, and OpenAI key, then talk — mic capture → transcription → kickoff →
spoken reply via the browser's speech synthesis. The three values are stored only
in your browser's localStorage; the browser sends the deployment values only to
your deployment endpoint and the OpenAI key only to OpenAI's transcription API.
(The deployed flow's agents use the key configured on the deployment — the
browser key does transcription and nothing else.) See
ui/README.md for build/run.
Browser → deployment CORS is verified working (the API sends CORS headers). If a corporate proxy still blocks it,
client/ask.pyis the same loop with no browser rules.
uv sync
OPENAI_API_KEY=sk-... uv run kickoff # scripted 3-turn smoke session
The data layer (src/audio_quickstart/data.py) seeds deterministic synthetic
readings for five assets × 45 days. Swap connect()/the tool internals for your
warehouse or API to make this real — the agents, router, and session machinery
don't change.
src/audio_quickstart/
├── flow.py # AssistantFlow: router + handlers + @persist session state
├── agents.py # data agent + form agent (one LLM instance per agent)
├── tools.py # 3 data tools (SQLite) + 3 form tools; caching disabled
├── forms.py # form schemas, typed validation, session state machine
├── data.py # synthetic SQLite readings (the stubbed "warehouse")
└── main.py # local smoke entry point
client/ask.py # stdlib audio client (transcribe → kickoff → poll)
ui/ # Leptos (Rust/WASM) browser client
The UI is published at https://crewaiinc-fde.github.io/crewai-audio-quickstart/ — built locally, no CI:
./scripts/release-ui.sh
The script trunk-builds ui/ with the Pages subpath baked in and force-pushes
the snapshot to the gh-pages branch, which Pages serves (Settings → Pages →
Deploy from a branch → gh-pages / root). Everything runs client-side: users
paste their own deployment URL, bearer token, and (for the mic) OpenAI key,
stored only in the browser's localStorage.
Three tiers, all under tests/ (deps install with uv sync; Playwright
needs a one-time uv run playwright install firefox):
uv run pytest -m "not credentialed" # unit: no network, no creds, ~2s
uv run pytest -m credentialed # integration + e2e (see below)
uv run pytest # everything
Credentialed tests (real kickoffs against your deployment + Playwright
driving the published UI in Firefox) require a git-ignored .env at the
repo root:
CREWAI_DEPLOYMENT_URL=https://<your-deployment>.crewai.com
CREWAI_DEPLOYMENT_TOKEN=<bearer token from the deployment's AMP page>
OPENAI_API_KEY=sk-... # only for mic-related tests
Without it the suite stops with these same instructions. To run the e2e tier on the Chrome engine instead (mic negotiates webm/opus there vs. Firefox's ogg — both verified):
uv run playwright install chromium
uv run pytest -m credentialed -o addopts="" --browser chromium
Firefox is the default e2e browser deliberately — it has the strictest MediaRecorder
behavior (default container audio/ogg), so a green mic test there covers
the rest. The mic pipeline runs against Firefox's fake microphone, so no
audio hardware (or OpenAI spend) is needed.
Each release bumps the UI version (footer shows build vX.Y.Z) and all
assets are content-hashed, so a stale cached page is both visible and
mechanically distinct; GitHub Pages' ~10-minute index.html TTL is the only
residual staleness.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-09T22:03:57.270Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Crewaiinc Fde",
"href": "https://github.com/CrewAIInc-FDE/crewai-audio-quickstart",
"sourceUrl": "https://github.com/CrewAIInc-FDE/crewai-audio-quickstart",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T17:16:46.826Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T17:16:46.826Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-crewaiinc-fde-crewai-audio-quickstart/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to crewai-audio-quickstart and adjacent AI workflows.