No description
- Rust 100%
| docs | ||
| nyati-protocol | ||
| nyatibara-agent | ||
| nyatibara-auth | ||
| nyatibara-core | ||
| nyatibara-memory | ||
| nyatibara-providers | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
nyatibara
nyatibara is a low-level runtime kit for agentic products.
It is intentionally not a product framework. It owns:
- provider and auth adapters
- branch-aware conversation threads and checkpoints
- memory architecture and storage interfaces
- compaction/context-engineering primitives
- minimal tool/runtime event contracts
- external-event and tool-result ingest helpers
- generic agent sessions, tasks, artifacts, handoffs, and pending-input primitives
- dynamic agent registration and runtime spawning
Credential storage is intentionally not part of the core framework contract. Products pass materialized credentials in through env vars, explicit config, or their own secret-management layer.
It intentionally does not own:
- coding CLI UX
- team dashboards
- product-specific session views
- operator-facing web/TUI layouts
- user-facing chat transport protocols
Design goals
nyatibara is scoped to support multiple products without pulling product semantics into the core:
nyaticode: coding CLI / TUI / web shellnyatipaw: OpenClaw-style assistant integration- SNS bot libraries
What is in the workspace
nyati-protocol- shared provider, event, message, branch, checkpoint, session, task, and memory facet types
nyatibara-core- branch-aware conversation graph, generic agent runtime, and compaction primitives
nyatibara-auth- optional Codex-oriented OAuth/token helpers for product layers
nyatibara-providers- provider routing, capability descriptors, and OpenAI-compatible/Codex adapters
nyatibara-memory- Mastra-style memory facets with a
libsql-first backend
- Mastra-style memory facets with a
Current boundary
The core model is:
- conversation tree
- branch from checkpoint
- linear replay inside a branch
- exact history stays recoverable
- compacted contexts are derived views
- agent sessions are generic and product-neutral
- agents can be registered or created dynamically at runtime
- pending input and task state are first-class
- external events and tool results can be materialized back into transcript history
The stream split is:
nyatibara: domain/provider/runtime eventsnyatikit: user-facing timeline transport and UI event protocol- products: layout, interaction, and product-specific commands
The memory model is:
- history memory
- working memory
- observational memory
- semantic memory
Why this shape
This project is informed by:
- LangGraph's durable thread/checkpoint model
- Mastra's memory layering
- OpenAI Agents SDK's session/handoff abstractions
- pi shell's minimal-core philosophy
- Microsoft Agent Framework's workflow/session split
- Google ADK's event-first runtime
- A2A's task/artifact vocabulary
Start with: