Skip to content

weidu12123/1Shell

Repository files navigation

1Shell

One Shell to rule them all.

面向个人开发者和小团队的 AI 时代 VPS 集成管理中枢

将多机终端、文件管理、脚本执行、探针监控、诊断审计、智能运维 Agent、MCP 内部扩展与外部协作能力、自动化 Program 集成到一个本地优先的控制台中,让 VPS 不再只是“可连接”,而是成为可观察、可操作、可自动化、可被智能体协同管理的运维对象。

version node license docker docs

完整使用指南 | 下载 v4.0.0 Release


什么是 1Shell?

1Shell 是一个面向个人开发者、小团队和轻量运维场景的 VPS 集成管理中枢。

传统 Web SSH 面板解决的是“如何连上服务器”;1Shell 更关注连接之后的完整运维闭环:

观察状态 → 进入主机 → 查看文件 / 日志 → 执行命令 / 脚本
       → 调用智能体分析与处理 → 验证结果 → 沉淀为可复用自动化

在 1Shell 中,终端、文件、脚本、探针、诊断、审计、Program、MCP 和 Agent 并不是分散的功能页面,而是围绕 VPS 运维场景组织起来的一套统一能力层。

这意味着:

  • 你可以像传统控制台一样管理多台 VPS;
  • 也可以让 1Shell 内部智能运维 Agent 在授权范围内调用这些能力;
  • 可以通过内部 MCP 扩展接入数据库、通知、知识库、自定义 API 等外部工具;
  • 还可以在本地电脑、内网或可信网络中,让 Claude Code、VSCode 内的 Claude 或其他外部 Agent 通过 1Shell 协作管理 VPS;
  • 最后,可以把常见运维流程沉淀成 Program,让经验变成可复用的小型运维应用。

核心能力

1. 多 VPS 集成管理

1Shell 提供统一的 VPS 工作台,用于管理多台远程主机和本机环境。

能力 说明
多机 SSH 终端 统一管理本机 Shell 与远程 SSH 会话
SFTP 文件管理 浏览、预览、编辑、上传、下载远程文件
主机仓库 管理主机、角色、标签、排序、归档与连接信息
脚本库 创建、编辑、执行和复用参数化运维脚本
项目管理 围绕 VPS 上的服务、端口、反代、证书和部署状态组织操作入口
审计日志 记录关键命令、脚本执行、Bridge 调用和高风险操作
页面状态保持 主控台、探针、仓库等页面返回时保留上下文

1Shell 的目标不是替代所有专业运维系统,而是给个人开发者和小团队提供一个足够完整、足够可控、足够易扩展的 VPS 运维入口。


2. 智能运维 Agent 与上下文感知

1Shell 内置多种智能交互入口,但它们各自承担不同职责。

入口 定位
1Shell AI 平台内部智能运维 Agent,可感知页面上下文并调用 1Shell 工具
AI Chat 独立聊天入口,用于普通问答、解释和上下文分析
AI Agent 面板 在 Web 控制台内运行 Claude Code、OpenCode、Codex 等 AI CLI
终端选区分析 对选中的终端输出进行错误解释和修复建议
命令建议 根据自然语言生成可检查、可注入终端的命令
Ghost Text 在终端输入时提供内联补全建议

1Shell AI 与普通聊天机器人的区别在于:它不是只“解释”服务器状态,而是可以在授权、安全审批和审计约束下调用 1Shell 的内部能力,例如:

  • 列出主机;
  • 执行远程命令;
  • 读取或写入远程文件;
  • 调用脚本库;
  • 查询探针指标;
  • 读取告警;
  • 执行网络诊断;
  • 安装、重启或卸载 probe-agent;
  • 创建或维护 Program、Skill、Script 和 MCP 接入。

3. MCP:内部调用与外部协作

1Shell 的 MCP 能力分为两个方向:内部 MCP 调用外部 MCP 协作

这两者都围绕同一个目标:把 1Shell 的运维能力标准化为智能体可以调用的工具,但调用者和部署场景不同。

内部 MCP 调用

服务器部署 1Shell 时,MCP 依然有价值。1Shell MCP 本身是平台能力总线,可以把主机、文件、脚本、探针、告警、诊断、Program、审计等能力统一开放给 1Shell 运行时内部的智能体。

这意味着内部的 1Shell AI、全局悬浮 AI、主控台 AI,以及运行在 1Shell 控制台里的 Claude Code / OpenCode / Codex 等第三方 AI CLI,都可以通过同一套 MCP 能力调用整个 1Shell 平台。

1Shell AI / 全局 AI / 内嵌 Claude Code / OpenCode / Codex
        ↓
1Shell MCP 能力总线
        ↓
主机 / 文件 / 脚本 / 探针 / 告警 / 诊断 / Program / 审计

同时,1Shell 也可以接入第三方 MCP Server,让内部智能体在运维过程中调用数据库、通知、知识库、自定义 API 或团队内部工具。

外部 MCP 协作

在本地电脑、内网控制面、VPN / Tailscale / ZeroTier、可信网络或高级自动化场景中,1Shell 也可以作为 MCP Server,把同一套 VPS 运维能力开放给外部 Agent。

Claude Code / VSCode Claude / 外部 Agent
        ↓
1Shell MCP Server
        ↓
主机 / 文件 / 脚本 / 探针 / 告警 / 诊断 / Program / 审计

外部 Agent 在授权范围内可以调用:

  • 主机列表与主机状态;
  • 远程命令执行;
  • 远程文件读取、写入、上传、下载;
  • 脚本查询与执行;
  • 探针快照、历史样本、时序数据、流量数据;
  • 告警查询与确认;
  • Ping / DNS / HTTP 诊断;
  • probe-agent 安装、重启、卸载;
  • Program 与自动化能力;
  • 审计日志查询;
  • MCP Server 管理。

因此,MCP 在 1Shell 中不是单纯的“对外接口”。它首先是内部智能体调用 1Shell 全部能力的统一通道,同时也可以在可信网络中成为外部 Agent 协作管理 VPS 的入口。


4. 探针系统与监控闭环

1Shell 内置 VPS 探针系统,用于观察服务器运行状态。

模式 说明 适合场景
Agentless SSH 探针 不在目标机安装组件,通过 SSH 采集基础指标 快速接入、低侵入
probe-agent 在目标机安装轻量常驻 Agent 长期监控、稳定采样、完整指标
probe-relay-agent 通过中继 Agent 汇聚不可直连网络中的探针数据 内网、隔离网络、中继场景

探针能力包括:

  • CPU、内存、磁盘、负载、进程、系统信息;
  • 网络速率、累计流量、月度流量统计;
  • 1m / 1h / 1d 多粒度时序数据;
  • 离线告警、阈值告警、流量告警;
  • 告警确认与历史记录;
  • Ping / DNS / HTTP 网络诊断;
  • Agent 安装、重启、卸载和真实状态校验。

探针不是独立监控页面,而是 1Shell 运维闭环的一部分。智能体可以读取探针状态,脚本可以基于探针结果执行,Program 可以把监控与处置流程沉淀为可复用自动化。


5. Program:可沉淀的运维小应用

Program 是 1Shell 的自动化应用模型。

它用于把一次性的运维动作、排障经验或交付流程沉淀为可复用的小型运维程序。

一个 Program 可以包含:

  • 输入参数;
  • 手动或定时触发器;
  • L1 确定性执行步骤;
  • L2 Skill 维护或修复逻辑;
  • L3 Guardian 升级策略;
  • 结果渲染;
  • 专属 UI Artifact;
  • 实例管理与运行历史。

典型场景包括:

  • VPS 健康检查;
  • 证书申请与续签;
  • 反向代理配置;
  • GitHub 项目部署;
  • 服务启停管理;
  • 日志检查;
  • 告警处理;
  • 备份与巡检;
  • 内网探针部署。

Program 的核心原则是:

L1 能确定执行,就不上智能体;
L2 能在 Skill 约束内修复,就不上 L3;
L3 只处理越界、高风险、疑似事故或需要人工判断的场景;
无论成功或失败,都必须进入可读的结果界面。

这使得 1Shell 不只是一个固定功能集合,而是一个可以持续扩展的运维工作台。


6. Skill、脚本库与创作台

1Shell 支持多种可复用资产:

类型 说明
Script 参数化脚本,适合直接执行的命令封装
Program 可触发、可验证、可展示结果的运维程序
1Shell Skill Extension 面向 1Shell runner / Program L2 的 AI 约束包
Claude Code Skill 标准 Claude Code Skill 的托管与管理
MCP Server 内部工具扩展与外部 Agent 协作

