news 2026/9/8 3:41:53

DeepSeek Harness 架构解析、部署实战与插件开发指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek Harness 架构解析、部署实战与插件开发指南

DeepSeek Harness 这个名字最近在开发者圈子里出现频率不低。如果你看到"Harness"不知道具体是什么,也不确定它跟直接调 DeepSeek API 有什么区别,更不清楚插件管理器、桌面端应用、Skills 这些概念该怎么落到自己的项目里,那这篇文章就是给你准备的。

这轮我们不聊概念,直接把它拆成三件事:DeepSeek Harness 到底是什么架构、怎么部署起来做项目实操、以及插件开发要按什么格式写。文中会给出通用启动命令、插件开发目录模板、API 接入示例和问题排查清单。文章末尾还会把"知识库、Skills、桌面端应用、插件管理器"这四个高频词逐个说明,方便你判断哪些能力对当前项目真正有用。

先说结论:DeepSeek Harness 不是一个传统的单一模型工具,它更像是围绕 DeepSeek 模型能力搭建的一套"工作台"。它的核心价值在于把模型调用、上下文管理、工具调用(Skills)、插件扩展、桌面端交互集中到一个可管理的框架里。对全栈开发者来说,最有吸引力的点是它的插件机制——你可以把日常重复的 AI 工作流封装成插件,通过插件管理器统一装载和启停,而不是每次都在代码里硬写一套 prompt 拼接逻辑。

1. 核心能力速览

先说规格。以下信息依据项目标题和公开资料整理,具体参数需要以你本机安装版本为准。

能力项说明
项目类型面向 DeepSeek 模型的工作流编排 / 桌面端应用框架
核心功能模型调用、Skills 技能封装、插件开发、插件管理器、桌面端 UI
插件机制支持自定义插件开发,通过插件管理器统一管理
桌面端应用提供桌面端入口,便于日常交互和可视化操作
适用场景全栈项目开发、AI 工作流编排、工具链整合、知识库管理
支持平台Windows / Linux / macOS 需按实际版本确认
显存需求取决于接入的模型是 API 模式还是本地模型模式
启动方式命令启动 / 桌面端启动,具体以安装版本为准
API 能力通常提供本地服务接口,需按实际版本确认
批量任务可通过 Skills 或插件实现批量处理
上手难度中等,熟悉 Python / Node.js / 桌面端开发任一方向即可

更稳妥的判断是:DeepSeek Harness 的定位不是"模型本身",而是"把模型组织起来干活"的框架。这意味着你可以保留现有 DeepSeek API 调用方式,同时获得一个结构化的插件扩展层。

2. 适用场景与使用边界

2.1 适合什么人

  • 全栈开发者:经常在项目中集成大模型能力,需要一个统一入口管理 prompt、工具调用和输出解析。
  • AI 工作流研究者:想了解模型调用之外,工具调用(Skills)和插件系统如何组织。
  • 桌面端应用开发者:想快速构建一个带 UI 的 AI 工具,不想从零设计前端和后端通信。
  • 技术博主 / 内容创作者:需要给粉丝出一套可操作的工具链演示,而不是只贴一个 API 文档链接。

2.2 能解决什么问题

  • 把多次重复的"模型调用 + 参数处理 + 结果整理"逻辑固化成插件或 Skill。
  • 通过插件管理器统一启停、切换不同功能模块,避免代码腐烂。
  • 桌面端应用解决"每次跑脚本"的麻烦,把常用操作可视化。
  • 知识库和 Skills 的结合,可以把项目内沉淀的文档、提示词模板变成可复用资产。

2.3 不适合什么场景

  • 如果你只想要一个 Web 聊天界面,直接使用 DeepSeek 官方对话服务即可,没必要引入 Harness。
  • 如果你需要的是大规模分布式训练或微调,Harness 不是这个方向的工具。
  • 如果你的项目对 UI 要求极高,Harness 自带的桌面端界面可能只能满足基础需求,复杂交互需要自行扩展。

2.4 合规与安全边界

涉及 AI 工具链整合时,务必注意几点:

  • 接入 DeepSeek API 时,需要在官方允许的服务条款范围内使用。
  • 如果 Harness 支持本地模型加载,需确认模型文件来源合法,遵守对应开源协议。
  • 涉及用户数据、隐私内容时,不要随意把内部数据发送到外部 API 服务,优先评估本地部署方案。
  • 插件来源要可信,安装第三方插件前审查其代码逻辑,避免恶意脚本被注入工作流。
  • 生成内容发布或商用前,要进行人工复核并标注 AI 生成属性。

