学校数字孪生项目实战:从CIMPro到CesiumJS的全流程开发指南
最近在做一个学校的数字孪生项目从零开始踩了不少坑也积累了一套相对完整的流程。网上关于数字孪生的概念文章很多但真正手把手教你从建模、引擎选择到交互开发的实战教程却比较零散。本文将以一个学校园区为案例详细拆解使用CIMPro平台进行数字孪生项目制作的全流程涵盖三维建模、数据对接、场景搭建和基础交互实现。无论你是想了解数字孪生落地的学生还是需要快速构建原型的技术人员都能从中获得可直接复用的代码和配置方案。1. 项目背景与核心概念解析在开始具体操作之前我们有必要厘清几个关键概念这能帮助我们在后续步骤中做出更合适的技术选型。数字孪生是什么简单来说它就是物理实体比如我们的一栋教学楼、整个校园在虚拟空间中的一个高保真“数字克隆体”。这个克隆体不仅仅是外观的3D模型更重要的是它能通过物联网IoT传感器等数据接口与物理实体进行实时或准实时的数据同步与交互。你可以在这个数字世界里监控设备的运行状态如空调能耗、模拟突发事件如消防疏散甚至进行预测性维护。CIMPro在这个流程中扮演什么角色它通常是一个集成的城市信息模型CIM平台或工具集。对于学校数字孪生项目我们可以将其理解为一个能够处理倾斜摄影、BIM建筑信息模型、GIS地理信息系统等多源数据并进行轻量化、融合和可视化展示的中间平台或工作流。它可能不是某个单一的软件而是一套包含数据转换、场景编辑、服务发布等环节的解决方案。本文的“全流程”正是围绕这样一套逻辑展开。为什么选择学校作为案例校园是一个功能复合的小型城市单元包含建筑、道路、管网、绿化、安防、能耗等多个子系统非常适合作为数字孪生的入门实践场景。项目目标可以是实现校园全景浏览、主要建筑信息查询、部分物联网设备如路灯状态显示等。2. 环境准备与工具链说明数字孪生项目涉及多学科工具以下清单是基于当前常见实践整理的请根据你的具体项目要求和软件许可情况调整。2.1 三维建模与数据处理工具建模软件 (3D Modeling):SketchUp / 3ds Max / Rhino: 用于创建或细化主要建筑的精细模型。对于学校项目如果已有CAD图纸SketchUp上手较快。Blender: 开源首选功能强大可用于建筑建模、场景整合和简单动画制作社区资源丰富。Revit (BIM): 如果项目需要深入的建筑信息如管线、结构、设备Revit是BIM建模的标准工具。导出时通常需要转换为如.fbx或.gltf格式。实景建模软件:ContextCapture / RealityCapture: 通过无人机拍摄的照片生成校园的实景三维模型倾斜摄影模型用于表现真实的地形、绿化及建筑外观。格式转换与轻量化工具:FME / 3D Tile Converter: 将大型的实景模型或BIM模型转换为WebGL友好的格式如3D Tiles或glTF。这是接入CIMPro或Web可视化引擎的关键一步。Blender / MeshLab: 也可用于模型的减面、修复和格式转换。2.2 可视化与开发平台CIMPro平台或类似引擎:本文以广义的CIM处理流程为例。在实际操作中你可能需要用到如SuperMap iDesktop用于数据处理与场景制作、Skyline Globe或Cesium开源生态中的工具链。核心需求该平台应能加载3D Tiles地形与实景、glTF单体模型、GIS地图服务并提供JavaScript API进行二次开发。三维可视化引擎:CesiumJS: 开源地理可视化引擎的标杆完美支持3D Tiles和glTF是构建基于Web的学校数字孪生系统的强大基础。我们将主要围绕它进行讲解。Three.js: 更通用的WebGL库灵活性极高但在处理大规模地理空间数据方面需要更多开发工作。Unity / Unreal Engine (UE5): 如果需要电影级画质、复杂的物理模拟或高沉浸感交互如VR游戏引擎是更好的选择。但部署到Web通过WebGL会有性能限制。开发环境:代码编辑器: VS Code。Node.js: 用于搭建本地开发服务器和包管理。浏览器: Chrome 或 Firefox需开启硬件加速。2.3 项目目录结构预设在开始前建议先创建清晰的目录结构school-digital-twin/ ├── data/ # 原始数据 │ ├── dem/ # 数字高程模型 │ ├── imagery/ # 卫星或航拍影像 │ └── models/ # 原始3D模型 (.skp, .max, .rvt) ├── processed_data/ # 处理后的数据 │ ├── 3d_tiles/ # 转换后的3D Tiles │ └── gltf_models/ # 转换后的glTF模型 ├── src/ # 源代码 │ ├── js/ │ │ ├── main.js # Cesium应用主逻辑 │ │ └── utils.js # 工具函数 │ └── css/ │ └── style.css # 样式表 ├── lib/ # 库文件 (如Cesium) ├── docs/ # 文档 └── index.html # 主入口文件3. 核心流程拆解从数据到可视化学校数字孪生的构建可以归纳为以下四个核心步骤我们将分节详细阐述。3.1 第一步多源数据采集与处理数据是数字孪生的基石。对于学校项目我们需要以下几类数据地理空间数据: 校园的边界、坐标WGS84经纬度、地形高程DEM。可以从公开地图服务或测绘部门获取。影像底图: 最新的卫星图或航拍图用于作为三维场景的底图。可以使用天地图、ArcGIS Online等服务的WMTS。三维模型数据:实景模型: 通过无人机倾斜摄影生成反映真实外观。白模/精模: 对于重点建筑如图书馆、教学楼用建模软件制作带纹理的精细模型。BIM模型: 如果涉及楼宇内部设备管理则需要Revit等输出的BIM模型。业务属性数据: 建筑的名称、编号、用途、建成年代等通常存储在Excel或数据库中后期需要与三维模型关联。关键处理操作坐标系统一所有数据必须转换到统一的坐标系如WGS84 EPSG:4326。在Cesium中这是必须的。使用GIS软件如QGIS或FME进行转换。3.2 第二步模型优化与格式转换直接从建模软件或实景建模软件导出的模型通常面数过高无法直接在Web端流畅加载。减面 (Decimation): 在Blender或MeshLab中降低模型面数在视觉损失可接受的前提下尽可能优化。格式转换: 将模型转换为Web友好的格式。倾斜摄影模型- 使用ContextCapture或Cesium ion工具链输出为3D Tiles。单体建筑模型- 导出为glTF或glb二进制glTF格式。glTF是Web3D的“JPEG”得到广泛支持。纹理优化: 压缩纹理图片尺寸使用.jpg格式必要时生成纹理集。3.3 第三步在CIMPro或Cesium中集成场景这是构建可视化场景的核心环节。创建Cesium Viewer: 初始化一个三维地球容器。添加底图与地形: 加载在线影像服务和地形服务如Cesium World Terrain或使用本地的GeoTIFF处理后的地形。加载三维数据:使用Cesium3DTileset加载3D Tiles实景校园。使用Cesium.Model或Cesium.Entity加载glTF模型单体建筑。调整位置与姿态: 确保所有模型准确“落”在校园的正确坐标上。3.4 第四步功能开发与交互实现基础场景搭建好后需要添加交互功能。模型拾取与信息查询: 点击建筑弹出信息框显示其属性。数据可视化: 将物联网传感器数据如温度、能耗以图表、热力图或模型颜色变化的形式呈现。场景管理: 实现图层控制显示/隐藏建筑、树木、视角切换飞到指定教学楼。分析与模拟: 实现简单的通视分析、日照分析或应急疏散模拟路径绘制。4. 完整实战案例构建一个可交互的学校园区让我们以一个包含三栋主要建筑教学楼、图书馆、宿舍的虚拟校园为例完成一个最小可行产品MVP。4.1 数据准备与处理假设我们已有school_boundary.geojson: 校园边界的矢量文件。campus_textured.glb: 在Blender中制作好的带纹理的校园整体白模。library.glb,dormitory.glb: 两个重点建筑的精细模型。处理步骤在QGIS中打开school_boundary.geojson将其坐标系设置为 WGS84 (EPSG:4326)并导出。在Blender中打开campus_textured.blend检查模型比例和朝向。使用“精简修改器”适当减面后通过glTF 2.0导出器导出为.glb格式。对library.glb和dormitory.glb执行同样的导出操作。4.2 搭建基础Cesium场景创建项目文件index.html和src/js/main.js。index.html:!DOCTYPE html html langen head meta charsetutf-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title学校数字孪生 - 校园预览/title script src./lib/Cesium/Cesium.js/script link href./lib/Cesium/Widgets/widgets.css relstylesheet link relstylesheet href./src/css/style.css /head body div idcesiumContainer/div div idinfoPanel classinfo-panel点击建筑查看信息/div script src./src/js/main.js/script /body /htmlsrc/js/main.js:// 1. 配置Cesium静态资源路径假设Cesium库放在lib/下 window.CESIUM_BASE_URL ./lib/Cesium/; // 2. 初始化Viewer去除默认的影像和地形使用自定义 const viewer new Cesium.Viewer(cesiumContainer, { terrainProvider: Cesium.createWorldTerrain(), // 使用Cesium世界地形 baseLayerPicker: false, // 隐藏底图选择器 animation: false, // 隐藏动画控件 timeline: false, // 隐藏时间线 fullscreenButton: false // 隐藏全屏按钮 }); // 3. 设置初始视角到学校大致坐标 (例如北京某大学) viewer.camera.setView({ destination: Cesium.Cartesian3.fromDegrees(116.3, 39.9, 1500.0), // 经度纬度高度米 orientation: { heading: Cesium.Math.toRadians(0), // 朝向 pitch: Cesium.Math.toRadians(-30), // 俯角 roll: 0.0 } }); // 4. 添加自定义影像底图这里使用ArcGIS World Imagery服务 const imageryLayer viewer.imageryLayers.addImageryProvider( new Cesium.ArcGisMapServerImageryProvider({ url: https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer }) ); // 5. 加载校园整体白模 const campusTileset viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ url: ./processed_data/3d_tiles/campus/tileset.json // 如果是3D Tiles }) ); // 如果是glb模型则使用以下方式 // const campusEntity viewer.entities.add({ // name: 校园整体模型, // position: Cesium.Cartesian3.fromDegrees(116.3, 39.9, 0), // model: { // uri: ./processed_data/gltf_models/campus_textured.glb, // scale: 1.0 // } // }); // 等待3D Tiles加载完成后调整位置如果是3D Tiles if (campusTileset) { campusTileset.readyPromise.then(function(tileset) { // 计算模型包围盒并移动相机到合适位置 const boundingSphere tileset.boundingSphere; viewer.camera.viewBoundingSphere(boundingSphere, new Cesium.HeadingPitchRange(0, -0.5, boundingSphere.radius * 2.0)); viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY); }).otherwise(function(error) { console.error(加载校园模型失败:, error); }); }4.3 添加单体建筑与信息交互现在我们添加图书馆和宿舍楼并实现点击弹出信息的功能。// 6. 定义建筑数据 const buildings [ { name: 图书馆, position: Cesium.Cartesian3.fromDegrees(116.301, 39.902, 0), modelUrl: ./processed_data/gltf_models/library.glb, description: strong图书馆/strongbr/建成于2010年共5层藏书50万册。 }, { name: 学生宿舍, position: Cesium.Cartesian3.fromDegrees(116.299, 39.901, 0), modelUrl: ./processed_data/gltf_models/dormitory.glb, description: strong学生宿舍/strongbr/楼高6层可容纳1200名学生。 } ]; // 7. 循环添加建筑实体 const buildingEntities []; buildings.forEach(building { const entity viewer.entities.add({ name: building.name, position: building.position, model: { uri: building.modelUrl, scale: 1.0, minimumPixelSize: 128 // 模型最小像素尺寸保证远距离可见 }, description: building.description }); buildingEntities.push(entity); }); // 8. 实现点击拾取与信息显示 const infoPanel document.getElementById(infoPanel); const handler new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas); handler.setInputAction(function(movement) { const pickedFeature viewer.scene.pick(movement.position); if (Cesium.defined(pickedFeature) Cesium.defined(pickedFeature.id)) { // 如果拾取到的是Entity我们的建筑 const entity pickedFeature.id; if (entity.description) { infoPanel.innerHTML entity.description.getValue(); infoPanel.style.display block; } } else { // 点击空白处隐藏信息面板 infoPanel.style.display none; } }, Cesium.ScreenSpaceEventType.LEFT_CLICK);src/css/style.css:html, body { width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; font-family: sans-serif; } #cesiumContainer { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } .info-panel { position: absolute; top: 20px; right: 20px; background-color: rgba(255, 255, 255, 0.9); padding: 15px; border-radius: 5px; max-width: 300px; display: none; /* 默认隐藏 */ box-shadow: 0 2px 10px rgba(0,0,0,0.2); z-index: 1000; }4.4 运行与验证将处理好的模型文件.glb放入processed_data/gltf_models/目录。将Cesium SDK从官网下载解压到lib/Cesium/目录。由于Cesium加载本地文件可能涉及CORS问题建议使用一个简单的HTTP服务器来运行。在项目根目录打开终端运行npx serve .或使用Pythonpython -m http.server 8000在浏览器中访问http://localhost:8000或相应端口。你应该能看到地球并定位到你的学校坐标附近加载出校园模型和两栋建筑。点击建筑右侧会显示对应的信息。5. 常见问题与排查思路在实践过程中你可能会遇到以下典型问题问题现象可能原因排查与解决思路页面空白控制台报错Cesium is not defined1. Cesium库路径错误。2. 未正确设置CESIUM_BASE_URL。1. 检查index.html中script和link的src/href路径是否正确指向lib/Cesium下的文件。2. 确保CESIUM_BASE_URL在引入Cesium.js之后、创建Viewer之前设置。模型位置不对飘在空中或沉入地下1. 模型坐标与Cesium世界坐标不匹配。2. 模型原点pivot设置问题。3. 未添加地形或地形偏移。1. 确认模型的经纬度高程坐标正确。在建模软件中将模型原点置于底部中心或导出时应用变换。2. 使用Cesium.Transforms.eastNorthUpToFixedFrame来正确定位。3. 如果用了地形可能需要给模型一个适当的高度偏移height属性。模型加载失败控制台报404或CORS错误1. 模型文件路径错误。2. 本地文件服务器未启动或端口不对。3. 浏览器CORS策略限制。1. 检查model.uri路径使用相对路径并从服务器根目录开始计算。2.务必使用HTTP服务器如serve,http-server打开项目而不是直接双击index.html。3. 对于本地开发禁用浏览器CORS限制不安全仅用于测试或配置服务器返回正确的CORS头。点击模型没有反应1. 事件处理器未正确绑定。2. 拾取的对象不是Entity。3.description属性未定义或格式不对。1. 检查ScreenSpaceEventHandler的绑定事件类型是否为LEFT_CLICK。2. 在拾取回调中使用console.log(pickedFeature)调试确认拾取到的对象类型。3. 确保entity.description是一个Property或字符串。页面性能卡顿1. 模型面数过高。2. 同时加载的数据量太大。3. 浏览器硬件加速未开启。1. 对模型进行减面优化使用LOD多层次细节。2. 使用3D Tiles流式加载大规模数据而非一次性加载单个大模型。3. 在浏览器设置中开启硬件加速并确保使用支持WebGL的显卡驱动。6. 最佳实践与项目进阶建议完成基础功能后要打造一个更健壮、实用的学校数字孪生系统还需要考虑以下方面6.1 数据管理与工程化版本控制: 对模型数据、配置文件和源代码全部使用Git进行版本管理。对于大型二进制模型文件使用Git LFS大文件存储。配置文件化: 将建筑的坐标、属性、模型路径等信息抽离到单独的JSON配置文件中便于管理和更新无需修改代码。// buildings_config.json [ { id: lib_001, name: 图书馆, lon: 116.301, lat: 39.902, height: 0, model: models/library.glb, properties: {year: 2010, floors: 5, books: 500k} } ]服务化发布: 将处理好的3D Tiles、地形切片、影像瓦片通过GeoServer、Nginx等静态服务器或专业的GIS服务器如SuperMap iServer发布为HTTP服务前端通过URL调用。6.2 性能优化模型LOD: 为重要建筑创建多个细节层次的模型根据相机距离动态切换。视锥体剔除: Cesium已自动实现。确保你的模型数据结构合理便于空间索引。纹理压缩: 使用Basis Universal等GPU纹理压缩格式大幅减少纹理加载时间和内存占用。按需加载: 对于超大型校园可以将区域划分为多个3D Tileset根据视野范围动态加载和卸载。6.3 功能扩展物联网数据对接: 通过WebSocket或轮询API从学校物联网平台获取实时数据如教室人数、空调状态、能耗使用Cesium的CallbackProperty动态更新模型颜色、标签或创建动态图表可集成ECharts。空间分析:通视分析: 使用Cesium.Viewer.scene.globe.getHeight和射线检测分析两点间是否可见。缓冲区分析: 使用Cesium.PolygonGeometry绘制指定建筑周围的安全缓冲区。场景与故事线: 利用Cesium.Camera的飞行动画制作校园导览自动漫游。6.4 部署与安全跨域问题: 生产环境务必在服务器端如Nginx配置正确的CORS头允许你的前端域名访问数据服务。令牌认证: 如果使用Cesium ion等在线服务注意保管好Access Token不要在前端代码中硬编码。可考虑通过后端代理转发请求。HTTPS: 生产环境必须使用HTTPS因为现代浏览器对WebGL和地理位置API在非安全上下文下的限制越来越严格。学校数字孪生项目是一个典型的“数据整合可视化业务逻辑”的综合性工程。本文详细介绍了从数据准备、处理、到利用Cesium引擎进行Web集成的全流程并提供了可运行的基础代码。关键在于理解数据流转的每个环节格式、坐标、优化和Cesium的基本实体Entity与图元Primitive概念。

相关新闻

从创意到代码:基于Spring Boot构建可扩展的记忆管理系统原型

从创意到代码:基于Spring Boot构建可扩展的记忆管理系统原型

在实际技术写作中,我们经常需要处理来自不同来源的、非结构化的项目需求或创意描述,并将其转化为可执行、可理解的技术方案。本文将以一个虚构的、带有故事背景的“记忆修改系统”为引子,探讨如何将这类天马行空的创意,落地为一个…

2026/8/9 8:36:56 阅读更多 →
DC-1 完整渗透测试笔记

DC-1 完整渗透测试笔记

文章目录DC-1 完整渗透测试笔记:从 Drupalgeddon2 到 root flag一、靶场简介二、环境搭建2.1 主机与靶机网络配置2.2 验证连通性三、信息收集3.1 主机发现(arp-scan)3.2 端口扫描(nmap)3.3 Web 服务指纹识别&#xff0…

2026/8/9 8:35:56 阅读更多 →
大语言模型应用开发:如何避免AI奉承与用户依赖的技术方案

大语言模型应用开发:如何避免AI奉承与用户依赖的技术方案

在开发基于大语言模型(LLM)的应用程序时,我们常常会惊叹于其强大的内容生成和对话能力。然而,一个容易被开发者忽视的深层问题是:我们训练和调优的AI,是否正在潜移默化地塑造一种“阿谀奉承”的交互模式&am…

2026/8/9 8:35:56 阅读更多 →

最新新闻

零碳园区系统:能源管理与碳足迹追踪解决方案

零碳园区系统:能源管理与碳足迹追踪解决方案

1. 零碳园区系统概述 西格电力的零碳园区系统是一套面向工业园区、科技园区等场景设计的综合能源管理解决方案。这个系统最核心的价值在于实现了"能源生产-消耗-存储"的全链条碳足迹追踪与管理,让传统高耗能园区转型为绿色低碳的现代化产业聚集区。 我去…

2026/8/9 15:26:20 阅读更多 →
智慧井盖:物联网技术赋能城市地下管网安全监测

智慧井盖:物联网技术赋能城市地下管网安全监测

一、产品概述智慧井盖是一种集成了物联网、传感器技术与传统井盖功能的智能化市政设施。它主要应用于城市供水、排水、燃气、电力、通信等各类地下管网系统。该产品采用高强度复合材料或不锈钢作为主体结构,内部集成了倾角传感器、位移传感器、水位传感器以及无线通…

2026/8/9 15:26:20 阅读更多 →
考研数学高效复习策略:张宇基础与强化讲义的结合方法

考研数学高效复习策略:张宇基础与强化讲义的结合方法

这次我们来看一个考研数学复习的经典组合策略:如何将张宇老师的《基础三十讲》和《强化三十六讲》高效结合,实现“11>2”的复习效果。对于备考数学一、二、三的同学来说,这两套书是绕不开的核心资料,但很多人在使用过程中存在误…

2026/8/9 15:26:20 阅读更多 →
基于Swoole+Hyperf的微服务架构实战

基于Swoole+Hyperf的微服务架构实战

课程总体设计 课程名称:基于 SwooleHyperf 的微服务架构实战(三个月进阶) 前置要求:PHP 基础扎实、熟悉 Composer、了解基本网络协议 学习时长:12 周,每周 5 天学习(建议每天 4-6 小时实战&…

2026/8/9 15:26:20 阅读更多 →
告别IDEA:从臃肿IDE转向轻量VS Code的Java开发实践

告别IDEA:从臃肿IDE转向轻量VS Code的Java开发实践

1. 从“神器”到“负担”:一个九年老用户的告别IDEA,全称 IntelliJ IDEA,在过去的九年里,它几乎是我作为Java开发者的“第二大脑”。从初出茅庐时被它强大的代码提示和重构功能所震撼,到后来熟练运用各种插件和快捷键&…

2026/8/9 15:26:20 阅读更多 →
AI编程助手数据库查询优化:基于Schema约束的精准SQL生成实践

AI编程助手数据库查询优化:基于Schema约束的精准SQL生成实践

1. 项目概述:当AI开始“乱猜”你的数据库字段最近在深度使用Claude Code这类AI编程助手时,我发现了一个挺有意思,但也挺让人头疼的问题:让它帮我写SQL查询,尤其是涉及复杂业务表的时候,它经常会“乱猜”字段…

2026/8/9 15:25:20 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →