A unified framework for building AI agents with low-code.
Project description
State-1: Unified AI Agent Framework
State-1 is an open-source Python framework for building powerful AI agents with a unified, low-code experience. It abstracts away the complexity of LLMs, web search, RAG, CoT, UI, actions, authentication, memory, and multi-agent orchestration—so you can build, extend, and run agents with a single package and simple commands.
Features
- Unified Agent API: One class, many capabilities—LLM, RAG, web search, CoT, actions, UI, and more.
- LLM Integration: OpenAI and OpenRouter support, with function calling and model selection.
- Web Search & RAG: DuckDuckGo search and document ingestion (txt, PDF, DOCX) with vector search.
- Chain-of-Thought (CoT): Step-by-step reasoning for more robust answers.
- Actions: Real-world actions (send email, fetch API) with OpenAI function calling.
- Authentication & Memory: User login/signup, session management, and persistent chat memory.
- Multi-Agent Orchestration: Parallel, sequential, voting, and manager/worker workflows.
- Extensible: Add your own actions, agents, and workflows easily.
Installation
$ pip install state1 .
Quick Start: Terminal Chat
Run the terminal chat interface:
$ terminal-chat
On first run, the following demo agents are auto-created and ready to use:
1. ActionDemo Agent
- Description: Can send emails and fetch data from APIs using natural language.
- Actions:
SendEmailAction,FetchAPIAction(pre-registered) - Example: "Send an email to alice@email.com with subject Hello and body Hi Alice" or "What is the weather in London?"
- Setup: Edit the SMTP and API config in
state1/terminal_chat.pyor via the agent file inagents/.
2. RAG Agent
- Description: Retrieval-Augmented Generation agent. Ingests documents (txt, PDF, DOCX) and answers questions using them.
- Usage: Add documents with
agent.add_document('path/to/file')in Python, or extend the agent in code. - Example: "What does the example.pdf say about climate change?"
3. AuthTest Agent
- Description: Requires user login/signup (email & password). Remembers chat history per user.
- Usage: On first chat, you'll be prompted to log in or sign up.
4. Orchestrator Demo
- Description: Multi-agent orchestration (manager/worker workflow). Collaborates with Researcher, Summarizer, FactChecker, Analyser, and Manager agents.
- Usage: Switch to this agent and ask any question to see multi-agent collaboration.
Switching Between Agents
- List all agents:
/list - Switch to an agent:
(You can use the first few characters of the agent ID.)/switch <agent_id>
Creating & Extending Agents
- Create a new agent interactively:
/new - Extend agents in Python:
- Add actions:
agent.register_action(MyCustomAction()) - Ingest documents:
agent.add_document('myfile.pdf') - Add new workflows or orchestration: see
state1/orchestrator.py
- Add actions:
Configuration
- API Keys: Replace
YOUR_OPENAI_API_KEYin the agent configs or set theOPENAI_API_KEYenvironment variable. - SMTP/Email: Use an app password and correct SMTP server/port for email actions.
- APIs: Add or edit API configs in the agent's
apisdictionary.
Advanced: Multi-Agent Orchestration
- The Orchestrator agent supports
parallel,sequential,voting, andmanagerworkflows. - To try different workflows, edit the orchestrator agent config in
agents/orchestrator-demo.jsonor in code.
Contributing
Pull requests, issues, and feature suggestions are welcome! See CONTRIBUTING.md (if available) or open an issue on GitHub.
License
MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file state1-0.6-py3-none-any.whl.
File metadata
- Download URL: state1-0.6-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f860eaccc2921233b6e6800a62bba8b4eb1a7ab3fed7714ed024bdb1fcb118fd
|
|
| MD5 |
6cb5d4d19e38729f2e0f3ddd26aeba67
|
|
| BLAKE2b-256 |
f28bcf2c2abda0a5e99dec994176251bd438b0996bc73f59585797d9b8d98329
|