secai is a Golang framework for Reasoning AI
Workflows,
implemented using a unique state machine which thrives in
complexity. It's a solid foundation for complex, proactive, and
long-lived AI Agents
with deep and structured
memory. Each bot ships with embedded devtools and several UIs. The execution flow is graph-based, which allows for
precise behavior modeling of agents, including interruptions, concurrency, and fault tolerance.
It's a sophisticated replacement for frameworks like LangGraph and offers deeply relational consensus of state.
This demo presents data collection, gen AI, offers, stories, workflows, dynamic short-term memory, planning with a DAG, story navigation, progress, and clockmoji.
This tech demo will show a "deepresearch" AI Agent as seen throughout the platform: SVG diagram, TUI debugger, Grafana, Jaeger, REPL, SQL, IDE, Bash scripts, and Prompt dumps.
Almost all the code is Free and Open Source, which guarantees free updates in the future.
secai differs from other AI agents / workflows frameworks in the way it treats AI prompts. Most frameworks
call each prompt an "agent", while secai treats prompts as simple DB queries with IoC (Inversion of Control).
Tool usage happens manually through typesafe params / results. This approach increases determinism, safety, and
overfall control. This multi-prompt workflow forms an actual bot / agent. This does not mean agents
can't be composed into larger groups, which happens through stateful dialog, state piping, and aRPC. The underlying
workflow engine asyncmachine-go doesn't depend on AI at all.
The flow graph, unlike in regular workflows, is not path-based - each node (state) can be activated anytime (same as
calling a function), and the edges between nodes are meant to resolve the state consensus. It's a directed
multigraph of states with a negotiation phase.
Development of "reasoning" AI workflows with deterministic results. It's easy to customize an agent after a delivery.
Creation of custom text interfaces for SSH, Web, and Mobile. Supports mouse tracking and drag-n-drop.
WebAssembly web apps without JavaScript, sharing the same Golang codebase as the backend.