{"id":45884436,"url":"https://github.com/thealxlabs/conductor","last_synced_at":"2026-04-01T20:23:37.967Z","repository":{"id":339017765,"uuid":"1160045877","full_name":"thealxlabs/conductor","owner":"thealxlabs","description":"AI integration hub — 25 plugins, 146 tools. Connect Claude, GPT-4o, Gemini \u0026 Ollama to Gmail, Spotify, GitHub Actions, Vercel, n8n, Notion and more. One installer. MCP + Telegram.","archived":false,"fork":false,"pushed_at":"2026-02-27T00:09:14.000Z","size":267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T07:11:17.437Z","etag":null,"topics":["ai","anthropic","automation","claude","github","gmail","intergration","mcp","n8n","nodejs","notion","plugins","spotify","telegram","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://conductor.thealxlabs.ca","language":"TypeScript","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/thealxlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-02-17T13:32:12.000Z","updated_at":"2026-02-27T00:09:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thealxlabs/conductor","commit_stats":null,"previous_names":["thealxlabs/conductor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thealxlabs/conductor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealxlabs%2Fconductor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealxlabs%2Fconductor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealxlabs%2Fconductor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealxlabs%2Fconductor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thealxlabs","download_url":"https://codeload.github.com/thealxlabs/conductor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thealxlabs%2Fconductor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29901596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T14:46:13.553Z","status":"ssl_error","status_checked_at":"2026-02-27T14:46:10.522Z","response_time":57,"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":["ai","anthropic","automation","claude","github","gmail","intergration","mcp","n8n","nodejs","notion","plugins","spotify","telegram","typescript","vercel"],"created_at":"2026-02-27T15:14:16.983Z","updated_at":"2026-04-01T20:23:37.954Z","avatar_url":"https://github.com/thealxlabs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Conductor\n\n\u003e **One AI. Every tool. Any interface.**\n\nConductor is a universal AI integration hub that connects Claude, GPT-4o, Gemini, Ollama, and OpenRouter to 150+ tools across 27 plugins — exposed simultaneously as an **MCP server**, **Slack bot**, **Telegram bot**, **web dashboard with live chat**, and **HTTP API**.\n\n![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6?style=flat-square\u0026logo=typescript\u0026logoColor=white)\n![Plugins](https://img.shields.io/badge/27_Plugins-150%2B_Tools-22c55e?style=flat-square)\n![Providers](https://img.shields.io/badge/6_AI_Providers-Claude_·_GPT--4o_·_Gemini_·_Ollama-a855f7?style=flat-square)\n![License](https://img.shields.io/badge/License-Apache--2.0-f59e0b?style=flat-square)\n\n---\n\n## What makes Conductor different\n\nMost AI wrappers give you one interface. Conductor gives you five — simultaneously. Same plugins, same tools, same conversation memory, whether you're in Slack, Telegram, Claude Desktop (MCP), or the web browser.\n\n**Example:** Send one message: _\"Find my 3 urgent emails, add them to my calendar, and notify me on Slack.\"_ Conductor automatically chains Gmail → Google Calendar → Slack in a single agent loop — with approval gates if any step is sensitive.\n\n```\nYou: \"Find my urgent emails, add them to my calendar, notify me on Slack.\"\n\nConductor:\n  1. persona → \"general\"\n  2. gmail_search() → 2 urgent emails\n  3. gcal_create_event() × 2 → events created\n  4. slack_send_message() → \"Done: 2 events added\"\n```\n\n---\n\n## Try it in 60 seconds\n\n```bash\n# macOS / Linux\ncurl -fsSL https://conductor.thealxlabs.ca/install.sh | bash\n\n# Windows (PowerShell)\nirm https://conductor.thealxlabs.ca/install.ps1 | iex\n```\n\nThen open the web dashboard with live AI chat:\n\n```bash\nconductor dashboard start\n# → http://localhost:4242\n```\n\nOr wire it into Claude Desktop:\n\n```bash\nconductor mcp setup    # auto-configures Claude Desktop\n```\n\n**Requirements:** Node.js ≥ 18\n\n---\n\n## 5 things that will impress you\n\n### 1. Live web chat in the browser\nThe dashboard includes a full AI chat interface — send messages, watch tool call chips appear inline, see results in real time. No CLI needed for demos.\n\n### 2. 6 AI providers, hot-switchable\n```bash\nconductor ai switch gemini    # switch without restart\nconductor ai switch claude\nconductor ai switch ollama    # fully local, no API key\n```\n\n### 3. Proactive autonomous mode\n```bash\nconductor proactive start    # runs every 30 min by default\n```\nConductor gathers context (CPU, emails, calendar, activity), reasons about it, takes action, and notifies you — without you asking. Approval gates pause the loop for sensitive operations.\n\n### 4. Hardware-tied AES-256-GCM keychain\nNo secrets in `config.json`. Every credential is encrypted with a key derived from your machine's hardware ID via `scrypt`. Keys cannot be transferred to other machines.\n\n### 5. Plugin marketplace in the dashboard\nBrowse, enable, and configure all 27 plugins from the web UI. See which need credentials, toggle them on/off, get the right setup instructions.\n\n---\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                        Interfaces                           │\n│                                                             │\n│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │\n│  │   Web    │  │  Slack   │  │Telegram  │  │   MCP    │   │\n│  │Dashboard │  │   Bot    │  │   Bot    │  │ (Claude  │   │\n│  │ + Chat   │  │          │  │          │  │ Desktop) │   │\n│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘   │\n└───────┼─────────────┼─────────────┼──────────────┼─────────┘\n        └─────────────┴──────┬──────┴──────────────┘\n                             │\n              ┌──────────────▼──────────────┐\n              │         Conductor           │\n              │  (Orchestrator + Agent Loop)│\n              └──────┬───────────┬──────────┘\n                     │           │\n          ┌──────────▼──┐   ┌───▼──────────┐\n          │  AI Manager  │   │ Plugin Manager│\n          │              │   │ 27 Plugins   │\n          │ Claude       │   │ 150+ Tools   │\n          │ OpenAI       │   │              │\n          │ Gemini       │   │ Gmail  gcal  │\n          │ Ollama       │   │ GitHub Slack │\n          │ OpenRouter   │   │ Spotify ...  │\n          │ Maestro      │   │              │\n          └──────────────┘   └──────────────┘\n                     │\n          ┌──────────▼──────────┐\n          │   Security Layer    │\n          │  AES-256-GCM        │\n          │  Hardware-tied keys │\n          └─────────────────────┘\n```\n\n### Agent Loop (max 15 iterations per turn)\n\n```\n1. User message → stored in SQLite conversation history\n2. Persona detection (AI classifies: coder / social / researcher / general)\n3. System prompt injected based on persona\n4. AI provider called with full history + all enabled tools\n5. If tool calls returned → execute, append results\n6. If requiresApproval tool → pause, notify user via Slack/Telegram\n7. Repeat until AI returns plain text\n8. Final response returned to the interface\n```\n\n---\n\n## Interfaces\n\n| Interface | Command | What it does |\n|---|---|---|\n| **Web Dashboard + Chat** | `conductor dashboard start` | Browser UI with live AI chat, plugin manager, system monitor, marketplace |\n| **MCP Server** | `conductor mcp setup` | Native tool integration in Claude Desktop |\n| **Slack Bot** | `conductor slack start` | Respond to @conductor mentions and DMs |\n| **Telegram Bot** | `conductor telegram start` | Full chat + `/approve` / `/deny` commands |\n| **Lumen HTTP API** | auto-started with dashboard | `POST /api/lumen/ask` with Bearer token auth |\n\n---\n\n## Security\n\nCredentials are encrypted using **AES-256-GCM** with a master key derived from your machine's hardware ID via `scrypt`. Secrets cannot be decrypted on any other machine.\n\n- **Keychain location**: `~/.conductor/keychain/` (mode `0700`)\n- **No raw secrets** in `config.json` — ever\n- **Timing-safe** API key comparison\n- **Approval gates** for sensitive autonomous actions\n- **localhost-only** dashboard by default (bind: `127.0.0.1:4242`)\n\n---\n\n## Plugins\n\n### Zero-config (no API key)\n\n| Plugin | What it does |\n|---|---|\n| **calculator** | Math, unit conversions, date calculations |\n| **colors** | Color conversion, palettes, contrast checking |\n| **crypto** | Live cryptocurrency prices |\n| **fun** | Jokes, trivia, quotes, dice |\n| **hash** | SHA-256, MD5, bcrypt, UUID, password generator |\n| **network** | DNS lookup, IP geolocation, port scan |\n| **text-tools** | JSON format, regex, word count, string transforms |\n| **timezone** | World clock, timezone conversion |\n| **translate** | Translate between 100+ languages |\n| **url-tools** | Expand short URLs, HTTP status, headers |\n| **weather** | Current conditions + 7-day forecast |\n| **system** | CPU, memory, disk, processes, shell commands |\n| **memory** | Long-term memory across conversations |\n| **notes** | Markdown notes in `~/.conductor/notes/` |\n| **cron** | Schedule recurring tasks with natural language |\n\n### Requires auth\n\n| Plugin | Auth | What it does |\n|---|---|---|\n| **gmail** | Google OAuth | Read, search, send Gmail |\n| **gcal** | Google OAuth | Google Calendar events |\n| **gdrive** | Google OAuth | Browse, read, upload Drive files |\n| **github** | GitHub Token | Repos, issues, PRs, gists |\n| **github-actions** | GitHub Token | CI/CD, releases, code search |\n| **vercel** | Vercel Token | Deployments, projects, domains |\n| **n8n** | n8n API Key | Automation workflow triggers |\n| **notion** | Notion Key | Read/write databases and pages |\n| **spotify** | Spotify OAuth | Full playback control + library |\n| **x** | X API Key | Post tweets, read timeline |\n| **homekit** | HomeKit URL | Control smart home devices |\n| **slack** | Slack Token | Send messages, read channels |\n| **todoist** | Todoist Token | Tasks, projects, priorities |\n\n---\n\n## What can it do? (real prompts)\n\n```\n\"What's the weather in Berlin this week?\"\n\"Translate this paragraph to Japanese.\"\n\"Find my 3 latest unread emails and summarize them.\"\n\"Schedule a meeting with Alex tomorrow at 2pm.\"\n\"Play Discover Weekly on Spotify, queue 5 similar tracks.\"\n\"Search GitHub for trending TypeScript repos.\"\n\"Generate a UUID and a secure 20-character password.\"\n\"Show me my top CPU-consuming processes.\"\n\"Check if my website is responding.\"\n\"Remember that my AWS key expires on March 31.\"\n\"What did I work on yesterday?\" (uses memory plugin)\n```\n\n---\n\n## Proactive Mode\n\n```bash\nconductor proactive start              # Every 30 minutes\nconductor proactive start --interval 10  # Every 10 minutes\n```\n\nEach cycle: gather system context → AI reasons → take action → notify via Slack/Telegram → log everything. Approval gates pause the loop for sensitive operations.\n\n---\n\n## Persona Routing\n\nConductor auto-classifies every message before routing to tools:\n\n| Persona | Triggered by | Tool focus |\n|---|---|---|\n| **Coder** | code, debug, git, bash | github-actions, vercel, system, hash |\n| **Social** | tweets, Slack, messages | x, slack, gmail |\n| **Researcher** | search, summarize, read | weather, translate, url-tools |\n| **General** | calendar, emails, everything else | gcal, gmail, memory, notes |\n\n---\n\n## Lumen AI HTTP API\n\nExpose your local Ollama as an authenticated remote endpoint — for CI/CD pipelines and scripts that don't have shell access.\n\n```bash\n# Generate an API key\ncurl -s -X POST http://localhost:4242/api/lumen/key | jq -r .key\n\n# Call from any machine\ncurl -X POST http://YOUR-IP:4242/api/lumen/ask \\\n  -H \"Authorization: Bearer cnd_...\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"task\": \"check git status and show changed files\"}'\n```\n\n---\n\n## CLI Reference\n\n```bash\nconductor status                     # Overall health check\nconductor dashboard start            # Web dashboard + chat (port 4242)\nconductor ai setup                   # Configure AI provider\nconductor ai switch \u003cprovider\u003e       # Hot-switch provider\nconductor mcp setup                  # Configure Claude Desktop\nconductor plugins list               # List all plugins\nconductor plugins enable \u003cname\u003e      # Enable a plugin\nconductor proactive start            # Start autonomous mode\nconductor slack start                # Start Slack bot\nconductor telegram start             # Start Telegram bot\nconductor auth google                # Google OAuth flow\n```\n\n---\n\n## Configuration\n\n```\n~/.conductor/\n├── config.json        # AI provider, enabled plugins, settings\n├── conductor.db       # SQLite: conversations, memory, logs\n├── keychain/          # AES-256-GCM encrypted credentials\n├── notes/             # Markdown notes\n└── logs/              # Activity logs\n```\n\n---\n\n## Development\n\n```bash\nnpm run dev    # Watch mode (tsx)\nnpm run build  # Compile TypeScript\nnpm test       # Run tests (skips auth plugins)\n```\n\n### Adding a plugin\n\nImplement `Plugin` in `src/plugins/builtin/` and register it in `src/plugins/builtin/index.ts`. It immediately appears across all interfaces.\n\n```typescript\nexport const myPlugin: Plugin = {\n  name: 'my-plugin',\n  description: 'What this plugin does',\n  version: '1.0.0',\n  initialize: async (conductor) =\u003e { /* setup */ },\n  isConfigured: () =\u003e true,\n  getTools: () =\u003e [{\n    name: 'my_tool',\n    description: 'What this tool does',\n    inputSchema: {\n      type: 'object',\n      properties: { query: { type: 'string' } },\n      required: ['query'],\n    },\n    handler: async ({ query }) =\u003e `Result: ${query}`,\n  }],\n};\n```\n\n---\n\n## License\n\n[Apache-2.0](LICENSE) — [Alexander Wondwossen](https://github.com/thealxlabs) / TheAlxLabs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealxlabs%2Fconductor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthealxlabs%2Fconductor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealxlabs%2Fconductor/lists"}