news 2026/8/21 3:13:57

Sealos云操作系统:三分钟搭建K8s集群并部署应用实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sealos云操作系统:三分钟搭建K8s集群并部署应用实战

如果你最近在关注云原生和 Kubernetes 生态,可能会频繁听到一个名字:Sealos。它被很多人称为“云操作系统”,听起来概念宏大,但很多开发者第一反应是:这和我有什么关系?是又一个需要复杂学习的平台,还是一个真正能简化我日常开发部署的工具?

这篇文章不会用“颠覆性”、“革命性”这类宏大词汇。我们直接解决一个核心问题:对于一名需要频繁部署、测试和管理应用的开发者或运维工程师,Sealos 到底能帮你省掉哪些具体、繁琐的步骤?答案是:从申请云服务器、安装 K8s 集群、配置网络存储,到部署一个带数据库的完整应用,Sealos 试图将这一系列原本需要数小时甚至数天的操作,压缩到几分钟内完成。

它不是一个简单的 K8s 发行版,而是一个以应用为中心的交付与运行平台。你可以把它理解为一个“应用商店”和“自动化运维平台”的结合体:你只需要关心“我要运行什么应用”,而不用操心底层集群的搭建、网络的配置、存储的挂载。本文将带你快速理解 Sealos 的核心设计、它能解决的真实痛点,并通过一个从零开始的实战示例,让你亲手体验这种“开箱即用”的云原生体验。

1. Sealos 要解决的核心问题:为什么是“云操作系统”?

在深入技术细节前,我们先明确一个共识:Kubernetes 很强大,但它对于很多开发者和中小团队来说,入门和运维成本极高。这并不是说 K8s 设计得不好,而是它的定位就是一个“容器编排平台”,它假设你已经有了一个健康的集群。

那么,从零开始运行一个应用,传统路径是怎样的?

  1. 采购与初始化:购买云服务器,配置安全组、SSH 密钥。
  2. 搭建集群:选择 kubeadm、k3s、RKE 等工具,初始化控制平面,加入工作节点,配置容器运行时、网络插件(Calico、Flannel)。
  3. 配置基础设施:部署存储类(StorageClass)、负载均衡器(如 MetalLB)、镜像仓库(如 Harbor)、监控告警(如 Prometheus+Grafana)。
  4. 部署应用:编写复杂的 K8s YAML 清单(Deployment, Service, Ingress, ConfigMap, Secret, PVC等)。
  5. 日常运维:证书管理、版本升级、备份恢复、故障排查。

每一步都可能遇到网络、版本兼容性、配置错误等“坑”。Sealos 的核心理念就是:将这些底层复杂性封装起来,提供一个统一的、声明式的接口来管理整个“云”——包括计算、存储、网络和应用本身。

它通过两个关键抽象实现了这一点:

  • Cluster: 在 Sealos 中,一个“集群”不仅仅是一组安装了 K8s 的虚拟机。它是一个包含了操作系统、Kubernetes 核心及各种必需扩展(如网络、存储、Ingress 控制器)的完整运行时环境。Sealos 使用“集群镜像”技术来定义和分发这个环境。
  • Application: 应用在 Sealos 中是一等公民。你不再需要直接编写一堆 YAML 文件,而是通过一个简化的配置文件(或图形界面)来描述你的应用及其依赖(如数据库、缓存)。Sealos 负责将这些描述转化为实际的 K8s 资源并完成部署。

所以,当你听到“云操作系统”时,可以这样理解:就像 Windows/macOS 管理你电脑的硬件(CPU、内存、磁盘)并为你提供运行软件(Office、浏览器)的平台一样,Sealos 旨在管理云上的基础设施资源(虚拟机、网络、存储),并为你提供一键式运行各种云原生应用的能力。

2. 核心概念拆解:集群镜像与应用模版

要理解 Sealos 如何工作,必须搞清楚它的两个核心概念:集群镜像(ClusterImage)应用(Application)

2.1 集群镜像:封装整个运行环境

这是 Sealos 最具创新性的设计。Docker 镜像封装了一个应用及其依赖,而Sealos 的集群镜像封装了一个完整的 Kubernetes 集群及其所有系统级组件

一个典型的 Sealos 集群镜像可能包含:

  • 基础操作系统层(如 Ubuntu)
  • Kubernetes 二进制文件(kubeadm, kubelet, kubectl)
  • 容器运行时(containerd)
  • 网络插件(Calico)
  • 存储插件(OpenEBS 或本地存储 provisioner)
  • Ingress 控制器(Nginx Ingress Controller)
  • 仪表盘(Kubernetes Dashboard)

