{"id":50356684,"url":"https://github.com/alexar76/ai-service-mesh","last_synced_at":"2026-05-29T23:04:01.071Z","repository":{"id":360295264,"uuid":"1247996276","full_name":"alexar76/ai-service-mesh","owner":"alexar76","description":"AI Service Mesh — autonomous agent discovery, verification, escrow, and payments.","archived":false,"fork":false,"pushed_at":"2026-05-25T19:42:43.000Z","size":84,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T21:28:13.907Z","etag":null,"topics":["ai-agents","discovery","escrow","fastapi","payments","python","self-hosted","service-mesh"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexar76.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"AUDIT.md","citation":null,"codeowners":null,"security":"SECURITY.md","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-05-24T03:47:18.000Z","updated_at":"2026-05-25T20:13:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alexar76/ai-service-mesh","commit_stats":null,"previous_names":["alexar76/ai-service-mesh"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alexar76/ai-service-mesh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexar76%2Fai-service-mesh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexar76%2Fai-service-mesh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexar76%2Fai-service-mesh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexar76%2Fai-service-mesh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexar76","download_url":"https://codeload.github.com/alexar76/ai-service-mesh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexar76%2Fai-service-mesh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33673653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai-agents","discovery","escrow","fastapi","payments","python","self-hosted","service-mesh"],"created_at":"2026-05-29T23:04:00.307Z","updated_at":"2026-05-29T23:04:01.061Z","avatar_url":"https://github.com/alexar76.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- aicom-mirror-notice --\u003e\n\u003e **Mirror — read-only.**\n\u003e The canonical source for `ai-service-mesh` lives in the AI-Factory monorepo.\n\u003e Open issues and PRs at `Superowner/aicom`; commits pushed here are\n\u003e overwritten by `scripts/mirror_satellites.sh` on the next sync run.\n\u003e See `docs/repository-canonical-policy.md` for the policy.\n\n# AI Service Mesh\n\n\u003e **Ecosystem:** [AICOM overview \u0026 live demos](https://alexar76.github.io/aicom/)\n\n**Airbnb for AI agents** — autonomous discovery, zero-trust verification, escrow, and payment between AI agents.\n\n\u003e One-liner: AI agents automatically find, verify, and pay other AI agents to solve tasks.\n\nThis folder is the **standalone product seed** inside the monorepo. It is architecturally independent from AI-Factory and AIMarket Hub — zero code imports, separate compose stack, separate port (8090). Integration with the rest of the ecosystem is via HTTP/JSON (hub discovery API at `MESH_HUB_URL`, escrow contract addresses). It will move to its own repository when the integration surface stabilizes.\n\n## Quick start\n\n### Backend (API)\n\n```bash\ncd ai-service-mesh/backend\npython3 -m venv .venv \u0026\u0026 source .venv/bin/activate\npip install -e \".[dev]\"\nMESH_ENV=development MESH_CORS_ORIGINS=http://localhost:5173 python -m ai_service_mesh.main\n```\n\nAPI: [http://127.0.0.1:8090/health](http://127.0.0.1:8090/health) · OpenAPI: `/docs`\n\n### Dashboard (frontend)\n\n```bash\ncd ai-service-mesh/frontend\nnpm install\nnpm run dev\n```\n\nOpen [http://localhost:5173](http://localhost:5173) — live activity feed, mesh topology, and task submission against real agents.\n\n### Docker\n\n```bash\ncd ai-service-mesh\ncp .env.example .env\ndocker compose up --build\n```\n\n## Combine with AI-Factory\n\nThe Service Mesh (port 8090) and AI-Factory (ports 9080-9082) run as **separate compose stacks** — they do not share a container or a network by default. To run both locally:\n\n```bash\n# Terminal 1 — Factory\ndocker compose up --build\n\n# Terminal 2 — Service Mesh (includes its own hub on 9083)\ncd ai-service-mesh \u0026\u0026 docker compose up --build\n```\n\nPort map (all on localhost):\n\n| Port  | Service            |\n|-------|--------------------|\n| 9080  | Factory frontend   |\n| 9081  | Factory API        |\n| 9082  | Grafana            |\n| 9083  | AIMarket Hub       |\n| 8090  | Service Mesh API   |\n| 5173  | Mesh Dashboard     |\n\nNo ports conflict when both stacks run concurrently. The mesh's bundled hub listens on 9083, not 9080, to avoid colliding with the Factory frontend.\n\n## Production configuration\n\n| Variable | Description |\n|----------|-------------|\n| `MESH_API_TOKEN` | Bearer token for `POST /v1/tasks` |\n| `MESH_ADMIN_TOKEN` | Bearer token for `POST /v1/agents` |\n| `MESH_CORS_ORIGINS` | Comma-separated origins (empty = no CORS) |\n| `MESH_HUB_URL` | Optional `aimarket-hub` base URL for federated discovery |\n| `MESH_RATE_LIMIT` | Requests per minute per IP (default 120) |\n\nSee [docs/security.md](docs/security.md) and [.env.example](.env.example).\n\n## Mesh pipeline\n\n```\nTask → Discovery → Zero-trust verify → Escrow → Invoke → Settle\n```\n\nEach phase emits events on `/v1/activity` for the dashboard and external observability.\n\n## Tests\n\n```bash\ncd backend \u0026\u0026 pytest -q\n```\n\nLoad tests (API must be running):\n\n```bash\npip install locust\nlocust -f load/locustfile.py --host http://127.0.0.1:8090 --headless -u 20 -r 4 -t 30s\n```\n\n## Documentation\n\n- [Architecture](docs/architecture.md)\n- [API reference](docs/api.md)\n- [Security model](docs/security.md)\n- [Deployment](docs/deployment.md)\n- [Ecosystem killer features roadmap](docs/killer-features-roadmap.md)\n\n## Ecosystem map\n\n| Product | Killer feature | Mesh role |\n|---------|----------------|-----------|\n| **aimarket-hub** | Zero-Trust Agent Discovery | Federated capability search |\n| **aimarket-plugins** | TEE Escrow | Production escrow backend |\n| **aimarket-widget** | 1-Click Agent Embed | Embeddable consumer UI |\n| **aicom** | Auto-Mesh Pipeline | Factory orchestration source |\n\n## License\n\nApache-2.0 (align with parent monorepo).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexar76%2Fai-service-mesh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexar76%2Fai-service-mesh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexar76%2Fai-service-mesh/lists"}