让 AI 直接在服务器上
读代码、改代码、跑命令

LeoDeepAI 用 SSH 常驻连接远程主机,Agent 在目标环境里真实读写文件、执行命令; 没有连接时,它在本机做同样的事。

127.0.0.1:4000已连接
LeoDeepAI 主界面:左侧是会话列表与远程文件管理,中间是 AI 助手的工具调用记录,右侧是终端与预览面板
  • 免费使用软件本身免费,模型按量自付
  • Node ≥ 22.18后端零编译,直接跑 TypeScript
  • 三平台Windows / macOS / Linux 安装包
  • 20+预置模型提供方,可加自定义
  • 127.0.0.1默认只监听本机,不暴露到公网

先把连接做稳,
再谈自动化

远程开发的失败大多出在连接上。LeoDeepAI 把连接层单独做厚:保活、重连、多服务器、工作区边界, 都放在 Agent 之下先解决掉。

  • 连接保持与自动重连

    10 秒心跳保活;掉线后按 2s、4s、8s 的指数退避自动重连,顶栏实时显示状态。密码与私钥认证都支持。

  • 配置存在服务端

    主机、端口、用户、认证方式保存为命名配置,密码与私钥只留在服务端、不下发前端;下拉即可在多台服务器间切换。

  • 切换不打断正在跑的会话

    会话绑定它启动时的那台服务器,切走以后仍在后台继续执行,切回来内容一条不少。

  • 写操作以工作区为界

    连接后选任意目录作为工作区,Agent 的写入、编辑、删除都被限制在界内,并且禁止删除工作区根目录。

/srv/ledger-api
远程文件面板:上方是远程与本地的目录浏览,下方列出 src、test、compose.yaml、package.json、README.md
SSH 连接面板:保持中的连接显示 prod-edge-01 已连接,下方是保存在服务端的服务器配置列表

同一套界面,两个工作区

远程和本地不是两个软件,而是同一套界面下的两种落地方式。切换工作区,工具集合随之切换, 对话、文件、终端的位置一个都不用重新学。

ssh prod-edge-01 · /srv/ledger-api
Agent 在一轮对话里连续调用四个工具:列出目录、读取文件、运行命令、写入文件,每条都带参数与结果

接上服务器,就在服务器上动手

连接后浏览远程文件系统,把任意目录选为工作区。Agent 的读、写、改、删与命令执行全部发生在那一台主机上,命令输出流式回传。

文件走 SFTP,命令走 SSH exec;写操作以工作区为界,越权由服务端拒绝。

  • list_directory
  • read_file
  • write_file
  • edit_file
  • run_command
  • search_code
  • glob
  • grep
AI AGENT

对话就是执行,
每一步都留在记录里

对话区的过程分组:用户下达一条指令后,Agent 依次列出目录、读取文件、执行命令、写入文件

工具调用摊开给你看

每一次读文件、改代码、跑命令都作为一条可展开的记录留在对话里: 参数、输出、退出码、改动 diff 都能回看,不需要相信一段"我改好了"的总结。

十几个真实工具

读操作并行执行,写操作互斥独占,调用顺序严格保持模型给出的顺序;工具可逐个启停并持久化。

  • run_command
  • edit_file
  • search_code
  • browser_click
  • subagent
  • todo_write
  • generate_image
  • ask_user_question

上下文水位看得见

优先采用提供方上报的真实 token 用量,网关不报时回退估算;悬浮可看系统提示词、工具调用与对话消息的分项。

@ 引文件,/ 唤指令

输入 @ 唤出工作区文件候选,选中即以完整路径发给模型; 输入 / 唤出压缩、计划、目标等系统命令与技能菜单。

派个只读子代理去查

大范围搜索交给独立上下文的调研子代理,它只能读、不能写;默认后台运行, 跑完把结论回传,主对话不用干等。

长任务跑到一半断掉,
两种断法都在这里堵住

  • 水到 80%,自动压缩

    按模型声明的窗口实时估算水位,超过可用窗口的 80% 就把早期对话压成摘要再继续,不需要你手动开新会话。

  • 对齐工具配对边界

    压缩区间按位置挑选,并与工具调用配对边界对齐,所以一条指令引发的长任务也能中途压缩,不会切出半截调用。

  • 压缩失败就降级裁剪

    摘要生成失败时自动退化为裁剪,保留下原始任务锚点;并在对话流里留一条"上下文压缩"标记,点开能看摘要。

四档权限,
由你决定 AI 能走多远

权限档位在对话中随时可切,并且随会话持久化。选中的档位直接决定下面这张表里每一类操作的处理方式。