它解决了什么问题?传统方式下,上述每个组件都需要单独安装、配置,并处理它们之间的版本兼容和依赖关系。集群镜像将这些全部打包,确保每次创建集群时,环境都是完全一致、可复现的。你可以像使用 Docker 镜像一样,拉取(sealos pull)一个特定版本的集群镜像,然后用它来创建(sealos run)一个集群。这极大地简化了集群的交付和版本管理。

2.2 应用:以应用为中心的交付

在拥有一个运行良好的集群后,下一步是部署业务应用。Sealos 通过Cloud Provider Interface (CPI)应用模版来简化这一过程。

  • CPI: 这是 Sealos 提供的一套标准接口,让应用能够以统一的方式声明自己对底层资源的需求,比如“我需要一个数据库”、“我需要一个对象存储桶”。Sealos 会负责调用对应的 Operator 或 Helm Chart 来满足这些需求,开发者无需关心具体的实现细节。
  • 应用模版: 一个应用在 Sealos 中通常由一个Clusterfile或通过 App Launchpad(图形化界面)来定义。这个定义文件比原生 K8s YAML 更简洁,它更关注应用本身(镜像、端口、环境变量)和其依赖关系。

对比传统方式:假设你要部署一个 WordPress 博客。

  • 传统 K8s:你需要分别创建 MySQL 的 StatefulSet/Service/Secret/PVC,以及 WordPress 的 Deployment/Service/Ingress/ConfigMap,并确保它们之间的网络连通和依赖启动顺序。
  • Sealos 方式:你可以在 App Launchpad 中选择“WordPress”应用,它可能已经内置了“需要 MySQL 数据库”的依赖声明。你只需填写 WordPress 的站点标题、管理员密码等配置,Sealos 会自动为你创建并关联好所有必要的资源。

3. 环境准备:安装 Sealos 客户端

Sealos 的架构是客户端-服务器模式。我们首先需要在本地机器(你的笔记本电脑或跳板机)上安装 Sealos 客户端命令行工具。这个工具将用于创建和管理远程的 Sealos 集群。

Sealos 客户端支持 Linux、macOS 和 Windows(通过 WSL2)。以下以Linux/macOS为例。

3.1 系统要求与依赖检查

  • 操作系统: 支持大多数主流 Linux 发行版(Ubuntu, CentOS, Rocky Linux等)和 macOS。
  • 依赖工具curl,tar命令需要可用。
  • 网络: 客户端需要能访问公网以下载集群镜像和与云API通信。

3.2 一键安装命令

打开你的终端,执行以下命令。该命令会自动下载最新版本的 Sealos 客户端,并安装到/usr/local/bin目录下。

# 使用 curl 下载安装脚本并执行 curl -sfL https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | sh -s -- -c latest

安装完成后,验证安装是否成功:

sealos version

如果安装成功,你会看到类似下面的输出,显示了 Sealos 客户端的版本信息:

sealos version Client: Version: v4.3.7 GitCommit: xxxxxxx

3.3 (可选)配置 Shell 自动补全

为了获得更好的命令行体验,可以安装命令自动补全功能。

对于 bash:

echo "source <(sealos completion bash)" >> ~/.bashrc source ~/.bashrc

对于 zsh:

echo "source <(sealos completion zsh)" >> ~/.zshrc source ~/.zshrc

安装好客户端后,sealos命令就成为我们操作云集群的“遥控器”。接下来,我们需要准备一些云资源来承载集群。

4. 实战:三分钟搭建一个高可用 K8s 集群并部署应用

让我们通过一个完整的例子,感受 Sealos 的“快”。我们的目标是:在公有云上创建一个 3 节点(1 master, 2 node)的 K8s 集群,并部署一个 Nginx 应用对外提供服务。

4.1 前置条件:准备云资源

Sealos 支持在裸机、虚拟机和主流公有云(AWS, GCP, Azure, 阿里云,腾讯云等)上创建集群。为了演示,我们假设你拥有一个阿里云账户,并已经做好了以下准备:

  1. 在阿里云控制台创建了一个专有网络(VPC)和一个虚拟交换机(vSwitch),并记下它们的 ID。
  2. 创建了一对SSH 密钥对,并将公钥上传到阿里云。私钥文件(如~/.ssh/id_rsa)保存在本地。
  3. 确保你的账户有足够的余额或权限创建 ECS 实例(按量计费,测试完成后请及时释放以免产生费用)。

4.2 使用 Sealos 创建集群

我们使用sealos run命令,一行代码创建集群。这里需要替换几个关键参数:

  • <YOUR_IMAGE>: 指定集群镜像。我们使用一个包含kubernetes:v1.25.0calico:v3.24.1helm:v3.12.0的常用镜像。
  • --masters: 主节点(控制平面)的 IP 地址或 ECS 实例ID。我们让 Sealos 自动创建。
  • --nodes: 工作节点的 IP 地址或 ECS 实例ID。同样自动创建。
  • --pk: 你的 SSH 私钥文件路径,用于远程登录新创建的云服务器。
  • --passwd: 云服务器 root 用户的密码(如果使用密码登录)。

由于在公有云上自动创建机器需要更复杂的配置(AccessKey, Secret, Region等),我们这里展示一个更通用、更清晰的流程:先手动创建好三台云服务器(并获取其公网IP),然后使用 Sealos 将其初始化为集群。

假设你已经创建了三台 CentOS 7.9 的 ECS,IP 地址如下:

  • Master:192.168.1.100
  • Node1:192.168.1.101
  • Node2:192.168.1.102

确保三台机器之间网络互通,并且你的本地客户端能通过 SSH(端口22)连接到它们。

现在,执行创建集群的命令:

sealos run labring/kubernetes:v1.25.0 labring/calico:v3.24.1 \ --masters 192.168.1.100 \ --nodes 192.168.1.101,192.168.1.102 \ --pk /root/.ssh/id_rsa \ -u root

命令解释:

  • sealos run: 核心命令,用于运行一个集群镜像来创建或扩展集群。
  • labring/kubernetes:v1.25.0: 指定 Kubernetes 1.25.0 版本的集群镜像。
  • labring/calico:v3.24.1: 指定 Calico CNI 网络插件的镜像。Sealos 支持在一个命令中运行多个镜像,它们会按顺序叠加。
  • --masters--nodes: 指定哪些 IP 是控制平面节点,哪些是工作节点。
  • --pk /root/.ssh/id_rsa: 指定用于 SSH 认证的私钥路径。
  • -u root: 指定 SSH 登录用户名为 root。

执行这个命令后,Sealos 客户端会:

  1. 通过 SSH 连接到指定的服务器。
  2. 检查系统环境,安装必要依赖。
  3. 拉取所需的容器镜像。
  4. 初始化 Kubernetes 控制平面(在 master 节点)。
  5. 将工作节点加入集群。
  6. 安装并配置 Calico 网络插件。

整个过程完全自动化,你只需要等待几分钟。当命令执行完毕,一个高可用的 K8s 集群就搭建好了。

4.3 验证集群状态

创建完成后,Sealos 会自动将集群的 kubeconfig 文件(用于kubectl认证)合并到本地的~/.kube/config中。你可以立即使用kubectl来管理这个远程集群。

# 查看集群节点状态,应看到 master 和两个 node 都是 Ready 状态 kubectl get nodes -o wide # 查看系统 Pod 状态,确保 coreDNS 和 calico 等组件运行正常 kubectl get pods -n kube-system

4.4 部署一个示例应用(Nginx)

集群就绪后,我们不再需要复杂的 YAML 文件。使用 Sealos 的sealos run命令同样可以部署应用,因为它本质上也是运行一个“应用镜像”。

# 使用 sealos run 快速部署一个 Nginx Deployment 和 Service sealos run labring/nginx:1.23.4-alpine \ --name my-nginx \ --env replicas=2

命令解释:

  • labring/nginx:1.23.4-alpine: 这是一个封装了 Nginx K8s 部署清单的应用镜像。
  • --name my-nginx: 为这次部署的应用实例起个名字。
  • --env replicas=2: 设置环境变量,指定副本数为2。

部署完成后,验证应用:

# 查看 Deployment 和 Pod kubectl get deployment,svc,pod -l app=my-nginx # 输出示例 NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/my-nginx 2/2 2 2 1m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/my-nginx ClusterIP 10.96.123.45 <none> 80/TCP 1m NAME READY STATUS RESTARTS AGE pod/my-nginx-5ff795c87f-abcde 1/1 Running 0 1m pod/my-nginx-5ff795c87f-fghij 1/1 Running 0 1m

现在,Nginx 服务已经在集群内运行,并通过 ClusterIP 暴露了端口 80。要让外部访问,我们还需要一个 Ingress。你可以继续使用sealos run来安装 Ingress 控制器(如labring/ingress-nginx),然后创建 Ingress 规则。

