文档教程后端【免费下载链接】CodeGuide:books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总旨在为大家提供一个清晰详细的学习教程侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助请给予支持(关注、点赞、分享)项目地址https://gitcode.com/gh_mirrors/code/CodeGuide点击查看免费下载本篇是《WaLiSSH - AI Shell 智能终端》项目的第 1-3 节内容梳理。文章围绕如何在 Spring Boot 工程中完成 SSH 连接能力对接这一核心目标展开介绍 JSch 技术选型、SSH 协议与认证机制以及 DDD 架构下 Domain 层 Port 接口与 Infrastructure 层实现分离的设计思想。读完本文你将理解 AI Shell 运行时智能体与底层 Shell 能力的关系掌握 SSH 会话建立、远程命令执行、SFTP 文件传输这三类能力的适用范围并看清 WaLiSSH 后续章节库表设计、领域设计、接口对接、终端命令处理如何在这块地基上逐层构建。一、本章诉求先搭起 AI Shell 的 Shell 能力WaLiSSH 的目标是构建一个AI Shell 运行时智能体。可以简单地把运行时智能体理解为对用户的请求进行意图识别LLM Prompt 上下文再根据具体场景诉求与相关的mcp、skills、tool、cli进行交互操作直至完成用户请求。要做 AI Shell第一步就是先把与服务器的Shell 能力建立起来——也就是本节的核心内容在 Spring Boot 工程中对接 SSH。之后再把 Shell 能力包装为工具Tool和相应的提示词Prompt让 LLM 大模型可以识别到这样就完成了最简单的 AI Shell 能力闭环。需要特别强调的是这套流程是通用的当你完整学完 WaLiSSH 中SSH 能力 → 工具化 → 提示词 → LLM 意图识别这一套流程后就可以横向复用到 AI MySQL、AI Redis、AI Coding甚至互联网公司里最常见的 AI 智能客服等场景。SSH 连接只是第一个载体方法论的收益远超这一个功能点。敲黑板这一节的代码量不大核心也不只是写出代码更重要的是理解 DDD 架构下Domain 层 Port 接口与 Infrastructure 层实现的分离。掌握了这个设计思想以后无论底层换成什么 SSH 库Domain 层的代码一行都不用改。二、技术选型为什么使用 JSchSSH 对接选用JSch——纯 Java 实现的 SSH2 协议库成熟稳定后续还会基于它实现命令执行和 SFTP 文件传输这一选型并不局限你也可以检索其他 SSH 协议库多方面对比。在项目整体技术栈中JSch 与 Spring Boot、Google ADK 等一起构成了 WaLiSSH 服务端walissh-server的核心依赖正如第1-1节初始化工程搭建中所列后端采用 DDD 领域驱动设计 Spring Boot Google ADKAgent Development Kit JSch其中 JSch 负责 SSH 连接、远程命令执行、文件传输是实现 SSH 终端功能的核心依赖。2.1 SSH 协议基础SSHSecure Shell是一种加密的网络传输协议用于在不安全的网络中安全地远程登录和执行命令。可以把 SSH 理解为一条加密的隧道客户端与服务器之间的所有数据都在隧道内安全传输外人无法窃听或篡改。SSH 连接支持两种认证方式两者各有适用场景认证方式优点缺点适用场景密码认证简单直观无需额外配置安全性相对较低需要每次输入密码快速测试、临时连接密钥认证安全性高支持免密登录需要生成和管理密钥对生产环境、自动化运维在 WaLiSSH 的实现中两种认证方式都支持且互斥使用——优先使用密钥没有密钥则走密码。这一认证策略决定了后续连接配置的数据结构一条 SSH 连接需要同时承载认证方式与认证凭证两类信息这与第1-4节ssh连接配置库表设计中认证方式密码 or 私钥、认证凭证密码 or 私钥内容字段的设计完全对应。2.2 JSch 库的三个核心能力JSch 是 Java Secure Channel 的缩写提供了完整的 SSH2 客户端功能包括端口转发本地 / 远程 / 动态文件传输SFTP执行远程命令X11 转发在 WaLiSSH 项目中主要使用它的三个能力并且三者分别在项目的不同阶段落地能力对应通道落地阶段建立 SSH 会话Session本节实现执行远程命令ChannelExec本节测试时验证使用 IntelliJ IDEA创建 SFTP 通道ChannelSftp后续章节使用文件上传 / 下载在 Spring Boot 工程中引入 JSch 依赖对应文档给出的 mwiede 维护分支的坐标形式后就可以围绕Session建立加密会话、通过ChannelExec执行远程命令、通过ChannelSftp传输文件这三条通道共同构成了 WaLiSSH 面向云服务器的基础操作面。三、DDD 架构下的对接设计Port 接口与 Infrastructure 实现分离本节在工程落地上最值得学习的设计点是 DDD 分层带来的依赖倒置Domain 层只定义 Port 接口领域层不关心 SSH 具体怎么连、用什么库连只声明业务需要的连接、执行、断开等能力契约Infrastructure 层提供实现JSch 相关的会话建立、参数装配、连接建立等细节全部沉淀在基础设施层由 Port 接口的实现类承载。这样做的好处非常直接未来无论底层从 JSch 换成其他 SSH 库比如 Apache MINA SSHDDomain 层的业务代码一行都不用改只替换 Infrastructure 层的实现即可。这也是后续章节反复强化的 DDD 设计主线——第1-5节连接SSH简单领域设计正是在此基础上把 SSH 连接的增删改查与建立/断开操作封装进领域服务并强调领域层关注业务规则设计而不是调数据库。同时要注意SSH 连接参数不只是主机 用户名 密码这么简单。结合第1-4节ssh连接配置库表设计的需求分析一条连接配置至少包含以下三类信息它们最终都会在 Infrastructure 层装配到 JSch 的Session上基础连接信息连接名称如腾讯云服务器主机地址如140.143.183.225端口号默认22用户名如root、ubuntu认证方式密码 or 私钥认证凭证密码 or 私钥内容高级配置信息连接超时时间默认 10 秒保活间隔默认 60 秒是否启用压缩是否严格检查主机密钥已知主机密钥列表连接后执行的启动命令系统管理信息用户ID区分不同用户的连接配置连接状态未连接、已连接、连接中、连接失败加密标志标识凭证是否加密创建时间、更新时间逻辑删除标志其中连接超时时间保活间隔是否严格检查主机密钥等高级配置在 JSch 中都有对应的会话参数设置项Infrastructure 层实现时把这些配置逐项映射到Session的配置接口上即可加密标志则对应凭证密码/私钥在数据库中的加密存储方案。四、从 Session 到终端本节之后的完整落地链路本节建立的 SSH 连接能力不是终点而是 WaLiSSH 系列课程的起点。从第1-3节ssh连接云服务器往后这条能力链路的走向非常清晰持久化连接配置第 1-4 节把上文提到的连接信息拆分为ssh_connection与ssh_connection_config两张表存储涉及表拆分设计、字段类型选择varchar、tinyint、longtext、索引设计主键、唯一索引、普通索引以及密码/私钥的加密存储方案封装领域服务第 1-5 节把 PO、DAO、Mapper 向上封装到 Domain 层形成 SSH 连接管理领域服务完成创建、查询、更新、删除连接配置以及建立/断开连接等能力并配套单测验证暴露 HTTP 接口第 1-6 节服务端提供SshConnectionController封装领域服务把操作 SSH 服务器的能力通过创建连接、更新连接、删除连接、获取连接、连接列表等接口对外暴露前端通过api/request.ts与接口对接实现终端命令交互第 1-7 节JSch 的Session与ChannelExec在这里被真正盘活。前端 xterm.js 的输入路径为用户在终端敲键盘 →onData事件拿到输入字符 → 写入缓冲10ms 批量合并→ 调用POST /terminal/write发到后端 → 写入 JSch Shell 的OutputStream→ 远程 Shell 收到字符并执行输出路径为远程 Shell 产生输出 → 后台读取线程持续从 JSchInputStream读取 → 写入StringBuilder缓冲区 → 前端每 50ms 调用GET /terminal/read轮询 → 拿到输出后terminal.write()渲染到 xterm.js。这里没有用 WebSocket 而是采用 HTTP 轮询是因为 WaLiSSH 是 Tauri 桌面应用前后端都在本地网络延迟极低50ms 轮询对终端操作完全够用且实现更简单。而ChannelSftp通道则在后续文件能力中承担上传/下载职责对应 WaLiSSH 产品中打开本地多个文件夹、切换选择、上传文件的 SFTP 增强体验详见项目总览文档。五、小结本节完成了 WaLiSSH 从空工程到具备服务器连接能力的关键一步能力定位SSH 连接是 AI Shell 运行时智能体的手脚意图识别与工具编排是大脑先有手脚才能谈智能技术底座JSch 以Session/ChannelExec/ChannelSftp三个通道覆盖会话建立、命令执行、文件传输配以优先密钥、兜底密码的互斥认证策略架构纪律Domain 层 Port 接口与 Infrastructure 层实现分离让 SSH 库的更换不影响业务代码这是整条 DDD 学习主线的起点也是后续库表设计、领域服务、HTTP 接口、终端命令处理逐层构建的根基。掌握本节之后你已经拥有了把任意一台云服务器接入WaLiSSH 的能力接下来的章节将在这条加密隧道之上逐步装配智能体的意图识别与工具调用让 AI 替你执行运维命令。赞分享文档教程后端【免费下载链接】CodeGuide:books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总旨在为大家提供一个清晰详细的学习教程侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助请给予支持(关注、点赞、分享)项目地址https://gitcode.com/gh_mirrors/code/CodeGuide点击查看免费下载相关推荐WaLiSSH基于 Spring AI Google ADK Tauri 的 AI Shell 智能运维终端实战WaLiSSH基于 Spring AI Google ADK Tauri 的 AI Shell 智能运维终端实战 WaLiSSHAI Shell 智文档教程后端LunaTranslator 语音指定与语音修正按人物角色自动切换 TTS 声音的完整指南LunaTranslator 语音指定与语音修正按人物角色自动切换 TTS 声音的完整指南 导读 在视觉小说等文本型游戏中不同角色通常需要不同的语音才能还文档教程后端WaLiSSH 智能体实战引入 FunctionTool 构建最小 MVP 版本 AI Shell AgentWaLiSSH 智能体实战引入 FunctionTool 构建最小 MVP 版本 AI Shell Agent WaLiSSH 是一款基于 Spring AI文档教程后端上一篇越狱设备应用装不上从一次被拒收的 IPA 说起看懂 iOS 签名绕过下一篇GitHub_Trending/ha/Hacktoberfest2023项目前端模块化开发实践ES6模块与代码分割创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
5步搞定中企动力邮箱,网站被黑后还能保住数据 5步搞定中企动力邮箱,网站被黑后还能保住数据 网站被黑挂马,最慌的不是服务器宕机,而是邮箱收不到报警邮件,导致挂马链接在百度搜索资源平台被收录前没发现,流量直接归零。很多站长这时候才想起,原来当初选的中企动力邮箱配置太烂,或者根本没用对地方… · 2026/9/27 8:36:59
Amethyst 聚合 PrefabData 定义指南:组合组件与嵌套 Prefab 数据的完整实践 【免费下载链接】amethyst Data-oriented and data-driven game engine written in Rust 项目地址: https://gitcode.com/gh_mirrors/ame/amethyst 点击查看 免费下载 导读
Prefab(预制体)是 Amethyst 中把多个 Component 组合到实体上的资… · 2026/9/27 8:36:52
进阶实战】从单机跑通到高可用架构:我的全栈监控大屏性能与安全优化 问题执行 docker compose up -d 启动后,docker ps 显示所有容器均为 Up 状态,但访问网站却返回 502。Flask 日志:Cant connect to MySQL server on db原因Up ≠ 能用。MariaDB 启动后要 20-30 秒加载数据、建索引。这段时间容器是 Up… · 2026/9/27 9:08:10
gitsome 完全指南:基于 xonsh 的 Git/GitHub 超强命令行界面与 29 个集成命令实战 开发工具版本控制 【免费下载链接】gitsome A supercharged Git/GitHub command line interface (CLI). An official integration for GitHub and GitHub Enterprise: https://github.com/works-with/category/desktop-tools 项目地址: https://gitcode.com/gh_mirr… · 2026/9/27 9:08:09
什么是前端开发和后端开发新手入门 告别丑模板:实战案例拆解前端开发与后端开发 还在为官网像“上世纪产物”而头疼?客户看一眼就关掉,转化率低得让人心梗。很多老板以为换个好看的皮肤就行,结果发现页面加载慢、手机端排版错乱,甚至被搜索引擎判定为垃圾站。 模板网站太丑不够用… · 2026/9/27 9:08:03
Read the Docs 默认构建依赖版本解析:从“固定版本“到“始终最新“的构建策略与可复现实践 后端文档 【免费下载链接】readthedocs.org The source code that powers readthedocs.org 项目地址: https://gitcode.com/gh_mirrors/re/readthedocs.org 点击查看 免费下载 本文围绕 docs/user/build-default-versions.rst 展开,结合 readthedocs.or… · 2026/9/27 9:07:57
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01