news 2026/9/6 6:31:32

dsh+DeepSeek实战:生成网页版我的世界的工程化流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
dsh+DeepSeek实战:生成网页版我的世界的工程化流程

先给结论:用dsh + deepseek-v4-pro-0813生成“网页版我的世界”,这件事真正难的地方,不在“让模型写出一个带方块的页面”,而在你怎么把一次随口的创意需求,拆成一个模型能理解、能执行、能反馈、能迭代的工程流程。很多人拿着工具试第一轮,得到了一堆代码,然后卡在“不知道下一步怎么让模型改”“浏览器打开白屏”“方块总是放不到正确位置”这类问题上。问题出在哪?不是模型能力不够,是你把它当成了一次性的“代码生成器”,而不是当成一个随时可以回到上下文里继续改方案的协作者。

我建议从最小可运行流程入手。先让 dsh 根据 deepseek-v4-pro-0813 的规划,生成一个能打开、能走路、能放方块、能被你看见控制台报错的基础版本,再逐步往里面加地形、存档、背包和交互反馈。整个过程里,模型负责把需求转成结构化代码,dsh 负责把模型意图变成文件读写、命令执行和结果回传。看懂这条协作链路,你才算真正会用这套工具,而不是被它“变魔术”式的结果带着走。

1. 这个任务真正的难点:不是“写网页”,而是“把一句话需求拆成可执行工程”

我见过很多初学者拿到 dsh 后的第一个动作,是直接输入“帮我做一个网页版我的世界”。听起来没毛病,实际跑起来通常会得到两个结果:要么是一个三五百行的单页 HTML,里面的方块是纯 CSS 画出来的,根本扛不住移动;要么是模型刚给出第一版代码,dsh 就停在那里等着你继续指挥,然后你才发现自己根本没想清楚,接下来要让它改什么。

这里就暴露了第一个认知误区:dsh 这类命令行智能体,本质上不是一个“你说一句它写全套”的自动整包生成器。它更接近一个“能把你的意图翻译成命令和文件操作,然后在一个有权限的终端环境里执行”的助手。它确实能帮你创建文件、写代码、运行构建命令,但它依赖你给它足够清晰的分步指令,也依赖你不断把执行结果反馈给它,让它调整下一步。

deepseek-v4-pro-0813 在这里的角色,更像是一个“方案生成器”。给它的输入越具体,它给出的代码结构就越接近能落地的东西。比如你说“生成一个网页版我的世界”,它可能给你一段比较完整的 HTML 文件;但如果你给它一个分阶段的开发指令,比如先做体素数据结构、再做玩家视角控制、再做方块放置检测,那么它就能给你一个更模块化的代码库。差异非常大。

所以我把整个任务拆成了四层:

层次你需要做的事交给模型做的事
需求层明确游戏类型、视角、玩法边界把需求翻译成技术方案
结构层决定用单文件还是多模块生成目录和核心文件
实现层逐模块验收,反馈错误按模块生成具体代码
迭代层白盒测试、补充边界、提新需求根据报错信息定位修改

这个表格基本就是后续所有工作的骨架。很多人觉得“用 AI 做游戏”就是考验模型写代码的能力,实际上考验的是你自己有没有把一个大目标拆成若干可验证小步骤的能力。dsh 在这条链路里是执行层,deepseek-v4-pro-0813 是设计层,而你本人是验收层。任何一层断掉,整个项目都会卡住。

从实际流程看,dsh 的一大优点是它在文件系统上工作。它不是在聊天窗口里凭空给你一段代码让你自己复制,而是可以直接写文件、改文件、跑命令。这意味着你每一次让它改动,它都能看到当前目录下的真实状态。对于网页游戏这种“改一个文件看一次效果”的开发模式,这种交互方式比单纯的聊天式 AI 要顺手得多。

不过也要提醒一点:dsh 能写文件能跑命令,不代表它能替你判断什么功能该做、什么不该做。默认情况下,你让它做“网页版我的世界”,它会根据训练经验给你一个通用方案。这个方案不一定符合你的预期——比如你可能想要第一人称,结果它给了个俯视角;你可能想要像原版一样能合成物品,结果它只做了自由摆放方块。这些偏差不能怪模型,因为需求本身不够具体。所以在开始生成之前,建议先把游戏边界写明白,哪怕只在对话里写几行“我想要的版本”也好。

2. 第一轮跑通:环境准备、模型接入和一次最小验证

2.1 先确认 dsh 能安装、能加载插件、能访问模型服务