通过以上步骤,从零到拥有一个运行着应用的 K8s 集群,核心操作只有两条sealos run命令,真正实现了“三分钟快速了解与上手”。

5. Sealos 的核心优势与适用场景

经过实战,我们可以更具体地总结 Sealos 带来的价值:

  1. 极简的集群生命周期管理sealos run创建,sealos reset清理,sealos add扩容节点。将复杂的 K8s 集群操作简化为几条直观的命令。
  2. 一致性与可移植性: 集群镜像保证了开发、测试、生产环境的高度一致,避免了“在我机器上是好的”这类问题。镜像可以存储在仓库中,在不同云平台或数据中心间迁移集群变得可行。
  3. 以应用为中心: 通过应用模版和 CPI,开发者可以更专注于应用逻辑和依赖声明,而非底层 K8s 资源编排细节。
  4. 强大的生态应用市场: Sealos 公有云平台(cloud.sealos.io)提供了丰富的“一键部署”应用,包括数据库(MySQL, PostgreSQL, Redis)、消息队列、CI/CD 工具、监控日志套件等,极大地提升了效率。

那么,Sealos 最适合谁?

  • 中小型研发团队: 没有专职运维,希望快速搭建和维护一个稳定、标准的 K8s 环境用于产品开发和测试。
  • 个人开发者与学习者: 想学习 K8s 但被复杂的搭建过程劝退,Sealos 提供了最低的入门门槛。
  • 需要多集群、混合云管理的场景: Sealos 可以统一管理分布在各地、各种基础设施上的 K8s 集群。
  • 追求标准化交付的团队: 使用集群镜像固化最佳实践,确保团队内每个成员、每个环境使用的集群配置完全一致。

它可能不适合谁?

  • 超大规模、深度定制化 K8s 的团队: 如果团队已经基于原生 K8s 建立了高度定制化的 PaaS 平台,Sealos 的抽象层可能会带来限制。
  • 对底层有绝对控制欲的运维专家: Sealos 隐藏了很多细节,如果你需要精细调整每一个 K8s 组件参数,可能需要绕过它或直接修改底层集群。

6. 深入使用:Clusterfile 与应用开发

对于想要更灵活、更工程化使用 Sealos 的用户,需要了解其声明式配置的核心——Clusterfile

6.1 什么是 Clusterfile?

Clusterfile 是一个 YAML 文件,它用声明式的方式描述了你想要的一个集群或应用的状态。你可以把它看作 Sealos 版本的docker-compose.yml或 K8s 的定制资源定义(CRD)。

一个简单的 Clusterfile 示例,用于描述一个集群:

# cluster-config.yaml apiVersion: apps.sealos.io/v1beta1 kind: Cluster metadata: name: my-demo-cluster spec: hosts: - ips: - 192.168.1.100 roles: - master - ips: - 192.168.1.101 - 192.168.1.102 roles: - node ssh: pk: /root/.ssh/id_rsa user: root image: - labring/kubernetes:v1.25.0 - labring/calico:v3.24.1

使用这个文件创建集群:

sealos apply -f cluster-config.yaml

6.2 使用 Clusterfile 定义自定义应用

除了集群,Clusterfile 更强大的地方在于定义自定义应用。假设我们有一个简单的 Go Web 应用,我们可以为其创建应用镜像和 Clusterfile。

首先,准备一个包含 K8s 部署清单的目录:

my-app/ ├── manifests/ │ ├── deployment.yaml │ ├── service.yaml │ └── ingress.yaml └── Dockerfile

manifests/deployment.yaml内容示例:

apiVersion: apps/v1 kind: Deployment metadata: name: my-go-app spec: replicas: 2 selector: matchLabels: app: my-go-app template: metadata: labels: app: my-go-app spec: containers: - name: app image: myregistry.com/my-go-app:latest # 镜像会在构建时替换 ports: - containerPort: 8080 env: - name: ENV_NAME value: "production"

然后,编写一个Dockerfile来构建应用镜像。这个 Dockerfile 很特殊,它的作用是将你的应用清单打包进去。

# Dockerfile FROM scratch COPY manifests ./manifests

使用 Sealos 构建镜像:

sealos build -t myregistry.com/my-app:0.1.0 -f Dockerfile .

最后,编写一个引用此应用镜像的 Clusterfile 来部署:

# app-config.yaml apiVersion: apps.sealos.io/v1beta1 kind: Cluster metadata: name: deploy-my-app spec: image: - myregistry.com/my-app:0.1.0

应用:

sealos apply -f app-config.yaml

通过这种方式,你可以将任何复杂的 K8s 应用(包括自定义的 CRD、Operator)打包成镜像,实现一键部署和版本化管理。

7. 常见问题与排查思路

在实际使用中,你可能会遇到一些问题。以下是一些常见问题及其排查思路。

问题现象可能原因排查方式解决方案
sealos run命令卡住或报 SSH 连接失败1. 网络不通或防火墙拦截 SSH 端口(22)。
2. SSH 密钥对不正确或路径错误。
3. 目标服务器禁止 root 登录或密码错误。
1. 使用pingtelnet <IP> 22测试网络和端口。
2. 手动 SSH 登录测试:ssh -i /path/to/pk root@<IP>
3. 检查服务器/etc/ssh/sshd_config配置。
1. 配置安全组/防火墙规则,开放22端口。
2. 确认--pk参数路径正确,公钥已正确上传至服务器。
3. 确保使用-u指定的用户有 sudo 或 root 权限。
集群创建成功,但kubectl get nodes显示节点 NotReady1. 网络插件(如 Calico)未能成功启动。
2. 节点间网络(Pod CIDR)路由有问题。
3. 容器运行时(containerd)异常。
1.kubectl get pods -n kube-system查看 Calico 等 Pod 状态。
2.kubectl describe node <node-name>查看节点事件。
3. 登录节点,检查systemctl status containerdcrictl ps
1. 根据 Pod 日志排查网络插件问题:kubectl logs -n kube-system <calico-pod>
2. 检查节点间防火墙,确保 VXLAN 或 IPIP 流量(通常端口 8472)通畅。
3. 重启 containerd:systemctl restart containerd
使用sealos run部署应用后,Service 无法访问1. 应用 Pod 本身没有启动成功。
2. Service 的 selector 与 Pod 的 label 不匹配。
3. 如果是 NodePort/LoadBalancer 类型,端口被占用或云厂商负载均衡器创建失败。
1.kubectl get pods查看应用 Pod 状态和日志。
2.kubectl describe svc <service-name>检查 selector。
3.kubectl get svc查看 EXTERNAL-IP 是否分配。
1. 根据 Pod 日志修复应用配置。
2. 确保 Deployment 中 Pod 的 labels 与 Service 的 selector 一致。
3. 对于云厂商,检查账户权限和配额;对于 NodePort,检查节点防火墙。
sealos reset清理集群不彻底某些残留的配置文件、数据卷或容器镜像未被删除。登录到各个节点,手动检查:
docker ps -acrictl ps -a
rm -rf /etc/kubernetes /var/lib/etcd /root/.kube
执行更彻底的清理命令(危险操作,仅在测试环境使用):
sealos reset --force
并参考官方文档手动清理残留目录。
从应用市场安装的应用无法正常运行1. 应用与当前集群版本不兼容。
2. 资源(CPU/内存)不足。
3. 存储类(StorageClass)未配置或配置错误。
1. 查看应用的安装说明或 Chart 的版本要求。
2.kubectl describe pod <app-pod>查看是否因资源不足被驱逐。
3.kubectl get pvc查看持久卷声明是否处于 Pending 状态。
1. 选择与集群版本匹配的应用版本。
2. 为集群节点扩容或调整应用资源请求。
3. 在集群中预先配置好可用的 StorageClass。

8. 生产环境最佳实践与建议

