{"id":47803632,"url":"https://github.com/henomis/phero","last_synced_at":"2026-04-03T17:19:42.658Z","repository":{"id":344399079,"uuid":"1181616428","full_name":"henomis/phero","owner":"henomis","description":"A modern Go framework for building multi-agent AI systems.","archived":false,"fork":false,"pushed_at":"2026-03-24T21:30:48.000Z","size":2778,"stargazers_count":29,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-26T02:57:52.715Z","etag":null,"topics":["agent","ai","framework","go","mcp","rag"],"latest_commit_sha":null,"homepage":"http://simonevellei.com/phero/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henomis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-14T11:43:38.000Z","updated_at":"2026-03-25T15:41:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/henomis/phero","commit_stats":null,"previous_names":["henomis/phero"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/henomis/phero","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henomis%2Fphero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henomis%2Fphero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henomis%2Fphero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henomis%2Fphero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henomis","download_url":"https://codeload.github.com/henomis/phero/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henomis%2Fphero/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31365572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:13:05.644Z","status":"ssl_error","status_checked_at":"2026-04-03T17:13:04.413Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","framework","go","mcp","rag"],"created_at":"2026-04-03T17:19:42.040Z","updated_at":"2026-04-03T17:19:42.648Z","avatar_url":"https://github.com/henomis.png","language":"Go","readme":"![Phero](./web/images/phero-logo.png)\n\n# 🐜 Phero \n\n**The chemical language of AI agents.**\n\nPhero is a modern Go framework for building multi-agent AI systems. Like ants in a colony, agents in Phero cooperate, communicate, and coordinate toward shared goals, each with specialized roles, working together through a clean, composable architecture.\n\n[![Build Status](https://github.com/henomis/phero/actions/workflows/checks.yml/badge.svg)](https://github.com/henomis/phero/actions/workflows/checks.yml) [![GoDoc](https://godoc.org/github.com/henomis/phero?status.svg)](https://godoc.org/github.com/henomis/phero) [![Go Report Card](https://goreportcard.com/badge/github.com/henomis/phero)](https://goreportcard.com/report/github.com/henomis/phero) [![GitHub release](https://img.shields.io/github/release/henomis/phero.svg)](https://github.com/henomis/phero/releases)\n\n\n\n## Why Phero?\n\n- **🎯 Purpose-built for agents** Not an LLM wrapper; a framework for orchestrating cooperative agent systems\n- **🧩 Composable primitives** Small, focused packages that solve specific problems\n- **🔧 Tool-first design** Built-in support for function tools, skills, RAG, and MCP\n- **🎨 Developer-friendly** Clean APIs, opt-in tracing, OpenAI-compatible + Anthropic support\n- **🪶 Lightweight** No heavy dependencies; just Go and your choice of LLM provider\n\n\n\n## Features\n\n### Core Capabilities\n\n- **🤝 Agent orchestration** Multi-agent workflows with role specialization and coordination\n- **🧩 LLM abstraction** Work with OpenAI-compatible endpoints (OpenAI, Ollama, etc.) and Anthropic\n- **🛠️ Function tools** Expose Go functions as callable tools with automatic JSON Schema generation\n- **📚 RAG (Retrieval-Augmented Generation)** Built-in vector storage and semantic search\n- **🧠 Skills system** Define reusable agent capabilities in `SKILL.md` files\n- **🔌 MCP support** Integrate Model Context Protocol servers as agent tools\n- **🧾 Memory management** Conversational context storage for agents\n- **🔍 Tracing** Observe agent, LLM, tool, and memory lifecycle events with colorized terminal output\n- **✂️ Text splitting** Document chunking for RAG workflows\n- **🧬 Embeddings** Semantic search capabilities via OpenAI embeddings\n- **🗄️ Vector stores** Vector database integration\n\n\n\n### Requirements\n\n- Go 1.25.5 or later\n- An LLM provider (OpenAI / Ollama / OpenAI-compatible endpoint, or Anthropic)\n\n\n\n## Quick Start\n\nStart with the **[Simple Agent](examples/simple-agent/)** example to learn the basics in ~100 lines of code.\n\nThen try:\n- **[Conversational Agent](examples/conversational-agent/)** a multi-turn REPL chatbot with short-term memory\n- **[Long-Term Memory](examples/long-term-memory/)** semantic (RAG) memory backed by Qdrant\n\nThen explore the **[examples/](examples/)** directory for more advanced patterns:\n- Multi-agent workflows\n- RAG chatbots\n- Skills integration\n- MCP server connections\n\nSome examples require extra services (e.g. Qdrant for vector search).\n\n\n\n## Architecture\n\nPhero is organized into focused packages, each solving a specific problem:\n\n### 🤖 Agent Layer\n\n- **`agent`** Core orchestration for LLM-based agents with tool execution and chat loops\n- **`memory`** Conversational context management for multi-turn interactions (in-process, file-backed, RAG-backed, or PostgreSQL-backed)\n\n### 💬 LLM Layer\n\n- **`llm`** Clean LLM interface with function tool support and JSON Schema utilities\n- **`llm/openai`** OpenAI-compatible client (works with OpenAI, Ollama, and compatible endpoints)\n- **`llm/anthropic`** Anthropic API client\n\n### 🧠 Knowledge Layer\n\n- **`embedding`** Embedding interface for semantic operations\n- **`embedding/openai`** OpenAI embeddings implementation\n- **`vectorstore`** Vector storage interface for similarity search\n- **`vectorstore/qdrant`** Qdrant vector database integration\n- **`vectorstore/psql`** PostgreSQL + pgvector integration\n- **`textsplitter`** Document chunking for RAG workflows\n- **`rag`** Complete RAG pipeline combining embeddings and vector stores\n\n### 🔧 Tools \u0026 Integration\n\n- **`skill`** Parse SKILL.md files and expose them as agent capabilities\n- **`mcp`** Model Context Protocol adapter for external tool integration\n- **`trace`** Typed observability hooks plus a human-readable text tracer for agent and LLM activity\n- **`tool/file`** File viewing and editing helpers (`view`, `create_file`, `str_replace`)\n- **`tool/bash`** Bash command execution\n- **`tool/human`** Human-in-the-loop input collection\n\n\n\n## Examples\n\nComprehensive examples are included in the [`examples/`](examples/) directory:\n\n| Example | Description |\n|---|---|\n| [Simple Agent](examples/simple-agent/) | **Start here!** Minimal example showing one agent with one custom tool perfect for learning the basics |\n| [Conversational Agent](examples/conversational-agent/) | REPL-style chatbot with short-term conversational memory and a simple built-in tool |\n| [Long-Term Memory](examples/long-term-memory/) | REPL-style chatbot with semantic long-term memory (RAG) backed by Qdrant |\n| [Debate Committee](examples/debate-committee/) | Multi-agent architecture where committee members debate independently and a judge synthesizes the final decision |\n| [Multi-Agent Workflow](examples/multi-agent-workflow/) | Classic Plan → Execute → Analyze → Critique pattern with specialized agent roles |\n| [RAG Chatbot](examples/rag-chatbot/) | Terminal chatbot with semantic search over local documents using Qdrant |\n| [Skill](examples/skills/) | Discover SKILL.md files and expose them as callable agent tools |\n| [MCP Integration](examples/mcp/) | Run an MCP server as a subprocess and expose its tools to agents |\n| [Supervisor Blackboard](examples/supervisor-blackboard/) | Supervisor-worker pattern with a shared blackboard for coordination |\n| [Tracing](examples/tracing/) | Attach a colorized tracer to an agent and inspect LLM requests, tool calls, and memory events in real time |\n\n\n\n## Design Philosophy\n\nPhero embraces several core principles:\n\n1. **Composability over monoliths** Each package does one thing well\n2. **Interfaces over implementations** Swap LLMs, vector stores, or embeddings easily\n3. **Explicit over implicit** No hidden magic; clear control flow\n4. **Tools are first-class** Function tools are the primary integration point\n5. **Developer experience matters** Clean APIs, helpful tracing, good error messages\n\n\n\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues, feature requests, or pull requests.\n\n\n\n## License\n\nThis project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.\n\n\n\n## Acknowledgments\n\nBuilt with ❤️ by [Simone Vellei](https://github.com/henomis).\n\nInspired by the collaborative intelligence of ant colonies where independent agents work together toward shared goals, recognizing one another and coordinating through clear protocols.\n\n**The ant is not just a mascot. It is the philosophy.** 🐜\n\n\n\n## Links\n\n- **Documentation**: [pkg.go.dev/github.com/henomis/phero](https://pkg.go.dev/github.com/henomis/phero)\n- **Issues**: [github.com/henomis/phero/issues](https://github.com/henomis/phero/issues)\n- **Discussions**: [github.com/henomis/phero/discussions](https://github.com/henomis/phero/discussions)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenomis%2Fphero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenomis%2Fphero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenomis%2Fphero/lists"}