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
Cadence — a CopilotKit x CrewAI competitive-intelligence demo on ag-ui-crewai 0.3.0 CopilotKit × CrewAI A competitive-intelligence brief workspace built on $1. Ask for a brief on a competitor. A four-agent CrewAI crew researches it, an analyst scores it, **the run pauses for your approval**, then an illustrator draws the comparison and a writer fills the brief in section by section — all streaming over AG-UI into a CopilotKit UI. The point of the demo is that none of those capabilities are bolted on Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
agui-crewai-demo 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
Cadence — a CopilotKit x CrewAI competitive-intelligence demo on ag-ui-crewai 0.3.0 CopilotKit × CrewAI A competitive-intelligence brief workspace built on $1. Ask for a brief on a competitor. A four-agent CrewAI crew researches it, an analyst scores it, **the run pauses for your approval**, then an illustrator draws the comparison and a writer fills the brief in section by section — all streaming over AG-UI into a CopilotKit UI. The point of the demo is that none of those capabilities are bolted on
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
Jerelvelarde
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
Jerelvelarde
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
bash
make install cp agent/.env.example agent/.env # add your OPENAI_API_KEY make dev # agent :8008, web :3000
bash
make verify
bash
make verify-multimodal # same brief, prompt carries an attached image make capabilities # what this install says it supports
bash
make record # both servers must be up make record-light # the same run, filmed in light mode
json
"humanInTheLoop": { "supported": true, "mechanism": "frontend-tool-calls", "interrupts": false }text
agent/ Python 3.12 · uv · FastAPI · ag-ui-crewai · crewai
cadence/
flow.py the brief pipeline
conversational.py Conversational Flows endpoint
crew.py Researcher → Analyst → Illustrator → Writer
visuals.py corpus → chart data (the agent never supplies a figure)
tools.py corpus-backed backend tools
parsing.py crew text → typed state (unit-tested)
state.py BriefState
server.py FastAPI + endpoint registration
corpus/ committed competitor data
scripts/ verify_stream.py
web/ Next.js 16 · CopilotKit 1.67.1 · Tailwind 4
app/
components/
workspace.tsx layout, interrupt, tool renderer
panels.tsx hero, brand bar, inline pipeline, scorecard, brief
agent-tasks.tsx attribution store → one card per agent taskedFull documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Cadence — a CopilotKit x CrewAI competitive-intelligence demo on ag-ui-crewai 0.3.0 CopilotKit × CrewAI A competitive-intelligence brief workspace built on $1. Ask for a brief on a competitor. A four-agent CrewAI crew researches it, an analyst scores it, **the run pauses for your approval**, then an illustrator draws the comparison and a writer fills the brief in section by section — all streaming over AG-UI into a CopilotKit UI. The point of the demo is that none of those capabilities are bolted on
A competitive-intelligence brief workspace built on ag-ui-crewai 0.3.0.
Ask for a brief on a competitor. A four-agent CrewAI crew researches it, an analyst scores it, the run pauses for your approval, then an illustrator draws the comparison and a writer fills the brief in section by section — all streaming over AG-UI into a CopilotKit UI.
The point of the demo is that none of those capabilities are bolted on to show them off. Each one is there because the product needs it, and each happens to be one of the things 0.3.0 added.
A single unedited run — 75 seconds, no captions, nothing sped up. The long stretch in the middle is the crew actually working.
The frame above is the moment the run pauses — click it to play. Also as
.webm,
and in dark: .mp4 ·
.webm.
All four are on the demo-footage release.
| | |
|---|---|
| 00:06 | Prompt submitted |
| 00:10 | Reasoning stream, before any tool runs |
| 00:11 | Researcher tasked — tool calls stream into the chat |
| 00:25 | Analyst scoring — MCP tool calls attributed on the crew panel |
| 00:27 | Run pauses — approval required |
| 00:35 | Approved — Illustrator draws, then the brief fills in |
| 01:03 | Brief written, 5/5 sections |
make install
cp agent/.env.example agent/.env # add your OPENAI_API_KEY
make dev # agent :8008, web :3000
Then ask: “brief me on Pulsegrid's pricing vs ours”.
| Beat in the demo | Capability | Where |
|---|---|---|
| Model thinks before acting | reasoning stream | flow.py::intake |
| Competitor name appears before the call finishes | predictive state | copilotkit_predict_state |
| Researcher → Analyst → Illustrator → Writer, each attributed | crew-inside-flow attribution | crew.py |
| Corpus tools run server-side, results render | backend tool rendering | tools.py |
| Scorecard as a rich component | generative UI / A2UI | flow.py::present |
| Run genuinely pauses, then resumes | interrupt / resume | flow.py::approve_outline |
| Brief opens with a chart the agent chose | agent-directed, data-backed generative UI | visuals.py |
| Brief fills in section by section | shared-state streaming | flow.py::_write_sections |
| Analyst checks shipping velocity over MCP | MCP tool visibility | mcp_server.py |
| Attach a pricing screenshot to the ask | multimodal input | make verify-multimodal |
| Per-turn routed Q&A | Conversational Flows | conversational.py |
MCP is a real stdio server (cadence/mcp_server.py), spawned by CrewAI and
attached to the Analyst via Agent(mcps=[...]). It produces genuine
mcp_connection_* / mcp_tool_execution_started events and a real
shipping_velocity tool call — not a stand-in. Set CADENCE_DISABLE_MCP=1 to
drop the subprocess.
Two endpoints, on purpose:
/brief — the pipeline above, a regular Flow./concierge — CrewAI Conversational Flows. Opting a flow into
conversational = True installs CrewAI's own conversational graph in place of
a hand-authored one, so it cannot host the brief pipeline. It gets its own
endpoint where it is the actual subject rather than a flag on something else.Two states, and the second one only arrives when it has earned its place.
Idle is a hero: one headline, one line of copy, the composer, three things to try. Working keeps the run in the conversation — reasoning, a card per agent as it is tasked, the pipeline itself as an inline component, and the approval pause rendered where the agent asked the question. The canvas stays closed until the Analyst has actually scored something; a panel of skeletons during a 20-second research phase reads as a layout that failed to load, not as anticipation.
Surface is #010507, CopilotKit's approved dark brand context. Each accent has
exactly one job, so a colour on screen means something: --agent lilac is the
agent's own voice, and the scorecard's red/orange/mint is threat level, never
decoration.
There is a light mode too — the toggle sits in the brand bar, and the choice
persists. It is a second set of tokens, not a filter: no component knows a theme
exists. Two things could not simply invert. The elevation washes were translucent
whites lifting a card off near-black, which does nothing on white, so light uses
plain white cards on a faintly tinted page and lets the border separate them. And
the accents had to be re-tuned rather than reused: on white, dark-mode mint sits
at 1.4:1 and lilac at 1.7:1, which is not a colour any more. Each keeps its hue
and its one job but is darkened to carry it — --agent becomes #6430AB, the
violet already in the CopilotKit kite, so the agent's voice stays a brand colour.
Every accent clears 4.5:1 against the page, because these set pill text and not
just the scorecard bars.
Both marks are the shipped assets rather than traced approximations — the CopilotKit lockup with its wordmark reversed for a near-black surface, and the crewAI mark as crewAI publishes it (they serve one file for both light and dark).
make verify
Drives a full brief and asserts the AG-UI stream really carries each capability —
reasoning events, TOOL_CALL_RESULT, repeated STATE_SNAPSHOT, a resumable
interrupt on RUN_FINISHED.outcome, and a successful resume. Prints a checklist
and writes the raw stream to docs/evidence/.
make verify-multimodal # same brief, prompt carries an attached image
make capabilities # what this install says it supports
make record # both servers must be up
make record-light # the same run, filmed in light mode
Drives the real app in a headless browser and captures 1080p footage to
docs/video/ as .webm plus an H.264 .mp4 (faststart, so it plays inline on
X, LinkedIn and Slack). Deliberately clean footage — no burned-in captions
or titles, so it can be narrated or titled in post.
The two cuts write different basenames — agui-crewai-demo and
agui-crewai-demo-light — so neither overwrites the other. Light mode is set through
localStorage before the first page script runs, otherwise the recording would
open on a dark frame and then flip.
It prints a chapter list with timestamps, which is what you want for trimming: the crew phase is the long stretch, and the beats either side of it are where the interesting frames are.
What verify-multimodal does and does not prove: it proves the image part
travels the whole path — AG-UI ImageInputContent → the bridge's image_url
conversion → the provider — because the provider validates the bytes (a
malformed image fails the run outright) and the full brief still completes. It
does not prove the model read anything meaningful, since the generated test
image is a solid colour. For that, drop a real pricing screenshot into the chat.
agent/corpus/ holds committed competitor data — pricing pages, docs, reviews,
changelogs — and every tool reads only from there. No network research, so runs
are byte-identical and recordings are repeatable.
The hero chart holds that line under a fourth agent. The Illustrator chooses
which comparison to draw and writes the sentence framing it; every plotted
figure is built from the corpus by visuals.py. So the prose varies run to run
and the chart does not, and a figure can never contradict the real one printed
beside it. OPENAI_API_KEY is the only
secret.
Competitors are fictional: Beacon Analytics (enterprise-first), Pulsegrid (bottom-up, free tier), Telemetryx (consolidation play), all compared against our own Northstar.
Probed, not assumed: ag-ui-crewai==0.3.0, crewai==1.15.15, Python 3.12,
CopilotKit 1.67.1, Next.js 16 / React 19. The AG-UI dojo runs this same
CopilotKit set at 1.55.1 — the documented fallback if A2UI or interrupt wiring
misbehaves at latest.
get_capabilities() reports:
"humanInTheLoop": { "supported": true, "mechanism": "frontend-tool-calls", "interrupts": false }
That interrupts: false is a hardcoded literal. The same module computes
_human_feedback_available = True, and the package ships a working
AGUIFeedbackProvider driving CrewAI's @human_feedback pause/resume — which is
exactly what this demo runs on. Interrupts work; the capability blob
under-reports them, so anyone probing capabilities programmatically would
conclude CrewAI lacks the interrupt support 0.3.0 announces.
Details and reproduction in docs/spec.md.
agent/ Python 3.12 · uv · FastAPI · ag-ui-crewai · crewai
cadence/
flow.py the brief pipeline
conversational.py Conversational Flows endpoint
crew.py Researcher → Analyst → Illustrator → Writer
visuals.py corpus → chart data (the agent never supplies a figure)
tools.py corpus-backed backend tools
parsing.py crew text → typed state (unit-tested)
state.py BriefState
server.py FastAPI + endpoint registration
corpus/ committed competitor data
scripts/ verify_stream.py
web/ Next.js 16 · CopilotKit 1.67.1 · Tailwind 4
app/
components/
workspace.tsx layout, interrupt, tool renderer
panels.tsx hero, brand bar, inline pipeline, scorecard, brief
agent-tasks.tsx attribution store → one card per agent tasked
MIT. The CopilotKit and crewAI logos are their owners' trademarks and are included for attribution in a joint demo, not licensed under the MIT grant.
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-jerelvelarde-agui-crewai-demo/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/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-jerelvelarde-agui-crewai-demo/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/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-10T01:47:28.526Z"
}
},
"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": "Jerelvelarde",
"href": "https://github.com/jerelvelarde/agui-crewai-demo",
"sourceUrl": "https://github.com/jerelvelarde/agui-crewai-demo",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T03:20:46.092Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T03:20:46.092Z",
"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-jerelvelarde-agui-crewai-demo/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jerelvelarde-agui-crewai-demo/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 agui-crewai-demo and adjacent AI workflows.