j0x7c4/OpenKimo
GitHub: j0x7c4/OpenKimo
一个容器化的服务端 AI Agent 平台,通过 Docker 沙盒为每个会话提供完全隔离的代码执行环境,支持多用户权限管理和多 LLM 切换,一键部署即可使用。
Stars: 4 | Forks: 1
OpenKimo
一个 Docker。零烦恼。
一个命令即可运行的容器化服务端 Agent 平台。
完全隔离的会话。支持多 LLM。
🚀 一键部署 | 🛡️ 默认安全 | 🔌 支持 Multi-LLM
## 什么是 OpenKimo? OpenKimo 是一个**容器化的服务端 Agent 平台**。你通过 Web 浏览器操作 Agent,而所有代码执行任务都在沙盒化的 Docker 容器中运行——主机上不会执行任何内容。 - **一条命令**部署整个技术栈(`docker-compose up -d`)。 - **一个浏览器标签页**用于创建会话、与 Agent 聊天以及审查输出。 - **零主机依赖**——机器只需安装 Docker Engine。 ``` flowchart LR U[👤 User Browser] -->|WebSocket| G[kimi-gateway] G -->|spawn| S1[🛡️ Session Sandbox 1] G -->|spawn| S2[🛡️ Session Sandbox 2] S1 -->|results| U S2 -->|results| U ``` ## 演示 - 🎬 [快速入门演示] (即将推出) - 🔒 [沙盒安全演示] (即将推出) - 🔌 [多 LLM 切换演示] (即将推出) ## 快速入门 ### 前置条件 - [Docker](https://docs.docker.com/get-docker/) - [Docker Compose](https://docs.docker.com/compose/install/) ### 选项 A — 无需 Git Clone(最快) ``` # 下载 config 文件 curl -O https://raw.githubusercontent.com/j0x7c4/OpenKimo/main/docker-compose.yml curl -O https://raw.githubusercontent.com/j0x7c4/OpenKimo/main/.env.example cp .env.example .env # 编辑 .env — 至少设置一个 LLM API key # Pull 镜像并启动 docker compose up -d ``` ### 选项 B — Clone 并通过向导部署 ``` git clone --recurse-submodules git@github.com:j0x7c4/OpenKimo.git cd OpenKimo ./scripts/deploy.sh ``` 向导会自动配置你的 `.env` 并拉取预构建的镜像。 ### 选项 C — 本地构建(开发者) ``` git clone --recurse-submodules git@github.com:j0x7c4/OpenKimo.git cd OpenKimo cp .env.example .env # 编辑 .env 并至少设置一个 LLM API key docker-compose build docker-compose up -d ``` ### 选项 D — 统一启动器(Docker 或本地) `scripts/start.sh` 会自动检测 Docker,如果不可用则回退至直接在主机上运行。这在 Docker 不可用、macOS 上 Docker Desktop 开销过高,或用于快速本地开发迭代时非常有用。 ``` git clone --recurse-submodules git@github.com:j0x7c4/OpenKimo.git cd OpenKimo cp .env.example .env # 编辑 .env 并至少设置一个 LLM API key ./scripts/start.sh # auto-detect: docker if available, else local ./scripts/start.sh --mode=docker # force docker compose ./scripts/start.sh --mode=local # force local mode (no Docker) ./scripts/start.sh --mode=local --port=8080 --host=127.0.0.1 ``` 本地模式需要安装了 Python 3.10+ 和 `kimi-cli`(`pip install -e ./kimi-cli`);它会禁用每个会话的沙盒、浏览器和 Jupyter,因此仅用于开发。有关前置条件和限制,请参阅 [`docs/LOCAL-MODE.md`](docs/LOCAL-MODE.md)。 ### 访问 Web UI 在浏览器中打开 http://localhost:5494。 #### 默认管理员账户 | 字段 | 值 | |----------|-----------| | 用户名 | `admin` | | 密码 | `admin123` | 如果同时启用了 Bearer token 认证,请将你的 token 附加到 URL 中: ``` http://localhost:5494/?token=(FastAPI + WebSocket Proxy)"] D["Docker Daemon"] end subgraph Sandbox1["Session Sandbox 1"] direction TB A1["Agent Worker"] J1["Jupyter Kernel"] C1["Headless Chromium"] end subgraph Sandbox2["Session Sandbox 2"] direction TB A2["Agent Worker"] J2["Jupyter Kernel"] C2["Headless Chromium"] end B["👤 Browser (Web UI)"] B <-->|WebSocket| G G <-->|spawn / stop| D D -->|creates| Sandbox1 D -->|creates| Sandbox2 G <-->|proxy| A1 G <-->|proxy| A2 ``` ## 配置 所有配置均通过 `.env` 中的环境变量完成: | 变量 | 必填 | 描述 | |----------|----------|-------------| | `KIMI_API_KEY` | 是* | Kimi / Moonshot API key | | `OPENAI_API_KEY` | 是* | OpenAI API key | | `ANTHROPIC_API_KEY` | 是* | Anthropic API key | | `LLM_PROVIDER` | 否 | 默认提供商(`kimi` / `openai` / `anthropic`) | | `KIMI_WEB_SESSION_TOKEN` | 否 | Web UI 认证的 Bearer token | | `KIMI_WEB_PORT` | 否 | Web 服务器端口(默认:`5494`) | | `SANDBOX_CPU_LIMIT` | 否 | 每次会话的 CPU 限制(默认:`2`) | | `SANDBOX_MEMORY_LIMIT` | 否 | 每次会话的内存限制(默认:`4g`) | \* 至少需要一个 API key。 完整列表请参阅 [`.env.example`](.env.example)。 ## OpenKimo 与其他项目的对比 **OpenKimo 并不打算成为你的个人聊天伴侣。** 如果你想要一个存在于 WhatsApp 或 Telegram 中的 AI,请查看该领域的其他项目。 **如果你符合以下情况,OpenKimo 就是为你准备的:** - 你需要一个 7x24 小时运行并通过浏览器访问的**服务端 Agent**。 - 你希望**零主机污染**——每次代码执行都在一次性的容器内发生。 - 你偏爱**基础设施即代码**——使用 Docker Compose 进行部署、扩容和升级。 - 你使用 **Kimi / Moonshot** 并希望获得原生的容器化集成,而不是包装脚本。 ## 贡献 我们欢迎各种贡献!请查阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。 ## 许可证 本项目基于 [Apache License 2.0](LICENSE) 授权。
如果 OpenKimo 为你节省了时间,请考虑在 GitHub 上给我们点个 ⭐!
标签:AI代码执行, AI智能体平台, Apache 2.0, Docker Compose, Docker沙箱, Google搜索, LLM代理, NIDS, Python, React, Syscalls, WebSocket, 会话隔离, 依赖分析, 多LLM支持, 多用户RBAC, 大语言模型应用, 安全隔离, 容器化, 并发沙箱, 开源, 无后门, 服务端代理平台, 版权保护, 特权提升, 白标品牌定制, 私有化部署, 网关代理, 自动化部署, 请求拦截, 逆向工具, 防御规避, 隔离环境, 零信任执行