{"id":15174048,"url":"https://github.com/synaptiai/uim-protocol","last_synced_at":"2025-10-26T07:31:12.769Z","repository":{"id":257480964,"uuid":"848732456","full_name":"danielbentes/uim-protocol","owner":"danielbentes","description":"The Unified Intent Mediator (UIM) protocol standardizes interactions between AI agents and web services, streamlining how intents are discovered, executed, and managed. It provides a secure and efficient framework, simplifying integration and enabling scalable, autonomous AI-driven applications and workflows.","archived":false,"fork":false,"pushed_at":"2024-09-30T19:02:46.000Z","size":9149,"stargazers_count":26,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-02-05T06:49:20.007Z","etag":null,"topics":["actions","ai","ai-agents","aiagents","api","framework","odrl","protocols","standards","tools","webservices"],"latest_commit_sha":null,"homepage":"https://uimprotocol.com","language":"Python","has_issues":false,"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/danielbentes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2024-08-28T09:58:50.000Z","updated_at":"2025-01-28T10:28:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e165ec4-d7b8-407c-a07a-05548080bb10","html_url":"https://github.com/danielbentes/uim-protocol","commit_stats":null,"previous_names":["danielbentes/uim-protocol"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbentes%2Fuim-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbentes%2Fuim-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbentes%2Fuim-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbentes%2Fuim-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielbentes","download_url":"https://codeload.github.com/danielbentes/uim-protocol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238284810,"owners_count":19446733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["actions","ai","ai-agents","aiagents","api","framework","odrl","protocols","standards","tools","webservices"],"created_at":"2024-09-27T11:23:24.698Z","updated_at":"2025-10-26T07:31:12.763Z","avatar_url":"https://github.com/danielbentes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://synaptiai.github.io/uim-protocol/assets/images/abstract.png\" alt=\"UIM Protocol Logo\"\u003e\n  \u003ch1\u003eThe Unified Intent Mediator Protocol\u003c/h1\u003e\n  \u003cp\u003eA standardized framework for AI agents to interact with web services through well-defined intents\u003c/p\u003e\n\u003c/div\u003e\n\n## Getting Started\n\n1. Get familiar with the [concepts and motivations](https://synaptiai.github.io/uim-protocol/specification/) behind the UIM protocol\n2. Explore the [prototype implementations](https://synaptiai.github.io/uim-protocol/prototypes/) to see the UIM protocol in action\n\n## Development Setup\n\nThis project uses [Poetry](https://python-poetry.org/) for dependency management. Poetry provides a better way to manage Python dependencies with features like dependency resolution, virtual environments, and more.\n\n### Prerequisites\n\n- Python 3.10 or higher\n- [Poetry](https://python-poetry.org/docs/#installation)\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/synaptiai/uim-protocol.git\n   cd uim-protocol\n   ```\n\n2. Install dependencies with Poetry:\n   ```bash\n   poetry install\n   ```\n\n   This will create a virtual environment and install all dependencies.\n\n3. Activate the virtual environment:\n   ```bash\n   poetry shell\n   ```\n\n### Dependency Groups\n\nThe project uses Poetry's dependency groups to organize dependencies:\n\n- **Main**: Core dependencies for the UIM Protocol\n- **Dev**: Development dependencies (testing, linting, etc.)\n- **Docs**: Documentation dependencies (MkDocs, etc.)\n- **NLP**: Natural language processing dependencies (spaCy, etc.)\n\nTo install only specific groups:\n\n```bash\n# Install only documentation dependencies\npoetry install --only docs\n\n# Install main dependencies and development dependencies\npoetry install --with dev\n```\n\n### Building Documentation\n\n```bash\ncd uim-docs\npoetry run mkdocs build\n```\n\n### Running Tests\n\n```bash\npoetry run pytest\n```\n\n## Get Involved: We Need Your Feedback\n\nWe're inviting developers, AI providers, service operators, and tech/AI enthusiasts to review the draft specification, test the implementation, and share feedback. Your input is crucial to refining and improving the protocol.\n\n### How to Contribute\n\n1. **Review the Draft Proposal**: Check out the [draft specification](https://synaptiai.github.io/uim-protocol/specification/uim-specification.txt) and explore the protocol's design and implementation.\n2. **Join the Discussion**: Start a conversation in the [Discussions](https://github.com/synaptiai/uim-protocol/discussions) tab. We'd love to hear your thoughts on the protocol's design, potential use cases, or any concerns.\n3. **Raise Issues**: Found a bug or have suggestions? Open an [Issue](https://github.com/synaptiai/uim-protocol/issues) to let us know or contribute directly by submitting a Pull Request. See our [Contributing Guidelines](CONTRIBUTING.md) for more information.\n4. **Share the Word**: Help us spread the word about the UIM protocol by sharing this repository with your network. Write a blog post, tweet, or share the project with your colleagues. We appreciate your support!\n\n## Protocol Overview\n\nThe Unified Intent Mediator (UIM) protocol defines a standardized framework for AI agents to interact with web services through well-defined intents, metadata, and execution methods. By introducing consistency and security in these interactions, UIM enhances efficiency, scalability, and reliability for AI-driven applications.\n\n### Key Components\n\n- **Intents**: Structured actions that web services can expose, defining specific tasks such as searching products, placing orders, or retrieving data.\n- **Metadata and Parameters**: Each intent comes with metadata (name, description, category) and defined parameters, providing context and specific input requirements.\n- **Policy Adherence Tokens (PATs)**: Digitally signed tokens that encapsulate permissions, billing, and compliance rules.\n- **Discovery and Execution APIs**: AI agents can query discovery APIs to find available intents and use execution APIs to perform actions.\n- **DNS TXT Records and agents.json Files**: Innovative methods for endpoint discovery, allowing AI agents to find and authenticate API endpoints.\n\n### Architecture Options\n\nThe UIM Protocol supports multiple architectural approaches:\n\n1. **Centralized Architecture**: A central repository manages intent registration, discovery, execution, and policy management.\n2. **Decentralized Architecture**: AI agents interact directly with web services without a central intermediary.\n3. **Hybrid Approach**: Combines centralized discovery with decentralized execution and PAT issuance.\n\n## Repository Structure\n\n```\nuim-protocol/\n├── implementations/       # Reference implementations\n│   ├── centralized-discovery-service/\n│   ├── uim-mock-agent/\n│   └── uim-mock-webservice/\n├── examples/              # Usage examples and demos\n├── uim-docs/              # Documentation\n│   ├── docs/              # Documentation source files\n│   │   ├── specification/ # Protocol specifications\n│   │   ├── assets/        # Documentation assets (images, etc.)\n│   │   └── reference/     # API reference documentation\n│   └── site/              # Generated documentation site\n├── pyproject.toml         # Poetry configuration\n└── poetry.lock            # Poetry lock file\n```\n\n## Current Status \u0026 Roadmap\n\nThe UIM Protocol is currently in the draft proposal phase. See our roadmap for the development roadmap.\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynaptiai%2Fuim-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynaptiai%2Fuim-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynaptiai%2Fuim-protocol/lists"}