自主开发环境

为AI代理提供高度可配置、可复现和可观察的开发容器环境,支持多种编程语言和开发工具。

  • by netzulo
  • Shell
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 netzulo/autonomousworld-vscode

使用说明

🛠️ 自主开发环境

这个仓库定义了 自主开发Docker环境 在自主世界系统中由人工智能代理使用。
目标是提供一个高度可配置、可重复且可观察的开发容器,其中包含:

  • 多种编程语言(通过环境变量ENV)
  • 代码编辑器和终端工具
  • 为AI交互安装了MCP(多通道处理器/中间件通信平台等,具体含义根据上下文确定)
  • 测试、Git、浏览器等的运行时依赖。
  • 一种在不同堆栈和代理类型之间进行扩展的方法

🚀 快速入门(进行中)

# Build the container with default values
docker compose -f docker/docker-compose.dep.yml up --build

# Or override ENV variables dynamically
MCP_ENABLED=true \
LANGUAGES="node,python" \
docker compose -f docker/docker-compose.dep.yml up --build

⚙️ 环境变量(含默认值)

这些变量允许根据每个使用场景定制最终图像:

# Languages to install (comma-separated)
LANGUAGES=node,python,java
NODE_VERSION=20.11.1
ASDF_VERSION=v0.14.0
PYTHON_VERSION=3.12.1
JAVA_VERSION=temurin-17.0.10+7

# VS Code (code-server)
VSCODE_PORT=8443
VSCODE_PASSWORD=agent

你可以创建自己的 .env 文件或复制模板:

cp env.example .env

🐳 Docker 镜像

Dockerfile 位于 Dockerfile 并且使用多阶段构建来优化最终镜像的大小。

基础镜像是 ubuntu:24.04,并且它安装:

  • 核心实用工具(curl, git, unzip等
  • ASDF 版本管理器(用于管理多种语言)
  • 通过 ASDF 提供的语言运行时(Node.js、Python、Java)
  • Code-server(浏览器中的VS Code)

可以使用(推荐使用docker compose)来构建Docker镜像:

# docker compose
docker compose -f docker-compose.yml up --build

✅ 构建检查清单

  • [x] ✅ 获取Shell和终端访问权限
  • [ ] ✅ Git 已安装
  • [x] ✅ 核心工具(curl, unzip, zip等
  • [x] ✅ 编程语言:
    • [x] Node.js(节点.js)
    • [x] Python(注:这里的[x]可能是一个标记或代码片段,直接翻译为中文时保留原样,实际含义需结合上下文确定)
    • [x] Java(可选)
  • [x] ✅ 代码编辑器:
    • [x] vim,或者 vi (备用/命令行界面模式)
    • [x] code-server (VS Code 在线浏览器版)
      • [x] 已安装扩展
      • [x] MCP已可访问
  • [ ] ✅ 已安装浏览器(例如无头模式的Chrome)
  • [ ] ✅ VNC/Socket 访问(如果已启用)

🧠 Visual Studio Code(远程)

默认情况下,该镜像将进行安装 code-server(代码服务器) 或者 openvscode-server,允许直接在浏览器中进行远程开发。

您可以通过以下方式访问:

http://localhost:8443

密码:由(某人/某系统)定义 VSCODE_PASSWORD 环境变量(默认: agent)

你可以通过覆盖来更改端口/密码:

VSCODE_PORT=8080
VSCODE_PASSWORD=secretpass

🗂️ 脚本

语言和工具安装程序位于:

src/
├── scripts/
│   ├── entrypoint.sh
│   ├── install_node.sh
│   ├── install_python.sh
│   ├── install_java.sh
│   └── ...

每个脚本应支持:

  • 无头模式
  • 日志输出到标准输出(stdout)
  • 环境变量覆盖


📄 路线图/发展蓝图

  • [ ] 为“autonomous-dev”环境创建基础Docker镜像
  • [ ] 在容器内运行的LLM(大型语言模型)ChatGPT或Copilot

✍️ 最后更新时间: 2025年10月11日