现在关于 dsh 的安装信息和插件生态已经不少了。从常见的安装和热词反馈看,dsh 有插件机制、有 market(插件市场)、有 TUI 和 desktop 两种界面形态。你在开始之前,先确认两件事:dsh 本身装好了;需要用的插件能正常加载。

这一步最容易出的问题,我在很多论坛反馈里也看到过:plugin tree failed to loadhtml did not preload @deepseek-ai/dshfailed to load plugins client-modules。这些报错里有相当一部分不是 dsh 本身坏了,而是插件目录里缺依赖,或者某个插件要求的 Node 版本和当前环境不一致。遇到这类报错,先不要急着重装,按下面顺序检查:

  1. 先看 dsh 的版本和你安装插件时的版本是否匹配。
  2. 确认插件目录里 package.json 的依赖是否安装完整。
  3. 看终端日志里提示的是“加载插件失败”还是“某个具体文件没找到”。
  4. 清掉缓存目录再试一次。
  5. 如果插件是从 dshmarket 安装的,看看 marketplace 源是否可用。

再来看接入 deepseek-v4-pro-0813。这个模型标识本身会指向一个具体的 API 部署或路由。在 dsh 里配置模型时,通常需要设置模型名称、API 地址、密钥或 token。这里有一个很容易忽略的坑:deepseek-v4-pro-0813 这个名字可能不是你实际服务商提供的模型 ID,需要结合自己的 API 文档确认。如果配置完以后一调就报错,把错误信息分两层看:一层是连接层面的,比如地址不通、密钥无效;另一层是模型层面的,比如上下文超长、格式不受支持。

如果纯粹是学习和验证,dsh 内置的默认配置通常够用。但你要是想长期做项目,建议把配置拆成独立文件,比如一个全局配置管 API 密钥和默认模型,一个项目级配置管工作目录和插件启用列表。这样换项目时不会把敏感信息带到项目仓库里。

2.2 先做一个“最小可运行方块”,不要一上来追求完整游戏

第一次使用,不要直接让 dsh 生成完整“网页版我的世界”。原因很简单:完整产品涉及视角控制、物理碰撞、区块加载、方块放置、背包系统、存档读档,任何一个环节出 bug,你都很难判断是模型写错了,还是 dsh 执行时漏了文件。

我建议的第一轮任务,是让模型生成一个“网页版体素沙盒游戏的最小基础盘”,需求大致可以这样写:

生成一个网页版体素沙盒游戏的最小可运行版本。要求: 1. 使用 HTML + CSS + JavaScript,单文件即可。 2. 使用 Three.js 作为三维渲染基础库,用 CDN 引入。 3. 场景里有一块地面,由一定数量的方块组成。 4. 玩家可以用鼠标拖拽旋转视角,用 WASD 移动。 5. 鼠标点击可以在地面已有方块上方放置一个“草方块”模型。 6. 右上角显示当前 FPS 和游戏状态。

这段描述的价值在于:它明确写了使用什么库、从哪引入、做什么操作、按什么键、点击效果是什么。模型收到这样的指令后,生成的第一版代码通常可以跑起来。你把这个代码保存为index.html,直接用浏览器打开,就能看到一块可站立的简易场景。

这一步不要追求完美。你只需要确认几件事:

  • 页面能打开,没有白屏。
  • 场景里能看到方块组成的地面。
  • WASD 能移动,鼠标能旋转视角。
  • 点击地面时,会在合适的位置生成新方块。

这些条件全满足,说明 dsh、模型、目标文件路径这条链路是通的。任何一步失败,都要先解决“基础设施”问题,而不是继续往上加玩法。

2.3 让 dsh 看到运行结果,而不是让它“盲改”

在 dsh 里开发网页游戏,有一个和普通聊天 AI 不一样的反馈机制:dsh 可以直接执行命令行、读取文件内容。所以当你发现页面白屏时,不要只把“白屏”两个字发给它,而是先自己在浏览器控制台里看报错,再把关键报错信息回传给 dsh。更高效的做法是,让 dsh 检查当前目录下的 HTML 文件,并查看浏览器控制台常见的错误类型,比如模块加载失败、变量未定义、跨域问题等。

这里也能体现出 dsh 插件机制的价值。通过插件,dsh 可以获取当前目录结构、读取指定文件、甚至运行本地脚本。你完全可以让它执行一个命令,把index.html<script>标签引用的所有外部资源列出来,检查有没有 404 风险。这样模型在“看到”真实文件结构和资源引用状态后,给出的修复建议更加贴合项目,而不是凭经验猜。