3. 架构原理与模块拆解

3.1 整体架构

从命名和常规设计推断,DeepSeek Harness 的架构可以拆为四层:

┌─────────────────────────────────────────────┐ │ 桌面端应用 / UI 层 │ │ 插件管理器 │ Skills 列表 │ 任务面板 │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ 插件系统 / 扩展层 │ │ 插件 A │ 插件 B │ Skills 封装 │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ 核心 Harness 层 │ │ 上下文管理 │ 模型调用 │ 工具路由 │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ 模型适配层 │ │ DeepSeek API │ 本地模型 │ 其他后端 │ └─────────────────────────────────────────────┘

注意:这里不是项目官方架构图,而是基于 Harness 类框架的通用分层思路。实际源码结构需要 clone 项目后查看。

3.2 核心组件职责

  • 模型适配层:把 DeepSeek API 的请求协议转换成 Harness 内部统一的调用格式。这个层的存在意味着你后续切换不同模型服务时,不需要改动业务代码。
  • 核心 Harness 层:负责上下文传递、会话状态管理、工具调用路由。它的职责很像后端框架里的 Service 层,所有插件和 Skill 都通过这层与模型通信。
  • 插件系统:每个插件就是一个独立的功能模块,通常包含入口文件、配置文件和技能实现代码。插件管理器会扫描指定目录、加载配置、暴露功能入口。
  • Skills 层:Skills 是一种更高层的封装,把一系列 prompt 模板和工具调用组合成一个可复用的"技能"。例如"代码审查 Skill""文档生成 Skill"。
  • 桌面端应用:把上述能力包装成可视化管理界面,降低使用门槛。

3.3 数据流

一次典型的任务执行流程:

  1. 用户在桌面端选择一个 Skill 或插件。
  2. Harness 核心层读取插件配置,组装 prompt。
  3. 调用模型适配层请求 DeepSeek API。
  4. 拿到模型返回结果后,Harness 解析并执行后续工具调用。
  5. 结果写回任务面板并展示给用户。

理解这个数据流对排查问题很有帮助:如果任务失败,先判断是插件配置问题、模型 API 问题,还是结果解析问题,定位范围会小很多。

4. 环境准备与前置条件

在开始部署前,先给出一份通用检查清单。因为 DeepSeek Harness 的具体版本信息、依赖要求需要以官方仓库为准,所以这里只列常规项目需要确认的项。

4.1 硬件与系统

检查项建议
操作系统Windows 10/11、Ubuntu 20.04+、macOS 12+
CPU日常开发级即可
内存建议 16 GB 以上
GPU如果只接 API 模式,显卡不是必须;本地模型模式需按模型要求配置
磁盘空间预留 10 GB 以上,模型文件另计

4.2 软件依赖

DeepSeek Harness 很可能涉及以下环境,具体以项目 README 为准:

  • Git
  • Node.js 16+ 或 Python 3.9+(取决于项目主语言)
  • 包管理工具 npm / pnpm / pip / poetry
  • 如果涉及桌面端构建,可能需要 Electron 或 Tauri 相关环境
  • 如果涉及本地模型,需配置 CUDA 和 PyTorch

检查命令通用模板:

# 检查各环境版本 node -v npm -v python --version git --version # 检查 CUDA(如果使用本地模型推理) nvidia-smi

4.3 端口规划

Desktop 类应用通常自带端口或直接绑定本地回环地址。部署时建议先确认端口占用情况:

# Linux / macOS lsof -i :3000 # Windows PowerShell netstat -ano | findstr :3000

如果 3000 端口被占用,需要查看项目配置文件确认端口是否可修改。

5. 安装部署与启动方式

5.1 通用安装思路

以下命令是通用模板,实际项目路径、包名、脚本名必须按 DeepSeek Harness 官方仓库和版本 README 替换。

# 1. 克隆项目代码 git clone <项目仓库地址> cd <项目目录> # 2. 安装依赖 npm install # 或 pip install -r requirements.txt # 3. 配置环境变量 cp .env.example .env # 编辑 .env,填入 DeepSeek API Key 等参数

配置文件示例:

# .env DEEPSEEK_API_KEY=your_api_key_here DEEPSEEK_API_BASE=https://api.deepseek.com HARNESS_HOST=127.0.0.1 HARNESS_PORT=3000 PLUGIN_DIR=./plugins

5.2 启动命令模板

# 开发模式启动命令行服务 npm run dev # 启动桌面端应用 npm run desktop # 或者使用 Python 版本 python main.py

启动后,你需要关注两个输出:

  • 终端是否正常打印监听端口地址。
  • 桌面端窗口是否正常弹出,或浏览器是否能访问 Web 管理界面。

5.3 验证启动状态

如果项目提供健康检查接口,通常可以这样验证:

curl http://127.0.0.1:3000/health

返回正常时一般包含状态字段。如果返回 200 或 JSON 格式的状态信息,说明服务已就绪。如果请求超时或连接拒绝,需要回看终端日志。

5.4 部署模式选择建议

场景推荐方式
本地日常试用桌面端应用直接启动
集成到现有项目启动服务模式,通过 HTTP 接口调用
服务器部署命令行启动 + 反向代理,限制访问范围

无论哪种模式,都建议把启动命令写进 npm script 或 Makefile,方便重复执行。

6. 功能测试与效果验证

部署完成后,建议按以下顺序验证功能,不要一上来就写复杂插件。

6.1 基础模型调用测试

测试目标:确认 Harness 能正常调用 DeepSeek 模型并返回结果。

操作步骤:

  1. 在桌面端或命令行输入一句简单指令,例如"用一句话解释什么是 Harness"。
  2. 观察是否返回模型输出。
  3. 检查日志中是否存在 API 请求记录。

预期结果:获取到符合模型风格的文本回复,终端记录请求耗时。

常见失败原因:

  • API Key 未配置或配置错误。
  • 网络无法访问模型 API 服务。
  • 模型名称参数配置错误。

排查方式:检查.env中的 Key 和模型名称,用 curl 直接测试 DeepSeek API,确认凭据有效性。

6.2 Skills 加载测试

测试目标:确认 Skills 目录能被正确扫描和加载。

操作步骤:

  1. 在项目配置的 Skills 目录下放置一个已有 Skill 文件夹。
  2. 重启服务或点击"重新加载"。
  3. 在桌面端 Skills 列表中查看该技能是否出现。

预期结果:列表中出现该 Skill,点击可以运行。

排查方式:

  • 检查 Skill 配置文件的格式。
  • 查看启动日志中 Skills 扫描路径是否有误。

6.3 插件管理器功能测试

测试目标:确认插件的安装、启用、停用流程可用。

操作步骤:

  1. 打开插件管理器页面。
  2. 导入一个本地插件包。
  3. 尝试启用和停用插件。
  4. 观察插件是否生效。

预期结果:插件状态切换正常,启用后对应功能入口可用。

如果插件管理器支持远程插件市场,安装后要特别注意插件来源和代码安全性,不要安装来源不明的插件。

6.4 桌面端与 API 模式联动测试

测试目标:确认桌面端操作与后端服务状态同步。

操作步骤:

  1. 在桌面端执行一个简单任务。
  2. 观察后端日志输出。
  3. 对 API 模式分别测试 GET 方法和 POST 方法请求。

通用请求模板:

# 获取服务状态 curl http://127.0.0.1:3000/api/status
import requests # 发送一个简单任务请求,具体接口路径需要按实际项目调整 url = "http://127.0.0.1:3000/api/task" payload = { "skill": "chat", "input": "你好,请介绍一下你自己" } try: response = requests.post(url, json=payload, timeout=60) print("状态码:", response.status_code) print("返回内容:", response.json()) except requests.exceptions.Timeout: print("请求超时,请检查服务状态和网络配置") except requests.exceptions.ConnectionError: print("连接失败,请确认服务已启动")

预期结果:返回任务处理结果,桌面端也能看到对应任务记录。

7. 插件开发入门与项目实操

7.1 插件开发思路

DeepSeek Harness 的插件开发,核心是遵守项目规定的目录结构和配置格式。虽然不同版本的插件规范有差异,但通用流程是一致的:

  1. 创建插件目录。
  2. 编写插件配置文件,声明插件名称、版本、入口、依赖。
  3. 实现插件入口函数,定义接收输入和返回输出的逻辑。
  4. 将插件放到插件管理器扫描目录。
  5. 启用插件并测试。

7.2 插件目录结构参考

下面的目录结构是通用模板,实际命名必须依据项目文档:

my-plugin/ ├── manifest.json # 插件清单文件 ├── index.js # 插件入口文件 ├── README.md # 插件说明文档 └── assets/ # 插件附属资源

清单文件manifest.json的通用格式:

{ "name": "my-plugin", "version": "0.1.0", "description": "示例插件,用于演示 DeepSeek Harness 插件开发流程", "entry": "index.js", "skills": ["custom-skill-name"], "permissions": ["network", "file-read"] }

说明:

  • entry字段指向插件主逻辑。
  • skills声明该插件提供的技能。
  • permissions声明插件所需权限,便于安全审计。

7.3 插件入口代码模板

以下代码是 Node.js 环境下的通用模板,需要按项目实际插件 API 调整:

// index.js module.exports = async function run(context) { const { input, config } = context; try { // 在这里实现插件的核心逻辑 // 例如:对输入进行加工、调用模型、处理结果 const result = { success: true, message: `插件执行完成,输入长度:${input.length}`, data: { output: input.trim(), pluginVersion: require('./package.json').version } }; return result; } catch (error) { return { success: false, message: error.message, data: null }; } };

如果你的环境是 Python,入口文件可以类似这样:

# main.py def run(context: dict) -> dict: user_input = context.get("input", "") config = context.get("config", {}) # 在这里编写插件逻辑 return { "success": True, "message": "插件执行成功", "data": {"output": user_input.strip()} }

7.4 Skills 开发与知识库组合

Skills 是 Harness 类框架中复用性最强的部分。一个 Skill 通常包含:

  • 一段稳定的系统提示词。
  • 若干工具函数的定义。
  • 输出格式要求。

例如一个"代码审查 Skill"的 prompt 模板可以这样设计:

你是资深代码审查专家。 请根据以下要求审查代码: 1. 安全性:检查注入风险和敏感信息泄露 2. 可维护性:检查命名、函数长度、重复代码 3. 性能:检查明显的性能问题 输出格式:按问题严重程度分级列出

将这类模板放入 Skills 目录,就可以在多个项目间复用。

与知识库结合时,可以考虑把团队内部的技术规范、常见问题、历史决策记录整理成知识库文档,通过 Harness 的检索能力在 Skill 执行时自动参考,减少重复提示词的维护成本。

7.5 一个完整插件开发实战流程

以"写一段 Markdown 文档规范化插件"为例:

第一步:创建插件目录 mkdir markdown-normalizer cd markdown-normalizer 第二步:初始化 package.json npm init -y 第三步:编写 manifest.json 第四步:实现入口逻辑 第五步:启动 Harness,把插件目录放入 PLUGIN_DIR 第六步:在插件管理器中启用插件 第七步:在桌面端输入一段不规范 Markdown,验证输出

这个流程虽然简单,但能帮助你验证整个 Harness 插件系统的闭环是否可用。插件能不能跑通,依赖项目对插件格式的具体要求,因此开发前建议先阅读官方文档中"插件开发格式"章节。

8. 资源占用与性能观察

8.1 观察方式

部署后,建议先跑一个最小任务,观察资源占用基线。

# Linux / macOS 实时查看 CPU、内存 top -o %MEM # Windows PowerShell 查看进程资源 Get-Process | Where-Object {$_.ProcessName -like '*harness*'} | Select-Object ProcessName, CPU, WorkingSet

如果桌面端界面使用 Electron,内存占用会明显高于纯命令行模式,这属于正常现象。

8.2 性能影响因素

因素影响说明
输入文本长度越长,Prompt 处理时间越久,token 消耗越高
模型服务模式API 模式延迟取决于远程服务,本地模型取决于显卡和显存
插件数量插件加载越多,启动时间越长
日志级别debug 级别日志对性能影响明显,生产环境建议 info 级别
批量请求并发并发过高可能导致 API 限流或内存激增

8.3 降低资源占用的建议

  • 先只加载实际使用的插件,不要全部启用。
  • 日志级别设成 info 或 warn。
  • 批量任务控制并发数,建议从 1 到 5 逐步增加。
  • 如果是在服务器上运行,加一个进程守护工具,防止异常退出后无人接管。

9. 接口 API 调用与批量任务设计

9.1 通用接口设计思路

DeepSeek Harness 如果提供本地 HTTP 服务,通常会有以下几类接口:

  • 状态检查接口。
  • 任务提交接口。
  • 插件列表接口。
  • 插件启停接口。

