# 《WaLiSSH - AI Shell 智能终端》第1-1节:初始化工程搭建

作者:小傅哥
博客:https://bugstack.cn (opens new window)
视频:https://t.zsxq.com/Jo31q (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

大家好,我是技术UP主小傅哥。

今天是我们《WaLiSSH》项目学习的第1节课程。从这一节开始,我们将一步步搭建一个结合 AI Agent 的 SSH 终端桌面应用——WaLiSSH。

# 一、本章诉求

我们需要搭建一个 WaLiSSH 项目的基础框架,包括:

  1. 初始化前端 Tauri + React + TypeScript 工程
  2. 初始化后端 AI Agent DDD 脚手架工程,这部分使用的是 《AI Agent 脚手架 + 场景应用》 (opens new window) 做的智能体通用脚手架。
  3. 让项目可以正常运行起来,但这会还不需要前后端对接逻辑,只是让工程可以跑起来就可以。

如果之前没看过 AI Agent 脚手架 项目,最好做下这部分的学习补充,完成 1-2 部分的快速学习。

# 二、环境说明

# 1.1 软件安装

IntelliJ IDEA、Maven 3.8.x、JDK 17、WebStorm(用于打开walissh-client工程,更加方便操作)、Git(用于拉取工程代码) (opens new window)、Nodejs(20+,从安装下载安装即可),你可以在星球课程入口,编程环境,软件下载中获取。地址:https://t.zsxq.com/19Rnk98M0 (opens new window)

此外推荐 AI IDE 工具(任何你使用熟练的也都可以),walicode.xiaofuge.cn (opens new window) 前端的代码,基本都是 AI IDE 这样的工具来完成开发即可。

# 1.2 整体架构设计

WaLiSSH 是一个包含 前端桌面应用 + 后端服务 的完整项目:

  • 前端(walissh-client):Tauri + React 19 + TypeScript + TailwindCSS 4 构建的跨平台桌面应用
  • 后端(walissh-server):基于 DDD 领域驱动设计的 Spring Boot 工程,提供 AI Agent 能力和 SSH 连接管理

对于智能体的设计有两种方案,一种是和智能体和展现层都放在一块,比如做一个软件,这个软件本身里含有智能体。另外一种方式则是展现层(app、web、h5、小程序)只做轻量的逻辑接口封装,服务端做统一的智能体实现,为各端同服务,同时做统一的限制;LLM、Agent 工作流、Skills 封装、Tools 处理、上下文识别和增强追踪等,另外还有业务属性的对接,也包括敏感词过滤、风控拦截、核心数据脱敏等操作。这也是公司里做智能体的核心诉求。所以这两者软件的设计方式都有自己的场景。

# 1.3 为什么选择这样的技术栈?

在开始之前,我们先聊聊为什么选择这样的技术组合:

前端技术栈

  • Tauri:比 Electron 更轻量的桌面应用框架,使用 Rust 作为后端,使用系统 WebView 渲染界面,包体积小(通常只有几 MB)、内存占用低。同时又具备打包成多端的应用,包括;web 网页、Windows、Mac、Linux,也可以打包成安卓、IOS应用。
  • React 19:最流行的前端框架之一,组件化开发,配合 Vite 构建速度飞快。
  • TailwindCSS 4:原子化 CSS 框架,写样式像拼积木一样简单!
  • TypeScript:类型安全,让代码更健壮、更好维护。有面向Java这样的面向对象编程思维,就能很快接受 TypeScript 的编写方式。官网有最容易入门的案例教程,大家也多会陆续倾向轻量化全栈开发,早点积累也是有好处的。

这样的技术组合,在目前的桌面应用开发领域是非常前沿且实用的,如;VS Code、GitHub Desktop、Figma 这些知名软件,都在使用类似的 Web 技术栈开发桌面应用。

后端技术栈

  • DDD 领域驱动设计:采用小傅哥的 ai-agent-scaffold-lite-archetype 智能体(DDD)脚手架,架构清晰、职责分明,适合复杂业务场景。这是星球里面的另外一个项目《AI Agent 脚手架 + 场景应用》 (opens new window) 需要补充学习。
  • Spring Boot:Java 生态最主流的后端框架,生态完善、社区活跃。选择它的框架,以及相关 AI 类组件,会更好用,更有通用性。
  • Google ADK(Agent Development Kit):Google 官方推出的 AI Agent 开发工具包,提供了标准化的智能体构建框架,可以便捷地对接各类 AI 模型和工具。这部分内容是我们构建 AI 能力的核心技术。
  • JSch:Java Secure Channel,是 SSH2 的纯 Java 实现。我们用它来操作 SSH 连接、执行远程命令、传输文件等,是实现 SSH 终端功能的核心依赖。

关于 DDD 可以在这部分补充学习:DDD 概念理论 (opens new window)DDD 工程模型 (opens new window) 这部分有系列的内容,后端的架构思维是当下软件开发工程师第一有价值的东西