如果你计划将 Sealos 用于生产环境,以下几点建议可以帮助你走得更稳:

  1. 基础设施规划

    • 网络: 为生产集群规划独立的 VPC 和子网,做好网络隔离。确保控制平面节点位于内网,通过跳板机访问。
    • 存储: 根据应用需求,提前规划和测试存储方案。Sealos 默认可能提供本地存储,对于有状态应用(数据库),建议集成云盘 CSI 驱动或专业的分布式存储(如 Longhorn, Ceph)。
    • 高可用: 生产环境至少部署3 个 master 节点,以实现控制平面高可用。Sealos 支持多 master 节点部署,在--masters参数中指定多个 IP 即可。
  2. 安全加固

    • SSH 访问: 禁止密码登录,强制使用密钥对。定期轮换密钥。
    • Kubernetes 安全: 启用 Pod 安全策略(PSP)或 Pod 安全准入(PSA),使用网络策略(NetworkPolicy)控制 Pod 间流量。
    • 镜像安全: 使用私有镜像仓库,并集成镜像漏洞扫描工具。
    • Sealos 配置: 妥善保管~/.kube/config和 Sealos 配置文件,避免泄露。
  3. 配置与状态管理

    • 使用 Clusterfile: 将所有集群和应用的配置代码化,纳入 Git 版本控制。这是实现 GitOps 的基础。
    • 分离配置与敏感信息: 将环境变量、密码、证书等敏感信息存储在 Kubernetes Secrets 中,或使用专业的 Secrets 管理工具(如 HashiCorp Vault),不要硬编码在 Clusterfile 或应用镜像里。
    • 备份: 定期备份集群关键数据,特别是 etcd 的数据。Sealos 本身不提供备份工具,你需要规划使用etcdctl snapshot或其他 K8s 备份方案(如 Velero)。
  4. 监控与日志

    • 集群监控: 部署 Prometheus + Grafana 套件,监控节点、Pod 的资源使用情况以及 K8s 组件的健康状态。
    • 应用日志: 部署 EFK(Elasticsearch, Fluentd, Kibana)或 Loki + Grafana 栈,集中收集和分析应用日志。
    • 告警: 配置告警规则,当资源使用率过高或服务异常时能及时通知。
  5. 持续集成与交付(CI/CD)

    • 将 Sealos 的buildapply命令集成到你的 CI/CD 流水线中。例如,在 GitLab CI 或 GitHub Actions 中,代码合并后自动构建应用镜像,并更新生产环境的 Clusterfile,触发sealos apply完成滚动更新。

Sealos 为你铺平了通往云原生的道路,但构建一个健壮、可维护的生产系统,仍然需要你在这些工程实践上投入精力。它负责解决“从无到有”和“标准化”的问题,而你则需要在此基础上,根据业务特点,构建上层的“稳定性”与“效率”体系。

通过本文,你应该已经对 Sealos 是什么、能做什么、以及如何快速上手有了清晰的了解。它的价值在于将云原生技术的复杂性封装成简单的操作,让开发者能更快地触及 K8s 的核心价值——编排与管理应用,而不是困在搭建和维护基础设施的泥潭中。下一步,建议你访问 Sealos 官方文档和 GitHub 仓库,探索其丰富的应用市场和更多高级功能,如多集群管理、成本分析和 Serverless 容器服务,将其真正融入到你的开发工作流中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 3:11:40

AI智能体个体化与责任归属:工程化视角下的可问责体系构建

1. 项目概述&#xff1a;当AI成为“个体”&#xff0c;责任如何界定&#xff1f;最近在AI圈子里&#xff0c;一个话题讨论得越来越热&#xff1a;当AI智能体&#xff08;AI Agents&#xff09;能够自主决策、执行任务&#xff0c;甚至与其他AI协作时&#xff0c;我们该如何“数…

作者头像 李华
网站建设 2026/8/21 3:10:51

HEIC缩略图不显示?三步免费开启Windows 10/11的HEIC缩略图预览

HEIC缩略图不显示&#xff1f;三步免费开启Windows 10/11的HEIC缩略图预览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 晚上十…

作者头像 李华
网站建设 2026/8/21 3:10:02

基于Spring AI与本地大模型构建跨工具AI Agent工作流

在实际工作中&#xff0c;Office、Obsidian、Zotero 和 Chrome 浏览器是我们处理文档、构建知识体系、管理文献和获取信息的主要工具。然而&#xff0c;这些工具之间的数据往往是孤立的&#xff1a;你在 Zotero 里读到的论文观点&#xff0c;需要手动复制到 Obsidian 的笔记里&…

作者头像 李华
网站建设 2026/8/21 3:06:49

硬件工程师必备:从EDA到生产的BOM与装配图实战指南

你有没有遇到过这种情况&#xff1a;辛辛苦苦画完一个复杂的PCB板子&#xff0c;原理图、封装、布局、布线都搞定了&#xff0c;正准备发给工厂打样&#xff0c;采购同事或者老板过来问&#xff1a;“这个板子到底要用哪些物料&#xff1f;每种要买多少&#xff1f;有没有位置图…

作者头像 李华
网站建设 2026/8/21 3:05:36

猫抓实战指南:从零到一搞定网页视频下载(附避坑清单)

猫抓实战指南&#xff1a;从零到一搞定网页视频下载&#xff08;附避坑清单&#xff09; 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 收藏夹里躺…

作者头像 李华