使用任何接口前,先查看项目的 API 文档。如果文档没有给出,可以通过启动日志和源码控制器层确认路由路径。

9.2 批量任务调用模板

批量任务的核心是"把一批输入发送到接口,并收集结果"。下面的模板展示如何串行处理输入列表:

import requests import time import json BASE_URL = "http://127.0.0.1:3000" TASK_API = f"{BASE_URL}/api/task" # 批量输入列表 inputs = [ "请总结这篇文章的核心观点", "请把这段文字翻译成英文", "请为这个功能写一个测试用例" ] results = [] for idx, text in enumerate(inputs, 1): payload = { "skill": "chat", "input": text } try: response = requests.post(TASK_API, json=payload, timeout=120) if response.status_code == 200: results.append({ "task_id": idx, "status": "success", "output": response.json() }) else: results.append({ "task_id": idx, "status": "failed", "status_code": response.status_code, "error": response.text }) except Exception as e: results.append({ "task_id": idx, "status": "failed", "error": str(e) }) # 避免请求过快触发限流 time.sleep(1) # 输出结果汇总 print(json.dumps(results, ensure_ascii=False, indent=2))

更稳妥的批量处理思路是引入任务队列:将输入写入队列,后台 worker 逐个消费,结果写入输出目录。项目上线前,建议先在小样本上验证稳定性。

9.3 失败重试建议

接口调用失败时,不建议无脑重试。按常规实践,先区分错误类型:

  • 网络超时:可以重试,建议指数退避。
  • 参数格式错误:不要重试,先修正请求体。
  • API 限流:等待固定时间后重试。
  • 服务未启动:先检查服务状态,不要盲目发请求。

10. 常见问题与排查方法

问题现象可能原因排查方式解决方案
启动后页面打不开端口被占用或服务启动失败查看终端日志和端口占用情况更换端口或杀掉占用进程后重启
API Key 报错.env 中 Key 配置错误检查日志中鉴权信息确认 Key 和 API 地址正确
插件管理器中插件不显示插件目录路径或清单文件格式错误检查插件目录配置和 manifest.json按项目文档修正目录结构和配置
插件执行报错依赖缺失或入口函数签名不符查看插件日志和项目插件 API 文档安装依赖或修改入口函数
模型回复速度慢输入过长或服务过载检查任务耗时和资源占用削减输入长度,降低并发数
桌面端卡顿桌面端占用内存过高查看进程内存占用关闭不使用的插件或重启应用
批量任务中途失败某个任务导致进程异常查看任务日志中的异常信息增加任务级异常捕获和重试机制
Node 依赖安装失败网络源或 Node 版本冲突检查 npm 日志切换镜像源或升级 Node 版本

10.1 依赖安装失败处理

通用做法是:

# 清理缓存后重装 npm cache clean --force rm -rf node_modules npm install # 或使用 pnpm pnpm install --force

如果特定包始终装不上,优先确认 Node 版本是否符合项目要求。

10.2 模型文件缺失问题

如果项目支持本地模型,启动时报模型文件缺失,需要:

  1. 确认模型文件的下载地址。
  2. 确认版本是否匹配。
  3. 确认存放路径是否与配置一致。

未确认模型文件来源合规之前,不要直接下载来源不明的权重文件。

11. 插件管理器与桌面端应用最佳实践

11.1 插件管理器使用建议

  • 保持插件数量精简。插件越多,每次启动加载越慢。
  • 定期更新插件,留意版本兼容性。
  • 不用的插件及时停用,而不是删掉,方便后续复用。
  • 插件目录纳入版本控制,团队成员共享统一插件环境。

11.2 桌面端应用使用建议

桌面端应用的价值在于把重复操作变成"点击一下"。建议把以下工作流放进去:

  • 常用 Skill 的执行。
  • 小批量文本处理。
  • 与知识库联动的问答入口。

同时保留命令行模式,方便在自动化脚本中调用。桌面端适合交互,命令行适合定时任务和批量场景。

11.3 知识库管理建议

知识库不是"一次性上传就完事",需要持续维护:

  • 把知识库按下游场景分目录,例如开发规范常见报错产品文档
  • 每次模型行为不准确时,优先检查对应知识库内容是否过期。
  • 知识库变更后,建议重新验证一遍核心 Skill 的效果,避免引入不相关文档影响输出。

11.4 全栈项目中的实际落地建议

