{"slug": "open-dots-open-source-alternative-to-openai-dots", "title": "Open Dots: Open-Source Alternative to OpenAI Dots", "summary": "An independent developer released Open Dots, an open-source, self-hosted AI workspace positioned as an alternative to OpenAI Dots, offering chat, a deny-by-default action gateway with approval prompts, Composio connectors, and an optional Docker/Playwright computer runtime. The project is at prototype stage and its own documentation states multi-user hosting and hostile-web isolation are not production ready. It runs on Node.js/npm and Python 3.10+, stores state in SQLite with encrypted provider credentials, and defaults to the gpt-5-mini model via a bundled inference adapter that does not implement the generic OpenAI-compatible chat completions interface.", "body_md": "**Open Dots is an open-source alternative to OpenAI Dots:** a self-hosted AI workspace for chat, tool use, approvals, connectors, and computer tasks. It brings model conversations, a governed action gateway, approval prompts, and an optional isolated browser runtime into one local-first app.\n\nOpen Dots is independently built and is not affiliated with or endorsed by OpenAI, xAI, or any model provider. It offers a self-hostable, inspectable alternative for people looking for an open-source OpenAI Dots alternative, with local data and explicit approval for higher-risk actions.\n\n**Status:** Prototype / active development. Intended for local experimentation; multi-user hosting and hostile-web isolation are not production ready.\n\n- Create assistant personas with separate instructions, model IDs, and visual identities.\n- Stream chat responses, persist conversations locally, render Markdown, attach images, and dictate messages where the browser supports speech input.\n- Connect to models through the included inference adapter and choose from its configured model catalog.\n- Request confined workspace reads and writes or computer actions through a deny-by-default gateway. Higher-risk actions pause for approval and produce audit events.\n- Connect apps through Composio, with explicit OAuth and narrow GitHub issue lookup/create actions.\n- Run an optional bot-scoped Docker/Playwright computer runtime or connect a compatible remote computer service.\n- Keep application state in SQLite and encrypt provider credentials at rest.\n\nOpen Dots gives developers and individuals a self-hosted AI workspace they can inspect and adapt. Use it as an open-source alternative to OpenAI Dots when you want local-first conversation storage, configurable model access, visible approval steps, and an optional computer runtime under your control. It is a separate project with its own implementation and current limitations; see the provider and runtime notes below before deploying it.\n\n- Node.js and npm\n- Python 3.10+ and pip\n- An inference API key and base URL for live model responses\n\nClone and start the API:\n\n```\ngit clone https://github.com/Anil-matcha/open-dots.git\ncd open-dots/server\npython -m venv .venv\nsource .venv/bin/activate\npython -m pip install -r requirements.txt\nexport MODEL_API_KEY=\"your_api_key\"\nexport MODEL_API_BASE_URL=\"https://your-inference-host.example/api/v1\"\npython run.py\n```\n\nThe API is available at `http://127.0.0.1:8000`; interactive docs are at `/docs`.\n\nIn a second terminal, start the web client:\n\n```\ncd open-dots/client\nnpm install\nnpm run dev\n```\n\nOpen `http://localhost:3000`. You can enter the provider key in App Settings instead of setting the environment variable. The server creates local session and encryption keys under its data directory on first start.\n\nThe bundled inference adapter sends a prediction request to `{MODEL_API_BASE_URL}/{model_id}` and uploads images to `{MODEL_API_BASE_URL}/upload_file`. Configure it with a service that implements this request and response contract and supports the model IDs you select. This adapter does not implement the generic OpenAI-compatible chat completions interface.\n\n| Variable | Default | Purpose | \n|---|---|---|\n| `MODEL_API_KEY` | empty | Provider key fallback when no key is saved in settings | \n| `MODEL_API_BASE_URL` | empty | Required base URL for the configured inference API | \n| `DEFAULT_MODEL` | `gpt-5-mini` | Initial model for new assistants | \n| `COMPOSIO_API_KEY` | empty | Optional connector credential | \n| `DATA_DIR` | `~/.open-dots` | SQLite state and local keys | \n| `APP_ENCRYPTION_KEY` | generated in `DATA_DIR` | Optional Fernet key for encrypted credentials | \n| `APP_AUTH_TOKEN` | generated in `DATA_DIR` | Bearer token for direct or non-loopback API access | \n| `WORKSPACE_ROOT` | project root | Directory boundary for approved workspace actions | \n| `COMPUTER_PROVIDER` | `fake` | Computer provider: `fake` ,`docker` , or`remote` | \n| `HOST` /`PORT` | `127.0.0.1` /`8000` | API bind address | \n\nFor non-loopback access, set `APP_AUTH_TOKEN`, configure the client with `NEXT_PUBLIC_API_TOKEN`, use HTTPS, and set a narrow `CORS_ORIGINS` list. Do not expose generated tokens in logs or source control.\n\nThe default `fake` adapter is for local development and deterministic behavior. To enable the Docker/Playwright computer provider:\n\n```\ndocker build -t open-dots-computer:1.62.1 ./runtime\nexport COMPUTER_PROVIDER=docker\nexport COMPUTER_DOCKER_IMAGE=open-dots-computer:1.62.1\n```\n\nThe daemon must be running. Containers use a separate workspace per assistant, a read-only root filesystem, dropped capabilities, and resource limits. Computer navigation and other higher-risk operations go through the action gateway and approval flow. This is not a hardened sandbox for hostile websites; review network egress, image provenance, and credential exposure before using it with untrusted content.\n\nFor a remote computer service, configure `COMPUTER_PROVIDER=remote` and the `COMPUTER_REMOTE_*` variables in `server/app/config.py`.\n\n```\nNext.js client ── HTTP + SSE ── FastAPI API\n                                  ├── SQLite + encrypted settings\n                                  ├── configurable inference adapter\n                                  ├── Composio connector adapter\n                                  └── action gateway + approvals + audit\n                                        ├── confined workspace tools\n                                        └── fake / Docker / remote computer\n```\n\nThe main code areas are `client/` (Next.js UI), `server/app/routers/` (HTTP API), `server/app/services/` (providers, persistence, approvals, and tools), and `runtime/` (Docker computer driver).\n\n- One local owner; user provisioning, roles, and multi-user grants are not implemented.\n- SQLite is local state; coordinated multi-instance storage and backup workflows are not included.\n- The bundled inference adapter expects a specific prediction API contract; a generic provider plugin interface is not implemented.\n- The computer runtime is opt-in and is not a hardened security boundary for arbitrary web content.\n- Connector actions are intentionally narrow; arbitrary tool discovery and writes are not implemented.\n- There is no mobile or desktop client, durable memory service, or scheduled routine engine.\n\nIssues and pull requests are welcome. Keep the documentation aligned with behavior, avoid committing credentials or local transcripts, and describe API or persistence changes clearly.\n\nMIT. See [LICENSE](https://github.com/Anil-matcha/open-dots/blob/main/LICENSE).", "url": "https://wpnews.pro/news/open-dots-open-source-alternative-to-openai-dots", "canonical_source": "https://github.com/Anil-matcha/open-dots", "published_at": "2026-09-29 18:03:38+00:00", "updated_at": "2026-09-29 18:17:55.926422+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools", "ai-products"], "entities": ["Open Dots", "OpenAI Dots", "OpenAI", "xAI", "Composio", "GitHub", "Docker", "Playwright"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/open-dots-open-source-alternative-to-openai-dots", "markdown": "https://wpnews.pro/news/open-dots-open-source-alternative-to-openai-dots.md", "text": "https://wpnews.pro/news/open-dots-open-source-alternative-to-openai-dots.txt", "jsonld": "https://wpnews.pro/news/open-dots-open-source-alternative-to-openai-dots.jsonld"}}