经验提醒:在 dsh 里做网页项目时,尽量让它先ls查看目录,再读取目标文件,再修改代码。虽然多了一步指令,但这个顺序能明显减少“模型改了 A 文件但实际跑的是 B 文件”这类低级错误。

3. 把“网页版我的世界”拆成可独立验证的五个模块

一旦最小可运行版本跑通,后面就别做“一次性大改”了。我建议把完整项目拆成五个模块,每做完一个模块就验证一次,验证通过再让模型继续下一个。这五个模块是:

  1. 地形生成模块:地块结构、地表方块、随机高度。
  2. 玩家控制与碰撞模块:移动、重力、视角、碰撞检测。
  3. 方块操作模块:放置、破坏、高亮选中、范围限制。
  4. 存档与加载模块:JSON 序列化、LocalStorage、自动保存。
  5. UI 与体验模块:物品栏、快捷键、提示文字、性能监控。

3.1 地形生成模块:从“平底”到“有起伏”

第一个模块可以让模型把固定地面改成简单起伏地形。实现方式通常是用一个二维数组存储每个柱子顶部方块的 Y 值,用伪随机函数或简单噪声算法生成高度。这一步要关注的不是代码本身,而是模型有没有把“地形数据”和“渲染对象”分离。

一个常见的坏实现是:直接创建大量独立的Mesh方块,往场景里一扔就不管了。优点是写起来快,缺点是方块一多,性能马上崩。好的实现会把场景里的方块位置记录在一个 Map 或三维 JSON 对象里,渲染层则用合并网格或实例化网格来提高帧率。

你可以让 dsh 先给出地形数据结构和渲染策略,确认它是“数据驱动”,而不是“纯 Mesh 堆叠”,再让它写代码。这样后续加“挖掉方块”“放置方块”功能时,只需要改数据和刷新局部渲染,而不是重建整个场景。

3.2 玩家控制与碰撞模块:这个阶段最容易出现“角色穿透地面”

网页版沙盒游戏最大的坑是碰撞检测。很多第一版代码只写了“按下 W 朝前走”,没考虑玩家脚底是否与地面方块接触,结果玩家从高处跳下去直接穿透地面掉出世界。这种问题光是靠“让模型检查代码”不一定能发现,因为代码可能在逻辑上说得通,但缺少具体的碰撞函数。

在 dsh 工作流里,处理这个问题的方法是:全部完成后在浏览器里实际跳一下。如果穿过地面,就把一个很具体的现象描述回传给 dsh,比如“玩家从 Y=5 的位置下落时,经过 Y=2 的地面方块没有停止,而是继续下降直到 Y=-1”。这种带坐标、带运动的反馈,模型很容易定位到问题点:可能是没有做“从上一帧到这一帧的位置插值”,可能是地面方块的碰撞盒尺寸和视觉尺寸不一致。

经验提醒:给模型反馈时,永远带上具体现象而不是笼统形容词。“卡顿”不如“帧率从 55 降到 15,出现在打开物品栏时”;“穿模”不如“从楼梯侧向移动时会直接陷进方块”。dsh 能读取文件,但没有办法替你亲眼看到浏览器画面,所以你的现象描述越具体,模型修复越快。

3.3 方块操作模块:分离“射线检测”和“放置逻辑”

“点击放置方块”听起来简单,实际涉及两个独立逻辑:

  • 检测玩家视线朝向和方块相交位置。
  • 根据相交面计算新方块应该放到的坐标。

模型第一次生成时,很可能做了简单实现:鼠标点击时在固定 Y 值生成一个方块。这当然不对。正确逻辑是用 THREE.Raycaster 从相机中心发出一条射线,检测与现有网格的交点,交点所在面朝外偏移一个方块尺寸,就是新方块的位置。

这个模块很适合让 dsh 分两步处理:第一步写射线检测,第二步写放置/破坏逻辑。每步都让模型解释关键变量,比如intersects[0].face.normal在什么情况下是朝向玩家的。如果你在 dsh 的对话树里能看到模型输出的代码,那么建议让它隔几行加一个中文注释,至少把“这一步在计算什么”写清楚。这不是为了代码整洁,是为了你后面自己改 bug 时不用从头理解一遍。

3.4 存档与加载模块:第一次让 dsh 处理“数据结构”而不是“前端效果”

做完地形和方块操作,游戏已经“能玩”了。但如果没有存档,关掉浏览器一切归零。存档模块会让你第一次感受到 dsh 处理数据结构的能力。

存档的最小设计要求是:把所有方块的位置块坐标、方块的类型 ID、玩家位置和朝向保存为一个 JSON 对象,存到 LocalStorage。下次打开页面时,先从 LocalStorage 读数据,如果存在则还原场景,否则生成初始地形。

这个模块里最容易出的 bug 是坐标类型不一致。模型生成地形时记录的是整数坐标,但玩家走动后记录的位置可能是浮点数。读取存档后如果直接拿浮点数去做方块查找,就会匹配不到方块。所以一定要让模型在序列化和反序列化时对坐标做取整处理,统一成整数。

这个案例也解释了为什么我不建议一次性生成完整游戏:如果你让模型一口气完成全部功能,它几乎不可能兼顾地形数据、碰撞检测、射线放置、存档序列化这些不同层面的问题。但拆成模块后,每个模块的验证重点非常清晰,你反馈给 dsh 的信息也更有针对性。

3.5 UI 与体验模块:把“功能演示”变成“能玩的作品”

当核心玩法已经稳定,就可以把注意力放到界面。这个阶段可以让 dsh 逐步增加:

  • 物品栏:按 1 到 9 键切换方块类型。
  • 十字准星:画面中央显示一个小点,辅助瞄准。
  • 提示文字:比如“左键破坏方块,右键放置方块”。
  • FPS 和坐标显示:辅助调试,也能当作玩家信息展示。

注意 UI 模块不要一次给太多需求。每加一个交互,都验证一次。比如先加物品栏,确认按键切换后准星指向的方块纹理变化;再加十字准星;最后再加调试信息。分步走的好处是你能明确知道是哪一次改动引入了问题。

4. 从能跑到能玩:反馈方式、参数调整和常见问题排查链路

4.1 在 dsh 里建立“执行-反馈-修改”的循环

用 dsh 做网页游戏和用别的人工智能聊天工具最不同的一点,是它有一个“真实的文件系统上下文”。这意味着你完全可以建立这样一个循环:

  1. 你提出需求,dsh 让 deepseek-v4-pro-0813 规划方案。
  2. dsh 写文件或修改文件。
  3. 你在本地运行页面,记录现象和报错。
  4. 把现象和报错回传给 dsh,让它分析可能原因。
  5. dsh 读取相关文件,定位问题,再修改。
  6. 重复以上步骤。

在这个循环里,dsh 的插件能力很关键。比如有一个插件能在 dsh 里列出当前项目的文件树,你就直接下指令“列出 src 目录下的所有文件”,而不需要自己贴文件清单。又比如某个插件可以读取最近一次 git diff,那当一轮修改导致多处变化时,你可以让 dsh 检查 diff,看清楚它到底动了哪些逻辑。这个能力比“让模型凭空猜问题”可靠得多。

4.2 常见参数和配置:不要上来就拉满一切

网页生成这类任务,最容易被忽略的参数有两类:一类是模型对话里的temperature之类的生成参数,一类是本地运行环境里的资源参数。

先说模型参数。在深水区生成代码时,temperature设置过高会导致代码结构不稳定,比如同样的需求,两次生成的文件不一致,变量命名差异极大。用dsh + deepseek-v4-pro-0813做工程化迭代时,我建议把temperature调低,让模型尽量稳定地沿用已有代码风格。当然,不同平台的默认值不一样,如果你的部署入口没有暴露这个参数,那也不必强行调。代码质量问题不一定要靠降低温度去解决。完全可以通过更清晰的需求描述来规避。

再说本地运行参数。网页游戏如果用了 Three.js,一个很常见的卡顿原因是渲染分辨率太高。默认视口就是浏览器窗口大小,看起来没问题,但方块多、有阴影时性能会下降。你可以让 dsh 检查渲染器初始化时是否设置了pixelRatio,以及是否开启了阴影映射。根据实际机器性能,把这些参数调到一个平衡点即可。

参数/配置新手建议进阶说明
temperature0.2 左右偏低让代码输出更稳定,适合多轮迭代
pixelRatio1.0对性能敏感时手动设置,避免高分屏压力
阴影映射关闭或使用 BasicShadowMap方块多时阴影开销较大,先关掉保证流畅
方块渲染方式先用户体验优先后面可用 InstancedMesh 优化大量方块
存档频率点击保存按钮自动化持续写 LocalStorage 需注意性能

