# 《WaLiCode - AI Coding 智能编码》第0-1节:架构设计
作者:小傅哥
博客:https://bugstack.cn (opens new window)
项目:https://t.zsxq.com/Z2WTC (opens new window)
沉淀、分享、成长,让自己和他人都能有所知有所获!😄
大家好,我是小傅哥。
接下来,我们要开启 《WaLiCode - AI Coding 智能编码》 这部分内容的学习。在开始逐个章节的编码学习之前,我们先来整体分析下架构设计。因为这部分内容虽然也是使用 AI Agent 脚手架,但对于比 《WaLiSSH - AI Shell 智能终端》 还是有所不同的。这个不同,就是我们要提前说明的事情。
WaLiSSH 使用的 C/S 架构方式,因为本身我们操作云服务器,就是一种远程 SSH 命令的方式进行执行。而且只通过一种标准的 SSH 命令,加上 AI Agent 就可以智能化的操作云服务器。但这种方式放到本地编码就会有蹩脚了。为啥呢?
WaLiCode 本身要执行大量的文件操作;创建文件、写入文件、修改文件、搜索文件、删除文件以及各类 Git 操作等。这些东西远程是没法执行的,而如果把远程的命令通过 MCP 或者其他协议到本地在执行一次,要来回在本地和远程传递消息,效率和准确度都有所降低。
所以,我们这里小傅哥设计了另外一个方式;把 walicode-server 服务端,打包成 Jar 放到客户端里,并加入 java 运行时最小 jvm。这样就天然的让 walicode-server 服务端,可以在本地执行各类工具了。

接下来,小傅哥在大家细致的理解下这套架构设计。以及在这套架构下,对 AI Agent 脚手架框架版本进行了升级,处理了一些 Google ADK、Spring AI 的 Bug,此外因为升级到 SpringBoot 4.x 版本,所以对 xfg-wrench-starter-design-framework 星球里的组件,也随时升级了 3.3.0-springframework-4.0 版本。把这些都做好,后面的工作就好开展了。
<!-- Source: https://mvnrepository.com/artifact/cn.bugstack.wrench/xfg-wrench-starter-design-framework -->
<dependency>
<groupId>cn.bugstack.wrench</groupId>
<artifactId>xfg-wrench-starter-design-framework</artifactId>
<version>3.3.0-springframework-4.0</version>
<scope>compile</scope>
</dependency>
2
3
4
5
6
7
在 AI 时代,架构设计、场景方案、模型设计,都显得更为重要。把这些东西定义清楚,那么 AI 编码就变得更加准确可靠了。并且像是 AI Agent 这东西,一个语言学会了,其他语言也都一样。只是我们需要用最熟悉的语言,采用最合适的架构,把这些东西学习下来。
# 一、本章诉求
WaLiCode 是一个基于 Tauri(打包桌面) + React(客户端) + Java(运行时 Agent Jar) 的 AI Coding 智能编码桌面应用。核心能力包括:本地工作区代码理解、AI 对话编码、工具调用执行、代码补丁审批与回滚、SSH 远程服务器管理(我们把这个也包进来)等。
本节要解决的诉求是:
- 了解整体架构:客户端(Tauri/React)与服务端(Spring Boot DDD)分别承担什么职责、如何分层。
- 知道工具链路:用户发出一句话后,"意图识别 → 提示词组装 → LLM 决策 → 工具执行 → 结果回传"这条 ReAct 循环是如何跑通的。
- 升级架构版本:对 AI Agent 脚手架创建的初始化工程,进行版本升级。
SpringBoot 4.x、Google ADK 1.10.1、Spring AI 2.0.1,这里还涉及了一些代码上的变动(新旧版代码差异)。
# 二、预期效果
walicode-server、walicode-client 分支 v0.4.0 实际运行效果;
- 服务端;https://gitcode.net/KnowledgePlanet/walicode-server (opens new window) -
本身 server 端也提供了一个 web 版本,可以直接启动后访问链接体验。 - 客户端;https://gitcode.net/KnowledgePlanet/walicode-client (opens new window)
可以拉取代码,切换到 v0.4.0 分支,让 AI 工具打开2个工程。之后,告诉它先分析架构,之后帮你把服务端 打包 jar,复制到客户端,之后启动桌面版。
(这块涉及了一些前端知识,如果有经验也可以直接自己启动。)
# 2.1 启动服务

客户端启动时,会自动拉起本地 Agent 服务,也就是 walicode-server.jar 的服务。
# 2.2 对话过程

- 对话中可以打开和选择项目,进行对话。也可以查看到分支。整个 UI 设计风格偏向于 Coding 编码与 Buddy 类产品的融合。
- 在你后面学习完成,扩展ui的时候,可以增加 draw.io、ppt、word、excel、echat 等,并且可以在对话栏直接渲染结果。这些东西在星球「码农会锁」的 WaLiOffice 项目里也有案例,可以让 AI 理解后扩展进来(也需要服务端的提示词迭代)。
# 2.3 Web 端效果

- Web 端,在服务端启动后就可以访问。

