Reading the repo
Opening the box…
Reading the repo
Opening the box…
Assembly instructions
The self-driving agent platform
GitHub didn't answer, so this is the saved copy from 14 h ago
Will it work on macOS?
CONTRIBUTING.mdAgno is an open-source project and we welcome contributions.
Please follow the fork and pull request workflow:
To maintain a clear and organized project history, please adhere to the following guidelines when submitting Pull Requests:
[feat] Add user authentication[feat], [fix], [cookbook], [test], [refactor], [chore], [style], [revert], [release].fixes #<issue_number>, closes #<issue_number>, or resolves #<issue_number>.
This PR fixes #42 by implementing the new login flow.ready label.ready, are closed automatically, and only a maintainer can reopen them. Once the issue is marked ready, comment on the closed PR and a maintainer will review it for reopening. Don't delete or force-push the branch in the meantime, otherwise it can't be reopened.These guidelines are enforced automatically by our PR Lint workflow.
uv installed by running uv --version.
uv installed, you can skip this step.uv installed, you can install it by running pip install uv../scripts/dev_setup.sh..\scripts\dev_setup.bat..venv virtual environment in the current directory.agno package in editable mode.source .venv/bin/activate.venv\Scripts\activateFrom here on you have to use
uv pip installto install missing packages
On Unix, dev_setup.sh installs local editable agnoctl[dev] and agno[demo]
into .venv, including development tools and demo dependencies for cookbook work.
Use ./scripts/demo_setup.sh for a separate .venvs/demo environment with the
same dependencies, then activate it with source .venvs/demo/bin/activate.
Both scripts use Python 3.12 and recreate only their target environment on each
run; deactivate any active environment first. Individual cookbooks may require
additional dependencies, credentials, or services.
Ensure your code meets our quality standards by running the appropriate formatting and validation script before submitting a pull request:
./scripts/format.sh./scripts/validate.sh.\scripts\format.bat.\scripts\validate.batThese scripts will perform code formatting with ruff and static type checks with mypy.
Before submitting a pull request, ensure all tests pass locally:
Do the development setup above.
Run the test suite ./scripts/test.sh
Run specific test files or test cases: pytest ./libs/agno/tests/unit/utils/test_string.py or whatever file you want to test.
Make sure all tests pass before submitting your pull request. If you add new features, include appropriate test coverage.
libs/agno/agno/vectordb for the new vector database.VectorDb interface
libs/agno/agno/vectordb/<your_db>/<your_db>.py file.VectorDb interface is defined in libs/agno/agno/vectordb/base.pyVectorDb Class in libs/agno/agno/vectordb/<your_db>/__init__.py.libs/agno/agno/vectordb/pgvector/pgvector file for an example.VectorDb under cookbook/07_knowledge/09_archive/vector_dbs/<your_db>.
cookbook/07_knowledge/09_archive/vector_dbs/pgvector_db for an example../scripts/format.sh and ./scripts/validate.sh.libs/agno/agno/models for the new Model provider.OpenAILike Class from libs/agno/agno/models/openai/like.py.libs/agno/agno/models/<your_model>/<your_model>.py file.libs/agno/agno/models/<your_model>/__init__.py file.agno/models/together/together.py file for an example.agno/models/anthropic/claude.py or agno/models/cohere/chat.py for inspiration.libs/agno/agno/models/utils.py:
_PROVIDERS table, keyed by a stable provider key, with the value
(module, class_name, default_name, default_provider). default_name and default_provider
are your class's default name and (lowercased) provider attributes. This single table is
the source of truth: the construction registry (MODEL_PROVIDER_CLASSES) and the
(provider, name) resolution indices are all derived from it, so you do not edit any other
map. Use a lowercase, hyphenated key, typically matching your module directory (e.g. "meta"
for models/meta/, "openai-chat" for the chat variant).
"yourprovider": ("agno.models.yourprovider", "YourModel", "YourModel", "yourprovider"),
model="yourprovider:model-name") and rebuilding a model
saved to the database. If your class shares a display provider string with another class
(e.g. an OpenAI-compatible provider reporting "openai"), the serialized name you list is
what tells them apart; if its display string differs from the key (e.g. "inceptionlabs" vs
key "inception"), the alias is derived automatically. Only the default key for an ambiguous
display string (e.g. "azure" -> AzureOpenAI) lives in _AMBIGUOUS_PROVIDER_DEFAULTS.test_every_model_subclass_is_registered statically discovers every
concrete Model subclass and fails if one is missing. If your class is an abstract base rather
than a user-selectable provider, add it to that test's allowlist instead.cookbook/90_models/<your_model>.
agno/cookbook/90_models/aws/claude for an example../scripts/format.sh and ./scripts/validate.sh.libs/agno/agno/tools for the new Tool.Toolkit Class from libs/agno/agno/tools/toolkit.py.
libs/agno/agno/tools/<your_tool>.py.agno/tools/youtube.py file for an example.agno/tools/serpapi.py as well.cookbook/91_tools/<your_tool>.
agno/cookbook/91_tools/youtube_tools.py for an example../scripts/format.sh and ./scripts/validate.sh.Message us on Discord if you have any questions or need help with credits.
This project is licensed under the terms of the Apache-2.0 license
Needs Git: xcode-select --install
git clone https://github.com/agno-agi/agno.git cd agno
We couldn't spot a known stack. The AI guide below can read the code for you.
Agno is built for coding agents. Start with a pre-built template and give this prompt to your coding agent:
Help me set up my agent platform and build my first agent.
Clone https://github.com/agno-agi/agentos-railway into a folder called agent-platform, cd into it, and follow .agents/skills/setup-platform/SKILL.md.
The setup skill runs your platform locally and helps you build your first agent. You get:
Connect your platform to os.agno.com to start using it. Build agents with code, use the no-code UI, or chat with the OS Manager.
Start improving your agents and platform with the /improve skill. Keep useful changes and regression tests so each round builds on the last. When you're ready, configure scheduled improvement runs in a sandbox that return pull requests for review.
No reports for macOS yet.
GitManual AI Agent reads the 8 key files and writes a step-by-step guide for macOS. Once written, it's saved for everyone.