Skip to content

Repository files navigation

AinoWork

The open-source AI workbench for teams.
Self-hosted. Real Docker sandboxes — not prompt wrappers.

GitHub Stars License: AGPL v3 Python 3.12+ React 19 Docker PRs Welcome

English | 中文

AinoWork Welcome


Quick Start

# 1. Download & extract
curl -fsSL https://raw.githubusercontent.com/oinone/ainowork/refs/heads/master/docker/ainowork-starter.zip -o ainowork-starter.zip
unzip ainowork-starter.zip && cd ainowork-starter

# 2. Start
bash start-mac.sh   # or start-linux.sh / start-win.ps1

# 3. Open https://localhost:3000
# 4. Log in: admin@ainowork.dev / admin123456
# 5. Add an LLM provider and start a conversation

Prerequisites: Docker + Docker Compose v2.24+, 8 GB+ RAM.


Why AinoWork?

AinoWork serves two audiences with one platform:

For Teams

Employees using personal AI accounts creates data leak risks, and expertise walks out the door when people leave.

  • Data stays yours. Deploy on-premises, in your VPC, or air-gapped. Conversations and code never leave your infrastructure.
  • Bring your own keys. Use your own LLM API keys — OpenAI, Anthropic, or any OpenAI-compatible endpoint. No vendor lock-in.
  • Skills as assets. Turn repeatable tasks into shared skills. One person builds it, the whole team reuses it.

For Developers

Most AI coding tools are either chat-only UIs (great conversation, can't touch your code) or IDE plugins (local-only, single-user). AinoWork gives AI agents a real isolated environment — a Docker container with filesystem, shell, browser, and git — that you collaborate with through a web workbench.

  • Real sandbox isolation. Every agent session gets a full Docker container. The agent can read, write, execute, and break things without affecting your machine.
  • Built-in git workflow. Clone repos, browse files, view diffs, stage, commit, and push — all from within a conversation.
  • Browser automation. Agents drive a real Chromium browser via VNC inside the sandbox.
  • WebSocket terminal. Drop into a live shell inside the agent's sandbox anytime.
  • 200+ LLM models. OpenAI, Anthropic, and any OpenAI-compatible endpoint. Per-user provider configuration.
  • Skill marketplace. Install skills from community repositories — build once, reuse everywhere.
  • 48 visual themes. 8 accent colors × 2 modes × 3 density levels.
  • Full i18n. Chinese and English, from UI to agent conversations.

Why Not Just Use a Generic Cloud Agent?

Personal cloud AI tools make one person faster. AinoWork gives your whole team a shared, self-hosted AI workspace.

Dimension Generic Cloud Agent AinoWork
Deployment SaaS-only, on vendor's cloud ✓ Self-hosted / on-premises / VPC
Data ownership Hosted on vendor infrastructure ✓ Stays inside your environment
Model control Locked to platform provider ✓ Bring your own keys, multi-model
Who pays Individual employees ✓ Team / enterprise
Knowledge retention Locked in personal accounts, lost on departure ✓ Retained as shared team skills

* "Generic Cloud Agent" refers to the category of personal AI tools, not any specific product.


Key Features

Category Capabilities
AI Agent Workspace Multi-turn conversations, tool calling, goal mode, conversation undo, real-time SSE streaming
Docker Sandbox Isolated per-session containers with filesystem, shell, and network; MCP connections run inside sandbox
MCP Server Management CRUD for Model Context Protocol server connections with tool discovery, test, and JSON import
File & Git Management File browser + git status, diff, stage, commit, branch, push/pull, merge
Browser Automation VNC-based Chromium control within sandbox
WebSocket Terminal Live interactive shell into the agent's sandbox
LLM Usage Billing Token usage tracking and visualization with per-organization dashboards and user-level drill-down
Self-Hosted Deploy on-premises, in your VPC, or air-gapped — data never leaves
Skill Marketplace Shareable, reusable AI skills — build once, use across the organization
Scheduled Tasks Recurring AI-powered tasks with execution history and batch management
Conversation Memory SessionDB-based browser for exploring and managing agent conversation history
AI Memory Persistent memory across sessions for contextual agents
RBAC Role-based access control with user management
End-to-End Encryption Request/response body encryption between frontend and backend

Architecture

AinoWork Architecture

AinoWork follows a three-tier web architecture:

  • Frontend (React 19 + Vite) communicates with the backend via REST, SSE streams, and WebSockets. It provides the chat interface, file browser, terminal, VNC viewer, and admin panels.
  • Backend (Python FastAPI) handles authentication, session management, RBAC, and orchestrates AI agent conversations. It manages sandbox containers via the Docker API and persists data in PostgreSQL and Redis.
  • Sandbox (Docker containers) are ephemeral Linux environments created per agent session — each with its own filesystem, shell, git client, and headless Chromium.
  • AI Engine (Hermes Agent) runs in-process within the backend, handling LLM interaction, tool dispatch, and agent memory. The AI Engine executes tools — code, shell commands, browser automation, git operations — inside the Sandbox.

The backend uses an SPI (Service Provider Interface) module system — 29 pluggable modules auto-register at startup. Adding a new feature means adding a module, no central registry to touch.


Built With Hermes Agent

AinoWork is built on Hermes Agent (MIT license, v0.16.0), an open-source LLM agent framework from Nous Research. Hermes Agent provides the core AI engine — tool calling, multi-turn conversation orchestration, agent memory, and sandboxed execution. AinoWork layers on the web platform, multi-tenant workspaces, RBAC, persistence, real-time streaming, and the skill marketplace.

We are grateful to the Hermes Agent team for building such a capable foundation.


Community

  • Discord — Real-time chat, support, and discussion
  • Reddit — Community discussion, tips, and feedback

Contributing

We welcome contributions! Please ensure:

  1. Pre-commit hooks pass (linting, formatting, type checking)
  2. Follow existing code conventions and the SPI module pattern (see backend/CLAUDE.md)
  3. One logical change per commit
  4. Test your changes before submitting

Development

For local development:

Prerequisites

  • Python 3.12+
  • Node.js 18+ with pnpm
  • Docker and Docker Compose

1. Clone

git clone https://github.com/oinone/ainowork.git
cd ainowork

2. Backend

cd backend
cd docker-infra && docker compose up -d && cd -   # start PG + Redis
cp .env.dev .env                                    # dev defaults
uv sync                                             # install dependencies
source .venv/bin/activate
uvicorn app.main:app --host 0.0.0.0 --port 3003

.env.dev ships with development defaults that work out of the box with the docker-infra/docker-compose.yml middleware services.

3. Frontend

cd frontend
pnpm install
pnpm dev   # https://localhost:5170, proxies /api → 127.0.0.1:3003

Contact

Try It Live

Start using AinoWork at www.ainowork.ai.

Oinone Assistant

Scan the QR code to add Oinone Assistant on WeChat for API Key applications, technical support, and business cooperation inquiries.

Oinone WeChat

AinoWork Official Account

Follow the AinoWork official WeChat account for the latest updates, release notes, and community highlights.

AinoWork WeChat

Business Cooperation

For partnerships, media, or other inquiries: cpc@shushi.pro


License

AinoWork is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the full license text.

If you modify this software and make it available as a network service, you must also make the shared source code available to users of that service under the terms of the AGPL v3.


⭐ If AinoWork is useful to you, star us on GitHub — it helps others discover the project.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages