host_console
主机台 HostConsole
把 SSH 交给 AI 操作,但把密钥留在自己手里。
English · 简体中文
特性 · 截图 · 快速开始 · 接入你的-ai · 安全模型 · 工作原理 · FAQ
Зачем нужна HostConsole
Вам наверняка знакома эта дилемма: хочется, чтобы ИИ помогал присматривать за NAS, сервером или роутером, но передавать SSH-ключи и пароли напрямую ИИ-клиенту как-то тревожно —
Как только ключ вставлен в конфигурацию ИИ, вы фактически отдаёте ему всю машину, и вы не можете быть уверены, где он будет записан;
Генерировать временный публичный ключ для ИИ и добавлять его в
authorized_keys, а потом не забыть удалить — хлопотно и легко забывается;Когда ИИ выполняет
sudo, вы не видите, какую команду он собирается запустить, не говоря уже о возможности её одобрить;При смене ИИ-клиента (Codex, OpenCode, ZCode…) всю процедуру авторизации придётся повторять заново.
Ответ HostConsole: ключи никогда не покидают ваш компьютер.
Вы вручную подключаетесь по SSH в HostConsole (пароль / приватный ключ, хранятся в зашифрованном виде на уровне системы), а затем передаёте «авторизованную сессию» ИИ через локальный MCP-мост. ИИ видит только псевдоним сессии (например, «домашний NAS»), может работать с терминалом, вы можете в любой момент поставить его на паузу или отключить — но он никогда не получит адрес, порт, имя пользователя и приватный ключ.
┌─────────────┐ SSH 凭据只到这里,加密保存 ┌──────────────┐
│ 你本人 │ ────────────────────────────▶ │ 你的 NAS / │
│ (主机台 UI) │ ◀──────────────────────────── │ 服务器 │
└──────┬──────┘ 已建立的 SSH 会话 └──────────────┘
│ 授权(相对安全 / 完全开放)
▼
┌──────────────┐ 本机命名管道(不出网、不开端口) ┌─────────────┐
│ 主机台 MCP │ ◀──────────────────────────▶ │ AI Agent │
│ 桥接器 │ 只传命令与输出、别名 │ Codex 等 │
└──────────────┘ └─────────────┘Related MCP server: SSH MCP Server
Сценарии использования
🏠 Домашний NAS / домашний сервер: пусть ИИ проверит статус SMART, почистит Docker, исправит предупреждения RAID — но не хочется отдавать ему root-права
🖥️ Личный VPS / рабочая машина: деплой, просмотр логов, правка конфигов nginx — ИИ работает, вы утверждаете
🌐 Роутер / сетевое оборудование: иногда нужна помощь ИИ в диагностике, но учётные данные устройства ни в коем случае не должны утекать
🔁 Пользователи нескольких ИИ-клиентов: Codex, OpenCode, ZCode, WorkBuddy используют один и тот же набор авторизованных SSH-сессий — при смене инструмента повторная авторизация не нужна
🛡️ Те, кто ценит аудит: каждая команда sudo проходит через окно подтверждения, всплывающее у вас перед глазами, с полным текстом команды
Скриншоты
Главный экран (Центр подключения агентов + режим прав) | Мастер подключения агента |
Центр подключения агентов (развёрнут) | Адаптивная вёрстка для узких экранов |
Ключевые возможности
🔐 Изоляция учётных данных: адрес SSH, порт и имя пользователя хранятся только в локальной конфигурации; пароль и приватный ключ шифруются через Electron
safeStorage(защита учётных данных Windows) и сохраняются в отдельном хранилище. ИИ через MCP получает только псевдоним сессии и статус авторизации — всё остальное недоступно; это гарантируется специальными тестовыми проверками.🚦 Два режима прав: относительно безопасный (ИИ может выполнять только семь фиксированных категорий проверок на чтение: идентификация / система / хранилище / процессы / контейнеры / сервисы / логи) и полностью открытый (полные права терминала текущей SSH-учётной записи), переключение в один клик в любой момент.
💳 Процесс одобрения sudo: когда ИИ требует повышения прав, он вызывает отдельный
exec_sudo, HostConsole автоматически показывает всплывающее окно с исходным текстом команды, и только после вашего одобрения она выполняется. Опциональное окно без запроса на 30 минут (по умолчанию, настраивается от 0 до 240 минут); пароль sudo передаётся из локального хранилища напрямую на удалённую сторону через стандартный ввод SSH — не попадает в текст команды, не попадает в журнал терминала, не попадает в контекст ИИ.🟢 Центр подключения агентов: все подключённые ИИ отображаются в реальном времени в виде индикаторов состояния (онлайн / офлайн / управляет), у каждого агента есть отдельный переключатель подключения — выключение немедленно лишает его прав управления SSH и авторизации sudo, не затрагивая других агентов и не разрывая SSH.
🧙 Мастер подключения в один клик: автоматически определяет и записывает шесть форматов конфигурации MCP: Codex TOML, OpenCode JSONC, ZCode, WorkBuddy и универсальные JSON/JSONC; перед записью доступен предпросмотр, автоматически создаётся резервная копия с меткой времени.
✍️ Единственная аренда записи: в один момент времени только один агент может писать в терминал; другие агенты видят статус занятости, но не могут вставить команду; передача управления происходит только по вашему явному указанию («принять / принудительно перехватить»).
🫸 Мгновенный разрыв: «Поставить ИИ на паузу» немедленно блокирует операции, но сохраняет SSH-подключение; «Разорвать соединение» одновременно отзывает авторизацию, аренду и права sudo.
🖥️ Ручной ввод команд как запасной вариант: если ИИ отказывается выполнять или требуется интерактивный ввод, в интерфейсе есть встроенное поле ввода команд — вы вводите сами.
🇨🇳 Полностью китайский интерфейс: создан для китайскоязычных пользователей — от режимов прав до сообщений об ошибках, ни одного английского термина, который нужно было бы переводить.
✅ 29 тестов безопасности: изоляция учётных данных, эксклюзивность аренды, жизненный цикл sudo, десенсибилизация конфигурации и другие ключевые заявления о безопасности подкреплены автоматизированными тестами (
npm test).
Быстрый старт
Требования к окружению
Windows 10/11
Node.js 20+ (включая npm)
Запуск
git clone https://github.com/tuweihuasheng/host-console.git
cd host-console
npm install
npm run desktopПосле закрытия окна приложения оно остаётся в системном трее, SSH-сессии при этом не разрываются.
Три шага для начала работы
Подключение: нажмите «Новое подключение», выберите пароль SSH / вставьте приватный ключ / выберите файл ключа; при первом подключении проверьте и зафиксируйте SHA-256 отпечаток хоста (TOFU).
Авторизация: после подключения выберите справа «Относительно безопасный» или «Полностью открытый».
Призовите ИИ: скажите уже подключённому к HostConsole ИИ —
К этой машине подключён SSH «домашний NAS», пожалуйста, проверь состояние диска и контейнеров Docker.
ИИ автоматически обнаружит авторизованную сессию через MCP, получит контроль и начнёт работу.
Подключение вашего ИИ
HostConsole предоставляет MCP-сервис через локальный именованный канал (\\.\pipe\host-console-mcp), не прослушивая ни один TCP-порт — облачные агенты не могут до него добраться.
Самый простой способ — нажать в HostConsole кнопку «Подключить агента» и использовать встроенный мастер для автоматической записи конфигурации (с автоматическим резервным копированием и предпросмотром). Ниже приведены справочные конфигурации для ручной настройки:
Codex (~/.codex/config.toml)
[mcp_servers.host_console]
command = "node.exe 的完整路径"
args = ["C:\\path\\to\\host-console\\mcp\\server.mjs"]
startup_timeout_sec = 10
tool_timeout_sec = 60OpenCode (~/.config/opencode/opencode.jsonc)
"mcp": {
"host_console": {
"type": "local",
"command": ["node.exe 的完整路径", "C:\\path\\to\\host-console\\mcp\\server.mjs"],
"enabled": true,
"timeout": 60000,
"environment": {
"HOST_CONSOLE_AGENT_LABEL": "OpenCode",
"HOST_CONSOLE_CLIENT_KIND": "opencode"
}
}
}ZCode (mcp.servers в ~/.zcode/cli/config.json), WorkBuddy (mcpServers в ~/.codebuddy/.mcp.json) и любой универсальный JSON/JSONC — подключаются по той же структуре, или используйте встроенный мастер.
После записи конфигурации необходимо полностью выйти и перезапустить соответствующий ИИ-клиент (MCP-клиент загружает конфигурацию только при запуске). После успешного подключения в «Центре подключения агентов» HostConsole появится зелёный индикатор, а псевдонимы авторизованных сессий и режимы прав будут синхронизированы с ИИ.
Модель безопасности
Что ИИ может видеть, а что нет
ИИ видит | ИИ не видит | |
Сессия | псевдоним (например, «домашний NAS»), статус подключения, режим прав | адрес хоста, порт, имя пользователя |
Учётные данные | —— | пароль SSH, приватный ключ, пароль sudo (все зашифрованы в локальном хранилище) |
Операции | относительно безопасный: 7 фиксированных проверок на чтениеполностью открытый: любые команды + одобрение sudo | команды, обходящие одобрение sudo, отклоняются напрямую |
Терминал | последний вывод (читаемый текст) | ваш ручной ввод не отображается |
Многоуровневая защита
Изоляция на уровне канала: MCP привязан только к локальному именованному каналу, без выхода в сеть и без открытия портов; никто за пределами этого компьютера не может подключиться.
Единственная аренда записи: при параллельных агентах только один может управлять терминалом, перехват управления требует явного указания пользователя.
Двухфакторное подтверждение: в сценарии с несколькими сессиями ИИ должен одновременно предоставить ID сессии и точный псевдоним, чтобы получить контроль; при несовпадении — отказ.
Жизненный цикл sudo: временная авторизация привязана только к текущей сессии и текущему управляющему агенту; при паузе / разрыве / перехвате / понижении прав / истечении срока немедленно аннулируется, также можно завершить вручную в любой момент.
Необратимость учётных данных: для смены учётных данных необходимо сначала разорвать SSH; старые учётные данные никогда не отображаются, новые записываются поверх в зашифрованном виде.
Известные ограничения
Вредоносный локальный процесс, работающий под тем же пользователем Windows, что и HostConsole, теоретически может подключиться к именованному каналу — не используйте режим «Полностью открытый» в недоверенном локальном окружении.
Сейчас это MVP: подписанный установочный пакет и автоматическое обновление пока не предоставляются.
Обзор инструментов MCP
9 инструментов, доступных на стороне ИИ:
Инструмент | Назначение | Требования к правам |
| просмотр подключённых ИИ-клиентов и авторизованных сессий (только псевдонимы и статус) | любые |
| обнаружение авторизованных SSH-сессий | любые |
| просмотр статуса подключения, режима авторизации, статуса паузы, текущего управляющего | любые |
| получение аренды записи для одного агента (при нескольких сессиях — двойное подтверждение ID + псевдоним) | любые |
| освобождение аренды (без разрыва SSH и отзыва авторизации) | любые |
| 7 фиксированных диагностик на чтение (идентификация / система / хранилище / процессы / контейнеры / сервисы / логи) | относительно безопасный |
| выполнение произвольных команд Shell (с обнаружением sudo; команды с sudo отклоняются) | полностью открытый |
| команды с повышением прав, выполняются после одобрения через окно подтверждения HostConsole | полностью открытый + одобрение |
| чтение последнего вывода интерактивного терминала | полностью открытый |
Принцип работы
主机台 (Electron)
├── src/ 全中文桌面界面(React 19)
├── electron/
│ ├── main.cjs 窗口、托盘、命名管道服务、IPC
│ ├── session-manager.cjs 加密保险箱、SSH 连接池、授权与租约、sudo 审批
│ ├── agent-config.cjs 6 种格式的 Agent 配置向导(预览 + 备份 + 原子写入)
│ └── policy.cjs 只读命令白名单、公开信息脱敏
├── mcp/server.mjs MCP 桥接服务(stdio → 命名管道)
└── tests/ 29 项安全与行为测试FAQ
В: Как ИИ узнаёт, что нужно вызывать HostConsole? После подключения MCP HostConsole в инициализационном сообщении активно синхронизирует с ИИ псевдонимы авторизованных сессий и режимы прав. Вам достаточно дать задачу как обычно: «К этой машине подключён SSH домашнего NAS, пожалуйста…».
В: Можно ли использовать другой ИИ-клиент? Да. Авторизация привязана к SSH-сессии, а не к агенту. Любой локальный ИИ, подключённый к MCP HostConsole, может обнаружить и (при свободной аренде) перехватить ту же сессию.
В: Что будет, если одновременно подключено несколько SSH? ИИ должен предоставить двойное подтверждение — ID сессии и точный псевдоним, чтобы предотвратить управление не тем хостом.
В: Увидит ли ИИ пароль sudo? Нет. Пароль расшифровывается из локального хранилища и передаётся напрямую удалённому sudo через стандартный ввод SSH, не проходя через ИИ, не попадая в текст команды и журнал терминала (есть специальные тестовые проверки).
В: Пропадут ли учётные данные при отключении питания / выключении? Нет. Файл хранилища сохраняется в каталоге данных пользователя Windows и шифруется системной защитой учётных данных; но не копируйте файл хранилища на недоверенные машины.
В: Поддерживаются ли Linux / macOS?
Интерфейс и логика не имеют платформенных предположений, но в настоящее время разработка и проверка ведутся на Windows; safeStorage на других платформах использует их системные связки ключей. Приветствуются отзывы по результатам тестирования.
Разработка
npm run dev # 浏览器开发预览
npm run desktop # 构建并启动 Electron 桌面版
npm test # 29 项测试Перед участием в разработке прочитайте AGENTS.md, чтобы ознакомиться с договорённостями о продуктовых решениях проекта.
Лицензия
MIT © 2026 участники host-console
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that gives AI agents SSH access to remote machines through your local OpenSSH client, enabling remote command execution, file transfer, persistent shell sessions, and port forwarding.175MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents SSH capabilities to execute commands, transfer files, and inspect remote systems through a preconfigured host list.43MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for managing remote SSH servers, enabling AI agents to execute commands, transfer files, and perform deployment operations securely.MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI to execute SSH commands on remote servers using the host's OpenSSH client, supporting both configured targets and dynamic connections with request-scoped credentials.
Related MCP Connectors
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tuweihuasheng/host-console'
If you have feedback or need assistance with the MCP directory API, please join our Discord server