如果你是一个全栈开发者,想把这个框架用到正式项目里,建议循序渐进:

  1. 先跑通最小闭环:安装、部署、基础对话。
  2. 再写一个满足自身需求的插件,确认项目能稳定运行。
  3. 再把插件封装成 Skill,把常用 prompt 模板放进去。
  4. 最后把知识库建好,让 Skill 的输出质量明显提升。

不要在第一天就试图把全部功能整合进去。先用小范围功能验证框架的稳定性和维护成本,再决定是否作为团队工具。

12. 总结与下一步

DeepSeek Harness 值得花一个下午跑通的核心原因,不在于它比直接调用 DeepSeek API 多出多少"魔法",而在于它提供了一个结构化的扩展层。你写的插件、沉淀的 Skills、整理的知识库,都可以成为可复用的工程资产。

建议你第一次操作时,按这个顺序走:

  • 先装好主程序,跑通基础对话。
  • 再写一个最简单的插件,走通插件管理器的启用流程。
  • 然后封装一个 Skill,把常用 prompt 模板放进去。
  • 最后再考虑桌面端界面和知识库的深度整合。

最容易踩的坑集中在三个方面:插件目录结构不匹配、API Key 配置位置错误、端口被占用。启动出现问题先看日志,再检查配置文件,然后才考虑重装依赖。

后续可以探索的方向包括:把 Harness 接入到团队的自动化流水线、把插件分享给团队成员统一管理、针对特定业务场景沉淀专用 Skill 库。用熟了之后,你会发现它更像一个"AI 工作流收纳盒"——把散落各处的提示词、工具调用、模型配置统一收进一个可维护的框架里。

建议先把这篇文章收藏备用,等动手部署时翻出来对照检查,能少走不少弯路。

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

YOLOv5+PyQt5:从detect.py到可交付的可视化目标检测工具

简介&#xff1a;面向需要快速构建目标检测可视化应用的开发者&#xff0c;这一资源将YOLOv5的检测能力与PyQt5界面相结合&#xff0c;实现从视频文件、摄像头采集到实时输出边界框位置与类别标签的完整流程。压缩包共132个文件&#xff0c;大小108.25MB&#xff0c;涵盖34个Py…

作者头像 李华
网站建设 2026/9/8 3:41:16

STM32 RS485通信实战:原理、硬件设计、代码与工业布线避坑指南

RS485 这个标准从 1983 年发布算起&#xff0c;比很多编程语言都“老”&#xff0c;但今天去任何一座工厂、一栋写字楼、一个配电房&#xff0c;依然到处是它的影子。变频器、伺服驱动器、温控表、电表、PLC、门禁控制器&#xff0c;几乎所有工业设备的说明书里&#xff0c;第一…

作者头像 李华
网站建设 2026/9/8 3:38:39

1992年NBA选秀悬案:奥尼尔电话失联背后的决策风险

1992年NBA选秀夜&#xff0c;奥兰多魔术用状元签选中沙奎尔奥尼尔&#xff0c;这件事本身没有争议。真正让老球迷念念不忘的&#xff0c;是那通“迟到”的电话。按照流传多年的说法&#xff0c;魔术队在现场准备联系奥尼尔时&#xff0c;电话竟然失联&#xff0c;直到倒计时最后…

作者头像 李华
网站建设 2026/9/8 3:38:26

西门子S7-200smart恒压供水一拖五系统设计与调试全解析

1. 项目缘起与整体方案思路做供水控制这么多年&#xff0c;恒压供水这个场景我接触过不少&#xff0c;但真正要把“一拖五”的大泵结构做扎实&#xff0c;还得兼顾小泵补压、软启交替、休眠唤醒这套完整逻辑&#xff0c;确实不是随便写几段梯形图就能交差的。这次的项目标题里写…

作者头像 李华
网站建设 2026/9/8 3:37:44

Ventoy 多系统启动盘制作指南:一个U盘搞定PE与ISO镜像管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/8 3:37:25

港大开源AI学习系统:Agent架构下的个性化学习闭环实战

各位 CSDN 的朋友们&#xff0c;大家好。之前在调研开源学习类项目时&#xff0c;偶然发现了香港大学团队开源的一款 AI 学习系统。它最吸引我的地方不是简单的“AI 问答 资料库”&#xff0c;而是设计了一套基于原生 Agent 架构的个性化学习闭环&#xff0c;把知识库、错题集…

作者头像 李华