How anpc849/ka-graph works
KaGraph is a LangGraph-compatible orchestration framework for stateful, message-aware agent workflows. A caller builds and compiles a graph, invokes it with messages, and graph execution dispatches nodes, routes conditional or parallel work, and can checkpoint state for inspection or resumption. Nodes can use Kaggle Benchmarks LLMs and prebuilt tools. Optional KaTrace captures runs for a web studio that stores and presents traces, LLM calls, and replay data. Relationships among unsampled studio pieces are limited to documented capabilities; the graph does not assume unshown frontend wiring.
Main entry points: state.py Graph API · main.py Trace API · api.ts Frontend API client · katrace.py Trace capture
Components 22
Graph orchestration
- Graph API
src/kagraph/graph/state.py - Node policies
src/kagraph/graph/_node.py - Run context
src/kagraph/runtime.py - Checkpoints
src/kagraph/checkpoint/base.py - Graph visualization
src/kagraph/graph/visualization.py
Agent building blocks
- Message model
src/kagraph/messages.py - Image content
src/kagraph/images.py - Prompt invocation
src/kagraph/prompts.py - LLM loader
src/kagraph/llms.py - Tool execution
src/kagraph/prebuilt/tool_node.py - Tool validation
src/kagraph/prebuilt/validation.py
Tracing and storage
- Trace capture
src/kagraph/tracing/katrace.py - Studio configuration
src/kagraph/_studio_config.py - Studio launcher
src/kagraph/studio.py
KaTrace Studio
- Trace API
src/kagraph/webapp/backend/main.py - Database access
src/kagraph/webapp/backend/database.py - Trace records
src/kagraph/webapp/backend/models.py - Frontend API client
src/kagraph/webapp/frontend/src/lib/api.ts - Trace browser
src/kagraph/webapp/frontend/src/app/traces/page.tsx - Trace inspection
src/kagraph/webapp/frontend/src/app/traces/[traceId]/page.tsx - Studio interface
src/kagraph/webapp/frontend/src/app/studio/page.tsx
Other components
- Graph author
Connections 21
- Graph author → Graph API: defines workflow
README.md - Graph API → Node policies: uses policies
src/kagraph/graph/state.py - Graph API → Run context: sets run context
src/kagraph/graph/state.py - Graph API → Checkpoints: loads and saves
src/kagraph/graph/state.py - Graph author → LLM loader: loads model
README.md - Graph author → Prompt invocation: invokes model
README.md - Prompt invocation → Message model: uses messages
src/kagraph/prompts.py - Message model → Image content: converts images
src/kagraph/messages.py - Graph API → Tool execution: runs node
- Tool validation → Tool execution: validates tools
src/kagraph/prebuilt/validation.py - Graph API → Trace capture: emits run events
- Trace capture → Studio configuration: resolves endpoint
src/kagraph/tracing/katrace.py - Trace capture → Trace API: sends trace data
src/kagraph/tracing/katrace.py - Studio launcher → Studio configuration: writes runtime config
src/kagraph/studio.py - Trace API → Database access: uses sessions
src/kagraph/webapp/backend/main.py - Trace API → Trace records: queries records
src/kagraph/webapp/backend/main.py - Frontend API client → Trace API: requests trace data
- Trace browser → Frontend API client: loads traces
- Trace inspection → Frontend API client: loads trace detail
- Studio interface → Frontend API client: uses API
- Graph author → Graph visualization: renders graph