AD

anzax/dockashell

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

30 stars 7 forks 质量 62 趋势 11Apache-2.0

DockaShell 是一个 MCP 服务器,为 AI 代理提供隔离的 Docker 容器供工作。MCP 工具用于 shell 访问、文件操作和完整审计追踪。

概览

DockaShell 是一个 MCP(模型上下文协议)服务器,为 AI 代理提供了独立的 Docker 容器供工作。每个代理都有自己的持久环境,包含 shell 访问、文件操作和完整的审计轨迹。 这是一个研究代理自主性的研究项目:我们能将基于shell的工作流程推到多远?代理能否管理自己的开发环境并创建自己的工具? 当前的人工智能助手遇到了根本性的瓶颈: - :对话重置,上下文丢失,代理无法在之前的基础上继续构建 - :每个shell命令都需要人工批准,破坏代理流程和自主性 - :代理被困在预设工具上,无法构建所需 - :无法分析自己的痕迹以改进或从过去的会话中学习 DockaShell 消除了这些限制,探索了出现的成果: - : 构建和完善自己的工具、脚本和工作流程 - : 维护跨会话的知识库、维基、笔记本 - : 运行 shell 命令,无需持续人工......

概述(AI 翻译)

DockaShell 是一个 MCP(模型上下文协议)服务器,为 AI 代理提供了独立的 Docker 容器供工作。每个代理都有自己的持久环境,包含 shell 访问、文件操作和完整的审计轨迹。

这是一个探索代理自主性的研究项目:我们能将基于壳的工作流程推到多远?代理能否管理自己的开发环境并创建自己的工具?

为什么会有这样的存在

当前的人工智能助手遇到了根本性的瓶颈:

  • 无持久记忆:对话重置,上下文丢失,代理无法在之前工作基础上继续构建
  • 工具看护:每个壳级命令都需要人类批准,打断代理流程和自主性
  • 工具集有限:代理被困在预定义工具上,而非构建所需
  • 没有自我反思:无法分析自己的痕迹以改进或从过去的课程中学习

DockaShell 消除了这些限制,探索了出现的成果:

  • 自我演进的代理:构建和完善自己的工具、脚本和工作流程
  • 连续记忆:维护跨会话的知识库、维基、笔记本
  • 自主探索:运行壳级命令,无需持续人工干预

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

DockaShell

DockaShell is an MCP (Model Context Protocol) server that gives AI agents isolated Docker containers to work in. Each agent gets its own persistent environment with shell access, file operations, and full audit trails.

This is a research project exploring agent autonomy: How far can we push shell-based workflows? Can agents manage their own development environments and create their own tools?

Why this exists

Current AI assistants hit fundamental walls:

  • No persistent memory: Conversations reset, context is lost, agents can’t build on previous work
  • Tool babysitting: Every shell command needs human approval, breaking agent flow and autonomy
  • Limited toolsets: Agents stuck with predefined tools instead of building what they need
  • No self-reflection: Can’t analyze their own traces to improve or learn from past sessions

DockaShell removes these constraints to explore what emerges:

  • Self-evolving agents: Build and refine their own tools, scripts, and workflows
  • Continuous memory: Maintain knowledge bases, wikis, notebooks that persist across sessions
  • Autonomous exploration: Run shell commands without constant human intervention
  • Meta-learning: Analyze previous traces to improve decision-making and tool usage

The core question: What can agents accomplish when they have real persistence and autonomy?

How it works

AI Agent (Claude/GPT/...)
  ↔ DockaShell (MCP Server)
      └─ Docker Engine
          ├─ Container A (Project 1)
          │    └─ Persistent Volume
          ├─ Container B (Project 2)
          │    └─ Persistent Volume
          └─ Container C (Project 3)
               └─ Persistent Volume

Each AI agent gets its own isolated Docker container with persistent storage. Instead of dozens of custom tools, agents use standard shell commands (bash, git, npm, etc.) and build their own workflows.

Key principles:

  • Shell > specialized tools: Agents already “speak” POSIX, so let them use real commands
  • Container isolation: Full autonomy inside, zero risk to your host system
  • Persistent workspace: Files, databases, and context survive across sessions
  • Complete audit trail: Every command and file change is logged for analysis

→ See detailed architecture and security model

Quick Start

# Install
npm install -g dockashell

# Setup
dockashell build
dockashell create my-project
dockashell start my-project

Add to your MCP client configuration:

{
  "mcpServers": {
    "dockashell": {
      "command": "dockashell",
      "args": ["serve"]
    }
  }
}

Requirements: Node.js 20+, Docker running

Example workflows

Data analysis: Agent spins up Python environment, processes CSV files, generates insights

Web development: Agent builds React app, installs dependencies, runs dev server with live preview

在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "dockashell": { "command": "dockashell", "args": ["serve"] } } }