Cynia Agents is a lightweight framework for running generative agents through a Streamlit interface.
Generation logic lives in installable components which can be added or removed without modifying the UI.
The framework provides unified LLM, configuration, and artifact management, allowing agent developers to focus on building components that generate content.
The repository ships with only a simple example component. Complex generators such as the Bukkit plugin agent can be distributed separately and dropped into the components
folder.
- Install the Python dependencies:
pip install -r requirements.txt
- Run the UI:
The application will create a
python -m streamlit run web.py
.env
file from.env.example
if it does not exist. - Configure your API keys and choose an LLM provider from the Configuration Center page in the sidebar.
- Download a component and place it in the
components
folder. Use the Component Center to enable or disable installed components. - Browse generated files in the Artifact Center.
A component is a Python module placed inside the components/
directory. Here's a minimal example of a CyniaAgents component.
from component_base import BaseComponent
class MyComponent(BaseComponent):
name = "My Generator"
description = "Does something amazing"
# Declare any additional packages your component depends on
requirements = ["pandas"]
def render(self):
import streamlit as st
self.logger("Rendering my component")
st.write("Hello from my component")
See COMPONENT_DEVELOPMENT.md for information on building your own generators.
Components can be a single Python file or a folder containing multiple files. Single-file components keep their dependencies in a requirements
list while multi-file components include a requirements.txt
file.
Licensed under the Apache 2.0 License.