Posted on Leave a comment

开发者指南:stAI

本页面作为维基页面,集中展示了stAI的所有信息。

如有任何疑问,请联系Menghui:416 565 5122,admin@tomsk.tv

1. 隆重推出 stAI:您的全栈 AI 开发机器

stAI 是一款 Ubuntu Linux 虚拟机,专为全栈开发者、AI 构建者和 DevOps 学习者设计,旨在为他们提供一个现代且可直接用于生产环境的开箱即用环境。经过数月的工程设计、测试、故障排除、修复和改进,我终于发布了这款梦寐以求的产品—stAI,一款功能齐全的 Ubuntu 开发虚拟机,专为全栈工程师、AI 构建者和 DevOps 学习者打造,让他们无需经历繁琐的设置即可直接投入开发。

1.1. AI 技术栈——开箱即用

非常适合构建 AI 应用程序、RAG 系统和 LLM 工具,而无需进行复杂的设置步骤。

  • llama.cpp 用于本地 LLM 实验
  • Weaviate 向量数据库用于 RAG + 嵌入。Swarm 副本稳定性测试:未出现崩溃循环。HTTP 层:/v1/schema、/v1/nodes 和 GraphQL 响应正常。Raft/集群层:/v1/nodes 报告节点运行状况良好。持久化:类创建和对象插入均成功。查询引擎:GraphQL 返回了插入的对象。
  • 为 AI 工具、原型、现代工作流程预配置环境,面向未来且可直接投入生产。

1.2. 全栈 Web 开发环境

  • Node.js
  • Express.js后端是系统的“大脑”,Express服务器是编排器。
  • Next.js
  • React 和 React Native(可连接 Android SDK)跨平台
  • TailwindCSS
  • HeroUI
  • Storybook 用于测试和记录前端 UI 组件库
  • MongoDB, and MySQL (已完全配置)
  • 带有精选扩展的 VS Code
  • 单元测试环境已准备就绪
  • Postman 已安装
  • 包含所有 Dockerfile 均已并测试

1.3. DevOps 和云原生工具

  • MicroK8s 自动化脚本
  • Docker Swarm 模式
  • 集群创建和拆卸脚本
  • 可复现、经过实战检验的工作流程。

1.4. 使用 Go (Golang) monorepo 创建云基础设施和 DevOps 工具

  • Go 是一种跨平台编译语言,用于创建高性能应用程序,例如:Docker、Kubernetes、Grafana。
  • Fyne 是 Go 语言(Golang)的最佳 GUI 工具包之一,可用于创建跨平台应用程序,支持 Windows、macOS、Linux、Android、iOS、PLC、嵌入式/物联网控制器以及无人机地面控制站 (GCS)。在 Web 应用程序无法可靠执行任务的情况下,桌面应用程序可以派上用场。
  • 已设置运行测试完毕,可以:单元测试、模糊测试、基准测试。

1.5. stAI 适用于哪些人群

  • 全栈开发人员
  • AI学习者,AI构建者
  • DevOps工程师
  • 学生、学院和学校
  • 近期被裁员工程师重新培训以进入美国/加拿大市场
  • 软件公司,小型团队需要一个标准化的开发环境

2. 虚拟机 (VM) 设置

2.1. 虚拟机规范

  • Ubuntu VM running on VMware
  • 版本 3.0.3
  • VM image file (over 54 GB zipped), 可以下载
  • Boot → Build → Deploy → Run AI models
  • 无需设置,零依赖。

VM 镜像大小约为 54GB,因为它包含了完整的 AI + 全栈 + DevOps 环境。

2.2. 安装——无需任何设置

使用 stAI 入门只需几分钟。所有内容都已预先配置好,因此您可以立即从下载开始编写代码。

步骤 1 — 安装 VMware Workstation

点击此处下载 VMware Workstation 17 专业版

像安装普通应用程序一样安装到您的笔记本电脑上。

步骤 2 — 购买并下载 stAI VM 文件(ZIP)

请访问我们的在线商店购买。付款后,您将收到一个链接,可通过该链接下载整个 stAI 虚拟机(一个大型 ZIP 文件)。或者,您也可以在此处下载 ubuntu22_amd64_pro17v303.zip (26 GB) ,但您需要发送电子邮件给我们以获取 Linux 虚拟机的密码。

将其解压缩到你喜欢的任何文件夹,例如 C:/vm。这个文件夹(大小约为 54 GB)将作为虚拟机的存放位置。

Step 3 — 启动虚拟机

打开 VMware Workstation,点击“打开虚拟机”,然后从解压后的 stAI 文件夹(例如 C:/vm/stAI)中选择 vmx 文件。

点击“启动此虚拟机”。

启动这台虚拟机

虚拟机启动后,您将立即看到完整的开发环境——文件、工具、VS Code,一切就绪。

您可以立即开始编码,尽情构建。Docker 容器将自动运行,您也可以使用 Linux 脚本文件启动。您现在拥有两个 monorepo:Node.js monorepo 和 Go monorepo !

3. 运行手册:Node JS 全栈/ AI monorepo

3.1. 检查 Docker 服务器

如果您已正确关闭虚拟机,请检查所有必要服务是否正在运行。

docker service ls

3.2. 启动 Express JS

启动 Express JS

3.3. 准备 Next.js(common、UI 监控)

rm -rf apps/nq/next/.next
rm -rf packages/common/dist
npm run build –workspace=@niemenghui/common
rm -rf packages/ui/dist
npm run build –workspace=@mr/ui
npm run dev –workspace=@mr/ui

Shell to prepare Next JS

3.4. 启动 Next JS

npm run dev –workspace=@mr/nq-next

3.5. 浏览器:查找医生

Found a doctor
Express console: EM
Express console: EM and CM

3.6. React Native

React Native
Android SDK

3.7. Storybook UI库

Storybook console
Browser

4. 运行手册: Go monorepo

点击此处了解更多关于 Golang(Go)的信息:
  • Golang is Go.
  • Go is a cross-platform, compiled language to create high-performance applications statically typed, known for its simplicity and efficiency in an era of multicore, networked machines and large codebases.

Go monorepo 包含 32 个目录,23 个文件。大部分文件都是运行文件,但需要重新测试以确保:

  1. mr15/platform/docker/microwave;
  2. mr15/platform/helm (Helm is a package manager for Kubernetes );
  3. mr15/platform/k8s
Go monorepo 文件夹结构

4.1. monorepo make file

Go monorepo make targets

使用 make 命令,您可以运行多达 9 个小型或大型作业,但如果您需要运行未定义的任务,请使用下面的根脚本。

4.2. mr15.sh file (root script)

这是用于构建、测试、基准测试、模糊测试、代码检查、健康检查和 Docker 操作的根脚本。

Go run the app
基准测试

4.3. Microwave app

MICROWAVE 是一个用 Golang 中的 Fyne 编写的信号发生器,它可以生成波形并通过扬声器播放。

Fyne UI 的 3 个核心层:

  • Canvas = 绘图表面
  • Container =安排事物的框架
  • Window = 摆放画布的房间

他们的关系:

Window

  └── Canvas

        └── Root CanvasObject (usually a Container)

                └── Child widgets and containers

4.4. 模糊测试 Microwave

Go 在运行完整模糊测试模式时需要 1 个模糊测试目标,但我们有 3 个模糊测试:模糊测试运行 10 秒后停止。

运行模糊测试(每次 10 秒)

当 Go 模糊测试发现崩溃时,它不会保存“报告(被动)”或文本摘要。相反,它会保存一些更有用(主动)且更强大的信息:Go 会将导致崩溃的确切输入保存到以下位置:

testdata/fuzz/FuzzRead/123456789abcdef,例如:

它找到了一个会破坏代码的异常输入,那么下次运行 go test 时,该输入会自动添加为新的种子。

请从下方下载模糊测试结果文件:

  1. Fuzz tested (16 April 2026 Thursday) (1 KB/zip)

5. Monorepo最佳实践

npm run lint && npm run typecheck

DevOps、单元测试、持续集成/持续交付 (CI/CD)、构建系统、发布工程、开发容器、UML图表等。

test suites

Fyne 应用可以部署到Android 和 iOS,但存在移动音频延迟和操作系统限制的问题。在现代 Go 开发中(包括 Fyne),Windows、Linux 和 macOS 的源代码完全相同,只有构建目标有所不同。

6. 参考

  1. 原始源代码 Microwave @ github.com
  2. 定价online shop
  3. stAI 配套手册 — 可直接用于 PDF 出版的稿件 template design file.