4.3 一条实用的排查链路:从现象到根因

如果你在浏览器里发现游戏行为异常,我推荐按下面这个链路排查,而不是直接把报错信息丢给模型:

  1. 看控制台:F12 打开浏览器控制台,找出红色报错。这一步能排除语法错误、资源加载失败、网络请求出错等基础问题。
  2. 看网络面板:如果页面白屏,多半是脚本没加载成功。在 Network 面板里看资源路径是否有 404,特别是 Three.js CDN 链接是否失效。
  3. 看文件结构:让 dsh 列出当前目录文件,确认实际运行的文件和你修改的文件是同一个。
  4. 看代码逻辑:再让模型检查具体文件,关注数据流。比如场景里没有方块,是因为地形数组为空,还是因为网格生成函数没有被调用。
  5. 看运行时状态:打印关键变量,比如玩家坐标、射线检测的 intersection 对象、存储的地形数组长度。让 dsh 在关键函数附近加console.log,你跑一遍之后把控制台输出回传,这样的定位效率远高于“盲改”。

这条链路的核心,是把“人观察现象”和“模型定位代码”结合起来。dsh 虽然可以读文件,但它无法代表浏览器运行页面。所以现象信息必须由你提供,而代码定位可以由 dsh 完成。二者配合,才能高效解决复杂问题。

5. 真正能“长期玩下去”的项目,还需要补上这些工程化能力

把一个课程 demo 变成一个能长期放出来的项目,必须额外处理几个问题。这些内容不会在第一次生成时出现,但如果你玩了一两周还想继续迭代,几乎一定会碰到。

5.1 文件结构:从单文件到可维护模块

第一版可以是一个index.html,但一旦你要加地形、背包、存档、UI,单文件会变得非常长,维护成本剧增。此时建议让 dsh 把项目重构为:

project/ ├── index.html ├── css/ │ └── style.css ├── js/ │ ├── main.js # 游戏入口 │ ├── world.js # 地形生成与数据管理 │ ├── player.js # 玩家控制与碰撞 │ ├── blocks.js # 方块类型定义 │ ├── inventory.js # 物品栏与选择 │ └── save.js # 存档与读档

重构时不要一下子把全部代码丢给模型让它“分开”,而是按功能模块迁移。你可以让 dsh 先创建js/world.js,把与地形相关的代码移进去;再创建js/player.js,把移动和碰撞代码移进去。每迁移一个模块,都重新打开页面验证一次,避免“拆着拆着就坏了”。

这一步不是单纯为了整洁,而是为了让后续多轮迭代更容易。模块化以后,你可以很精准地让 dsh 只改blocks.js里的方块类型,而不影响玩家控制。

5.2 外部资源策略:直接引用 CDN 适合 demo,发布前要收拢

最开始用 CDN 引入 Three.js 完全没有问题,学习阶段最省事。但如果你想把这个项目分享给朋友或部署到静态服务器,CDN 加载可能不是最稳定方案:在某些网络环境下,国内访问国外 CDN 很慢,页面会出现长时间白屏。这个就根据你实际网络环境来处理。如果确实需要部署,可以让 dsh 把 Three.js 下载到项目本地,改成相对路径引用。同时把音频、贴图等资源统一放到assets目录,避免浏览器缓存策略不一致导致资源失效。

这里不需要过度工程化。如果是 1.0 版本,本地index.html打开就能玩,那么外部 CDN 是最省事的。只有当你准备发到某个平台的时候,才需要考虑资源本地化和文件体积问题。

5.3 代码一致性:多轮迭代后,务必让模型先读一遍现有代码再改

用 dsh 做项目遇到最多的“隐性 bug”,不是代码本身写错了,而是模型没有理解现有代码已经改成了什么样子。比如第一轮模型用blockData存储地形,到了第三轮你让它加一个“撤回到上一个方块状态”的功能,它可能自己新搞了一个terrainMap,两份数据没有同步,结果就是放置方块后场景正常,但撤销功能完全不生效。

解决办法是,在每轮新需求之前,明确告诉 dsh:先读取js/world.jsjs/blocks.js,了解现有数据结构,再决定修改方案。这一步看起来多余,但能大幅降低“越改越乱”的概率。

下面这张表是从这些实践中总结出来的,也是我建议你在项目推进中反复对照使用的检查清单:

阶段关键问题成功标志
环境准备dsh 能否正常加载插件、模型服务是否连上不出现插件加载失败,能接收到模型回复
最小可运行浏览器能否打开页面并显示方块地面页面可见,控制台无致命报错
模块拆分地形、碰撞、操作、存档是否独立每个模块都能单独测试
迭代反馈报错后能否在 2 轮内定位到文件修改点集中在单一模块内
工程化文件结构是否清晰、资源是否本地化脱离 dsh 之后,人工也能继续维护

5.4 什么时候不适合用 dsh 来生成游戏

也要说清楚边界。dsh 适合要做原型、做个人实验、做网页小游戏、做课程作业,也适合你有一个相对明确的技术栈,想快速得到实现。但如果你要做的是大型作品、网络同步、玩家账户系统、商业化项目,那 dsh 和模型生成的方式更适合用来做“起点方案”和“模块草图”,而不是直接当作生产级代码的来源。

原因很简单:模型的输出基于训练数据和常见模式,它擅长生成“看起来正常”的代码,但对特定发行环境、特定安全要求、特定性能基准的把控,不是它的优势。比如方块的并发写入、服务端验证客户端位置、防止恶意构造存档数据,这些内容模型不一定能想到,需要人有意识地补齐。

所以我的建议是:把它当“快速生成高质量初稿”的工具,而不是“自动产出完整可上线项目”的工具。你对项目的验收标准越高,你就越需要掌握 dsh 的反馈机制和排查链路,而不是把希望寄托在让模型一次搞定。

6. 我的最终建议:先跑通,再拆开,再回归

如果回到最初那个问题——“用 dsh + deepseek-v4-pro-0813 生成网页版我的世界可行吗?”我的回答是:可行,而且体验比纯聊天式 AI 更适合做这种可运行、需调试的项目。但你一定要按下面这个顺序来:

  1. 先让 dsh 生成一个最小可运行的体素沙盒网页,只求能打开、能走、能放方块。
  2. 跑通以后,把后续需求拆成地形、玩家、操作、存档、UI 五个模块,逐模块反馈、验证。
  3. 不要怕反馈信息太长。在 dsh 里,包含报错信息、现象描述、期望结果、相关文件的反馈,才是高效反馈。
  4. 等核心玩法稳定以后,再统一做一次工程化梳理:文件拆分、资源本地化、数据模型统一、注释补齐。
  5. 最后把这套“拆需求-建底座-闭环迭代”的方法记住。它不只是用来做网页游戏,也可以用来做后期任何 AI 辅助开发任务。

很多人在“让 AI 生成网页游戏”时失败,不是因为模型不够聪明,而是因为自己只提出了一句粗糙的需求,然后期望得到一个精准的成品。dsh 和模型协作的真正价值,是把一次临时创意变成一个可以持续修改、运行、验证的项目流程。掌握这个过程,你就不会只觉得 AI 在“帮你写代码”,而是真正把它当成一个能讨论、能改文件、能跑命令的开发搭档。下一次你再有“做个网页版某某”的念头时,不会只想着“让它生成”,而是会先想清楚:我要做的事情,应该拆成哪几步?每一步的验收标准是什么?这个判断能力,才是这类工具能带给你最大的增量。

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

SQLBot实测:自然语言生成SQL的智能问数工具到底靠不靠谱

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

作者头像 李华
网站建设 2026/9/6 6:31:27

【最新大数据精品】基于大数据的温室气体排放检测与评估的数据分析与可视 (附源码资料)数据分析_可视化大屏_毕设选题_数据挖掘_Hadoop_SPark_文档指导

&#x1f496;&#x1f496;作者&#xff1a;计算机毕业设计江挽 &#x1f499;&#x1f499;个人简介&#xff1a;曾长期从事计算机专业培训教学&#xff0c;本人也热爱上课教学&#xff0c;语言擅长Java、微信小程序、Python、Golang、安卓Android等&#xff0c;开发项目包括…

作者头像 李华
网站建设 2026/9/6 6:29:41

断电报警器选型指南:从UPS协作到4G通信的电力保障方案

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

作者头像 李华
网站建设 2026/9/6 6:18:44

ConstraintLayout核心用法详解(五):Layer、ImageFilter*与MockView

整理旧电脑上的一些笔记 前言 ConstraintLayout核心用法详解&#xff08;一&#xff09;&#xff1a;相对定位、边距、偏移与环形定位ConstraintLayout核心用法详解&#xff08;二&#xff09;&#xff1a;尺寸约束与链约束ConstraintLayout核心用法详解&#xff08;三&#x…

作者头像 李华