创作台用于创建和维护这些资产。

复杂 Program / Skill 的创建不是简单“一句话写文件”,而是通过阶段化 Authoring Session 完成:

discovery → options → spec → plan → draft → review → commit → verify

在批准之前,草案不会写入最终目录;写入后会重新加载 registry 并执行验证。 这让智能生成的自动化资产更可审查、更安全,也更适合长期维护。


快速开始

环境要求

  • Node.js >= 18
  • npm
  • Linux / Windows / macOS 均可运行服务端
  • 远程 VPS 需支持 SSH
  • AI 能力需要配置 OpenAI 兼容 API 或对应 Provider

下载便携包

v4.0 Release 提供 Windows 和 Linux x64 便携包。便携包已包含生产依赖和已构建前端,下载解压后不需要再执行 npm install,但运行机器仍需要安装 Node.js 18 或更高版本。

平台 文件 启动方式
Windows x64 1Shell-v4.0.0-windows-x64.zip 解压后运行 start.bat,或执行 node server.js
Linux x64 1Shell-v4.0.0-linux-x64.tar.gz 解压后运行 bash start.sh,或执行 node server.js

默认访问地址:

http://localhost:3301

Linux 一键安装

curl -fsSL https://raw.githubusercontent.com/weidu12123/1Shell/main/install.sh | bash

可选参数:

bash install.sh --port 3301 --password change-me --dir /opt/1shell
bash install.sh --docker

Docker 部署

git clone https://github.com/weidu12123/1Shell.git
cd 1Shell
cp .env.example .env
docker compose up -d

源码运行

git clone https://github.com/weidu12123/1Shell.git
cd 1Shell
npm install
cp .env.example .env
npm start

前端开发:

cd frontend
npm install
npm run dev
npm run build

首次配置

启动后建议完成以下配置:

  1. 修改默认登录账号和密码;
  2. 配置 APP_SECRET
  3. 配置 BRIDGE_TOKEN
  4. 配置 AI Provider;
  5. 添加第一台 SSH 主机;
  6. 启用 Agentless 探针;
  7. 如需长期监控,再部署 probe-agent;
  8. 如需外部 Agent 协作,配置 MCP Server 地址和 Bridge Token;仅使用内部 AI 时无需对公网暴露 MCP。

示例 .env

APP_LOGIN_USERNAME=admin
APP_LOGIN_PASSWORD=change-me

APP_SECRET=replace-with-random-secret

OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_API_KEY=replace-with-your-key
OPENAI_MODEL=gpt-4o

BRIDGE_TOKEN=replace-with-random-token
PORT=3301

生产环境请务必修改默认密码、APP_SECRETBRIDGE_TOKEN,并通过 HTTPS 访问。


外部 MCP 协作接入示例

如果你希望在本地电脑、内网或可信网络中让外部 Agent 调用 1Shell,可以把 1Shell 配置为 MCP Server。

示例配置:

{
  "mcpServers": {
    "1shell": {
      "url": "http://your-server:3301/mcp/sse",
      "headers": {
        "X-Bridge-Token": "replace-with-your-bridge-token"
      }
    }
  }
}

接入后,外部 Agent 可以在授权范围内调用 1Shell 暴露的主机、文件、脚本、探针、诊断、Program 和审计能力。服务器部署场景下,如果只使用 1Shell 内部 AI,则不需要把 MCP 暴露给公网。


架构概览

Browser
  └─ Vue 3 SPA / xterm.js / Tailwind / Pinia
        │
        │ HTTP + WebSocket
        ▼
1Shell Server
  ├─ Express / Socket.IO
  ├─ Auth / CSRF / IP Filter / Audit
  ├─ SSH Terminal / SFTP File Service
  ├─ Script Service / Script Runner
  ├─ Probe Service
  │   ├─ Agentless SSH Probe
  │   ├─ probe-agent
  │   └─ probe-relay-agent
  ├─ AI Service
  ├─ 1Shell AI Tools
  ├─ MCP Server / MCP Warehouse
  ├─ Program Engine
  │   ├─ L1 deterministic execution
  │   ├─ L2 Skill maintenance layer
  │   └─ L3 Guardian escalation
  ├─ Skill Runner / Authoring Session
  ├─ AI Agent PTY
  └─ SQLite / Repositories / Migrations