当前档位确认
  • 读取文件自动
  • 写入与编辑需批准
  • 删除路径需批准
  • 执行命令需批准

权限档位随会话持久化,重启后仍在;未声明访问类别的新工具默认走审批,不会静默放行。

http://127.0.0.1:5173AI 可操控
内置浏览器预览标签:左侧是对话区,右侧预览面板左下角显示已连接的会话,工具栏标明 AI 可操控
BROWSER PREVIEW

跑起来的前端,
在这里直接看、直接点

  • 地址出现就能点

    命令输出里冒出 localhost:5173 这类地址时,顶栏会给出可点击的预览提示;聊天回复里的本地地址同样直接点开。

  • 链接不会把页面顶掉

    http(s) 链接一律在内置预览标签里打开,桌面端不会把整个应用替换成目标网页;想交给系统浏览器,按住 Ctrl 或 Cmd 再点。

  • AI 操作的就是你看到的那一页

    服务端用真实 Chromium 推流画面,AI 取结构化快照、按 ref 精确点击与输入。一个预览只服务一个对话,归属在面板上写着。

  • 远程项目自动隧道

    工作区在远程服务器时,localhost:端口 会经现有 SSH 连接转发到本机回环端口再预览,不需要额外开端口。

界面的其他部分

CodeMirror 6 编辑器打开远程的 ledger.js,左侧是行号与语法高亮

代码编辑器

点开文本文件即以 CodeMirror 6 打开:语法高亮、行号、折叠、补全、搜索,Ctrl+S 写回原文件并保留原有行尾风格。

终端标签:本地 PowerShell 会话执行 cd、node -v 与 dir 命令后的输出

常驻终端

每个终端都是独立的真实 PTY 会话,各自保留屏幕缓冲与 shell 进程;可以同时开远程终端与本机终端,切换只是显示与隐藏。

设置面板:左侧是分类导航,右侧是 AI 提供商卡片与模型列表

设置与模型

AI 配置、生图配置、主题、技能、工具插件、MCP 服务、全局指令集中在一处;自定义主题只要给六个颜色。

手机宽度下的 LeoDeepAI:底部是 AI 助手、终端、项目的单栏标签

手机也能用

窄屏自动切到底部标签单栏布局,会话由抽屉唤出;文件管理支持长按右键菜单,编辑器会避让软键盘。


模型、外部工具、技能,都有正经入口

不把能力写死在代码里:谁来推理、调用哪些外部服务、加载哪份指令,都在界面上改。

模型接入

预置 20+ 主流提供方,协议覆盖 OpenAI 兼容、Anthropic Messages 与 Gemini 原生; 也可以按名称、Base URL、模型清单和 Key 添加自己的端点,每个提供方记住上次用的模型。 没配 Key 时还有 mock 模式可以离线把整条流程跑通。

  • DeepSeek
  • OpenAI
  • Kimi
  • 智谱 GLM
  • 通义千问
  • 豆包
  • 千帆
  • 混元
  • 硅基流动
  • Ollama
  • vLLM
  • Anthropic
  • Gemini
  • 20+ …

MCP 服务

设置里直接编辑一份 JSON 数组就能增删改外部 MCP server,保存即生效。 支持 stdio 子进程与 Streamable HTTP;工具按 mcp__server__tool进入模型工具列表,断线自动按指数退避重连。

技能目录

内置技能、本机用户技能与工作区 .agents/skills/ 里的技能一起列出, 来源优先级是工作区、本机、内置。Agent 通过 skill 工具按需加载 SKILL.md,而不是一开始就把全部指令塞进上下文。

QUICK START

下载、安装,
直接进到工作界面

桌面安装包不依赖本机 Node,装完就能连服务器。默认只监听 127.0.0.1, 不会把服务暴露到公网。

桌面安装包
# 从 GitHub Releases 下载对应平台的安装包
https://github.com/LeoCodePlay/LeoDeepAI/releases

# 安装后直接可用,不依赖本机 Node
# 新版本在「设置 → 关于与更新」里一键升级(Windows 支持自动安装)

安装包不携带任何用户配置,首次运行会在系统应用数据目录里创建配置文件。

常见问题

权限边界、数据流向和运行依赖,这里一次说清楚。

不用。只要 SSH 能连上,读写走 SFTP、命令走 exec,远端不需要安装 Node 或本工具的任何组件。你自己的项目依赖照旧由项目自己管理。

把这套流程
装到你自己的服务器上

一个跑在本机的工具,把 AI Agent 送进目标环境,做完事再回到你手里。