Buf Registry | Go SDK | Python SDK | JavaScript SDK | GitHub Actions | Documentation
The Directory (dir) allows publication, exchange, and discovery of information about records over a distributed peer-to-peer network. It leverages OASF to describe AI agents and provides a set of APIs and tools to store, publish, and discover records across the network by their attributes and constraints. Directory also leverages CSIT for continuous system integration and testing across different versions, environments, and features.
ADS enables several key capabilities for the agentic AI ecosystem:
- Capability-Based Discovery: Agents publish structured metadata describing their functional characteristics as described by the OASF. The system organizes this information using hierarchical taxonomies, enabling efficient matching of capabilities to requirements.
- Verifiable Claims: While agent capabilities are often subjectively evaluated, ADS provides cryptographic mechanisms for data integrity and provenance tracking. This allows users to make informed decisions about agent selection.
- Semantic Linkage: Components can be securely linked to create various relationships like version histories for evolutionary development, collaborative partnerships where complementary skills solve complex problems, and dependency chains for composite agent workflows.
- Distributed Architecture: Built on proven distributed systems principles, ADS uses content-addressing for global uniqueness and implements distributed hash tables (DHT) for scalable content discovery and synchronization across decentralized networks.
- Tooling and Integration: Provides a suite of command-line tools, SDKs, and APIs to facilitate interaction with the system, enabling developers to manage Directory records and node operations programmatically.
- Security and Trust: Incorporates robust security measures including cryptographic signing, verification of claims, secure communication protocols, and access controls to ensure the integrity and authenticity of Directory records and nodes.
Check the Documentation for a full walkthrough of all the Directory features.
- proto - gRPC specification for data models and services
- api - API models for tools and packages
- cli - command line client for interacting with system components
- client - client SDK for development and API workflows
- e2e - end-to-end testing framework
- docs - research details and documentation around the project
- server - API services to manage storage, routing, and networking operations
- sdk - client SDK implementations in different languages for development
To build the project and work with the code, you will need the following installed in your system
Make sure Docker is installed with Buildx.
Use Taskfile
for all related development operations such as testing, validating, deploying, and working with the project.
git clone https://github.com/agntcy/dir
cd dir
This step will fetch all project dependencies and prepare the environment for development.
task deps
Make the changes to the source code and rebuild for later testing.
task build
The local testing pipeline relies on Golang to perform unit tests, and Docker to perform E2E tests in an isolated Kubernetes environment using Kind.
task test:unit
task test:e2e
All artifacts are tagged using the Semantic Versioning and follow the checked-out source code tags. It is not advised to use artifacts with mismatched versions.
All container images are distributed via GitHub Packages.
docker pull ghcr.io/agntcy/dir-ctl:v0.3.0
docker pull ghcr.io/agntcy/dir-apiserver:v0.3.0
All helm charts are distributed as OCI artifacts via GitHub Packages.
helm pull oci://ghcr.io/agntcy/dir/helm-charts/dir --version v0.3.0
All release binaries are distributed via GitHub Releases and Homebrew agntcy/dir
tap.
-
Golang - pkg.go.dev/github.com/agntcy/dir/client - github.com/agntcy/dir/client
-
Python - pypi.org/agntcy-dir - github.com/agntcy/dir/sdk/dir-py
-
JavaScript - npmjs.com/agntcy-dir - github.com/agntcy/dir/sdk/dir-js
Directory API services can be deployed either using the Taskfile
or directly via the released Helm chart.
This will start the necessary components such as storage and API services.
task server:start
This will deploy Directory services into an existing Kubernetes cluster.
helm pull oci://ghcr.io/agntcy/dir/helm-charts/dir --version v0.3.0
helm upgrade --install dir oci://ghcr.io/agntcy/dir/helm-charts/dir --version v0.3.0
This will deploy Directory services using Docker Compose:
cd install/docker
docker compose up -d
Distributed under Apache 2.0 License. See LICENSE for more information. Copyright AGNTCY Contributors (https://github.com/agntcy)