技术栈

层级 技术
前端 Vue 3、Vite、TypeScript、Tailwind CSS、Pinia、Vue Router、xterm.js
后端 Node.js、Express、Socket.IO
数据库 SQLite、better-sqlite3
SSH / SFTP ssh2、node-pty
AI OpenAI 兼容 API、流式输出、工具调用
MCP MCP SSE / Streamable HTTP
探针 Agentless SSH、probe-agent、probe-relay-agent
自动化 Program Engine、Skill Runner、Authoring Session
部署 Docker、docker-compose、systemd、便携包

项目结构

1Shell/
├── server.js                    # 服务入口
├── frontend/                    # Vue 3 前端
│   ├── src/
│   └── dist/
├── src/
│   ├── agents/                  # AI CLI Agent 面板
│   ├── app/                     # Express / Server 初始化
│   ├── database/                # SQLite 与 migrations
│   ├── guardian/                # L3 Guardian
│   ├── ide/                     # 1Shell AI 与工具调用
│   ├── mcp/                     # MCP Server
│   ├── middleware/              # 安全中间件
│   ├── programs/                # Program Engine
│   ├── routes/                  # API 路由
│   ├── services/                # 主机、文件、探针、脚本等服务
│   ├── skills/                  # Skill registry / runner
│   └── tools/                   # 统一工具层
├── data/
│   ├── programs/                # Program 定义与 UI Artifact
│   ├── skills/                  # 1Shell Skill Extension
│   ├── claude-code-skills/      # Claude Code Skill 托管
│   ├── local-mcp/               # 本地 MCP Server
│   └── geoip/                   # GeoIP 数据
├── agent/                       # probe-agent / relay-agent
├── docs/                        # 使用文档
├── public/                      # 静态资源
├── Dockerfile
├── docker-compose.yml
└── install.sh

安全设计

1Shell 面向真实服务器操作场景,因此安全边界是核心设计之一。

机制 说明
登录认证 用户名密码与 Session 管理
凭据加密 SSH 密码、私钥、Passphrase 加密存储
CSRF 防护 Session Cookie + CSRF Token
IP 访问控制 支持白名单、黑名单和 CIDR
Bridge Token Web Session 与外部 Bridge / MCP 鉴权隔离
安全模式 高风险工具调用前需要人工审批
危险命令拦截 对明显破坏性命令进行限制
审计日志 记录命令、脚本、Bridge 调用和关键操作
Program 分层 L1 / L2 / L3 分层约束,避免智能体无边界执行

1Shell 的设计目标不是让智能体绕过运维安全边界,而是在明确授权、可审计、可验证的前提下参与运维流程。


适用场景

1Shell 适合:

  • 个人开发者管理多台 VPS;
  • 小团队统一管理测试机、部署机和服务节点;
  • 需要在浏览器中同时处理终端、文件、脚本和监控的场景;
  • 希望让智能体在授权范围内协助排障、巡检、部署和维护;
  • 希望让内部智能体通过 MCP 调用 1Shell 全部平台能力,或在可信网络中开放给外部 AI 工具协作;
  • 希望把常用运维流程沉淀为可复用 Program;
  • 希望在本地优先、可控、可审计的前提下构建个人运维中枢。

与传统工具的区别

维度 传统 Web SSH / 面板 Ansible / Terraform 1Shell
核心目标 连接和管理服务器 批量自动化 / 基础设施编排 AI 时代 VPS 集成管理中枢
交互方式 页面操作为主 配置文件 / CLI 为主 控制台 + Agent + MCP + Program
智能体能力 通常没有 通常没有 内置 Agent + MCP 内部调用 + 外部协作
文件与终端 统一主控台
监控探针 部分支持 非核心 Agentless + probe-agent + relay-agent
自动化沉淀 定时任务 / 脚本 自动化配置 / State Script / Skill / Program / UI Artifact
外部 AI 接入 通常不支持 需自行封装 MCP Server + Bridge API
适合对象 服务器面板用户 专业 DevOps / IaC 用户 个人开发者、小团队、AI 工具用户

License

MIT © 2025 weidu12123

友链

https://linux.do