news 2026/9/26 1:48:06

DeepSeek Harness v0.1.6-alpha.2 实测:Web端文件审阅、Office预览与插件管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek Harness v0.1.6-alpha.2 实测:Web端文件审阅、Office预览与插件管理

1. 从一次版本更新说起:为什么这个 alpha 版本值得单独聊

DeepSeek Harness 这个项目,如果你最近半年在关注本地 AI 工具链,大概率已经听说过。它本质上是一个把大模型能力"装进"你日常工作流里的桌面级工具,早期版本主打的是命令行交互和本地模型调度。但到了 v0.1.6-alpha.2 这个版本,事情起了变化——它开始认真做 Web 端了,而且做的不是那种"能跑就行"的 Web 界面,是往 IDE 的方向在靠。

我拿到这个版本的第一反应是:文件审阅、Office 预览、插件管理,这三件事凑在一起,已经不是"给命令行套个壳"那么简单了。文件审阅意味着它能读你的项目文件并给出结构化反馈;Office 预览意味着它开始处理非纯文本的办公文档;插件管理意味着它有了扩展生态的雏形。这三者叠加,指向的是一个明确的定位——Web 端的轻量级开发与文档工作台。

这篇文章适合几类人看:一是已经在用 DeepSeek Harness 但还停留在命令行阶段的老用户,想知道 Web 端到底值不值得切;二是刚听说这个工具、想搞清楚它和普通 AI 对话工具区别在哪的新人;三是做本地工具链集成、想参考它的插件架构和文件处理思路的开发者。我会从设计思路、核心功能拆解、实操流程、踩坑记录四个维度展开,尽量把每个"为什么这么设计"讲透,而不是只告诉你"点这里点那里"。

需要先说明一点:v0.1.6-alpha.2 是 alpha 版本,意味着它有明显的未完成感,部分功能在不同操作系统上表现不一致。我下面提到的操作和参数,是基于我在 Windows 11 和 Ubuntu 22.04 两个环境下的实测,以及社区里其他用户的反馈汇总。你如果遇到对不上的情况,先检查版本号,alpha 阶段的小版本差异可能比你想的大。

2. 整体设计思路拆解:它到底想解决什么问题

2.1 从"对话工具"到"工作台"的定位迁移

早期的 DeepSeek Harness 更像是一个本地化的对话入口,你问它答,交互模式是线性的。但实际工作中,我们面对的不是一个个孤立的问题,而是一堆文件、一个项目目录、一份需要反复修改的文档。线性对话处理这类任务时,最大的痛点是上下文切换成本——你得不断复制粘贴文件内容,来回切换窗口,对话历史一长就找不到之前的关键信息。

v0.1.6-alpha.2 的 Web 端设计,核心思路就是把这个线性交互掰成空间化的工作台。左侧是文件树,中间是内容预览区,右侧或底部是 AI 交互面板,插件以独立面板的形式挂载。这个布局你一看就眼熟——对,就是 VS Code 那套逻辑。它不是在模仿 IDE 的外观,而是在借用 IDE 已经被验证过的信息组织方式:文件为纲,操作为目,AI 作为贯穿始终的辅助层。

为什么选 Web 而不是继续做桌面原生?我的判断是三个原因。第一,Web 技术栈让文件预览的渲染能力直接复用浏览器生态,PDF、Office 文档、图片、代码高亮这些都有成熟方案,不用自己造轮子。第二,插件系统用 Web 技术做扩展,门槛比原生低得多,一个会写 JavaScript 的人就能贡献插件。第三,跨平台成本几乎为零,Windows、macOS、Linux 甚至平板浏览器都能访问同一套界面。

2.2 文件审阅功能的设计取舍

文件审阅这个功能,表面看就是"让 AI 读文件",但实际设计里有几个关键决策点。第一个决策是审阅的粒度。是整文件丢给模型,还是分块处理?DeepSeek Harness 采用的是混合策略:小文件(大概 8K token 以内)整体送入,大文件按语义边界切分后逐块审阅再汇总。这个阈值不是拍脑袋定的,8K 左右是多数模型在保持响应速度和上下文连贯性之间的平衡点。超过这个量,一次性送入会导致响应变慢,而且模型对长文本中段的注意力会下降。

第二个决策是审阅结果的呈现方式。它没有把 AI 的反馈做成一个纯文本输出框,而是尝试把问题定位到具体行号,以类似代码检查工具(linter)的方式在文件预览区做行内标注。这个设计意图很明显:让你不用在"AI 说了什么"和"文件里在哪"之间来回找。不过实测下来,行号定位的准确率在代码文件上表现不错,在自然语言文档上偶尔会偏移,这跟模型对行号的理解能力有关,alpha 阶段可以理解。

第三个决策是审阅的触发时机。目前是手动触发为主,你选中文件后点审阅按钮,或者用快捷键。没有做保存时自动审阅,我猜是出于性能和 token 消耗的考虑——自动审阅在大项目里会产生大量不必要的模型调用。这个取舍我认为是对的,自动化的边界应该由用户控制,而不是工具替用户决定什么时候烧 token。

2.3 插件管理的架构选择

插件管理这块,DeepSeek Harness 走的是清单声明 + 运行时加载的路子。每个插件有一个 manifest 文件,声明它需要什么权限、挂载到哪个面板区域、依赖哪些宿主 API。运行时通过一个沙箱环境加载插件代码,限制它只能访问声明过的接口。

这个设计的好处是安全边界清晰。插件不能随便读你的文件系统,只能通过宿主提供的文件访问 API 来操作,而且每次访问都会经过权限检查。坏处是插件能做的事情受限于宿主暴露的 API 范围,早期阶段 API 肯定不够全,插件开发者会觉得束手束脚。

对比一下另外两种常见方案:一种是插件直接跑在主进程里,能力无限但安全风险极高;另一种是插件完全独立进程,安全但通信开销大、开发复杂。DeepSeek Harness 选的中间路线,在 alpha 阶段是合理的——先保证不出大事,再逐步放开能力。

2.4 Office 预览的技术路径

Office 预览是这次更新里我觉得最"重"的功能。浏览器原生不支持 .docx、.xlsx、.pptx 的直接渲染,要实现预览有几条路:一是服务端转换,把 Office 文档转成 PDF 或 HTML 再送到前端;二是纯前端解析,用 JavaScript 库直接读 Office 的 XML 结构并渲染;三是调用本地已安装的 Office 组件做转换。

DeepSeek Harness 用的是纯前端解析为主、服务端转换为辅的混合方案。对于结构简单的文档,前端库直接解析渲染,速度快、不依赖外部服务。对于复杂排版、嵌入对象多的文档,回退到服务端转换。这个策略的考量是:大多数日常办公文档结构并不复杂,前端解析足够应付,只有少数"重排版"文档才需要走转换流程。这样既保证了常见场景的响应速度,又不会在复杂文档上直接失败。

3. 核心功能实操拆解:从安装到跑通第一个审阅任务

3.1 安装与启动:那些文档里没写的细节

DeepSeek Harness 的安装,官方文档给的是标准流程,但实际操作中有几个点容易卡住。首先是版本选择,v0.1.6-alpha.2 和 v0.1.5-rc.2 在 Web 端的启动方式有差异。alpha.2 默认会尝试自动打开浏览器,如果你在无头环境或者远程服务器上跑,这个自动打开会失败并报错。解决办法是启动时加--no-open参数,它会打印出实际的访问地址,你手动在浏览器里打开。

# 标准启动,会自动尝试打开浏览器 dsh web # 无头环境或远程服务器,禁止自动打开 dsh web --no-open

启动后你会看到类似这样的输出:

dsh web: opening the default browser; pass --no-open to disable Web server listening on http://127.0.0.1:7860

这里有个坑:默认绑定的是127.0.0.1,也就是只有本机能访问。如果你想在局域网内用另一台设备访问(比如平板看文档),需要显式指定绑定地址。但要注意,绑定到0.0.0.0意味着同网络下任何设备都能访问,alpha 阶段的认证机制还不完善,不建议在不可信网络环境下这么做。

# 仅本机访问(默认,最安全) dsh web # 局域网访问,需自行评估网络环境安全性 dsh web --host 0.0.0.0 --port 7860

另一个常见问题是首次启动时的初始化。DeepSeek Harness 需要在本地建一个工作目录来存放配置、插件、缓存。默认位置在用户主目录下的.deepseek-harness文件夹。如果你之前装过旧版本,这个目录里可能有旧配置,alpha.2 启动时可能会因为配置格式不兼容而报错。我的建议是:升级大版本时,先把旧配置目录备份后清空,让它重新生成。配置可以后面再手动迁移,但带着旧配置跑新版本,排查问题的时间成本远高于重新配一遍。

3.2 文件审阅的完整操作流程

假设你有一个项目目录,里面混杂着代码文件、Markdown 文档和几个 Excel 表格。你想让 AI 帮你做一轮代码审查和文档校对。完整流程是这样的:

第一步,在 Web 界面左侧的文件树里,把工作目录指向你的项目根目录。DeepSeek Harness 会扫描目录并建立索引。这里注意,索引默认会跳过.git、node_modules这类目录,这是合理的默认行为,但如果你有特殊需求(比如想审阅某个被忽略的目录),需要在设置里手动添加例外。

第二步,选中你要审阅的文件。可以单选,也可以多选。多选时,AI 会按文件逐个处理,而不是把所有文件内容拼在一起——这个设计很重要,拼在一起会导致上下文混乱,模型分不清哪段属于哪个文件。

第三步,触发审阅。快捷键是Ctrl+Shift+R(macOS 上是Cmd+Shift+R),或者点工具栏上的审阅按钮。触发后,界面会显示处理进度,大文件会看到分块处理的提示。

第四步,查看审阅结果。结果以行内标注的形式出现在文件预览区,同时在右侧面板有一个汇总列表。你可以逐条点击跳转到对应位置,也可以一键导出审阅报告。

这里分享一个实操技巧:审阅前先明确告诉 AI 你关注什么。默认审阅是通用型的,会覆盖代码风格、潜在 bug、文档语法等多个维度。但如果你只关心安全问题,或者只关心性能问题,在触发审阅前在交互面板里输入你的关注点,审阅结果会更有针对性。这个"审阅意图"会作为系统提示的一部分传给模型,实测下来对结果质量的提升很明显。

# 在交互面板输入的审阅意图示例 关注点:仅检查潜在的资源泄漏问题,忽略代码风格和命名规范。

3.3 Office 预览的实际表现与限制

Office 预览这块,我分别测试了 .docx、.xlsx、.pptx 三种格式。整体结论是:docx 和 xlsx 的预览可用度较高,pptx 的预览在 alpha 阶段还有明显问题。

docx 文档,纯文字加基础排版的,渲染效果接近原生。表格、列表、加粗斜体这些都能正确显示。但如果你文档里有复杂的页眉页脚、分栏、文本框,渲染会出现错位。这是纯前端解析方案的固有限制——Office 的排版引擎太复杂,前端库只能覆盖常用子集。

xlsx 表格,数据展示没问题,公式会显示计算结果而不是公式本身(这个符合预期),但条件格式、数据透视表的渲染不完整。如果你的表格只是用来展示数据,预览够用;如果依赖复杂的视觉格式来理解数据,建议还是用本地 Office 打开。

pptx 的问题最大。幻灯片布局的还原度不高,文字位置偏移、图片缩放比例不对的情况比较常见。我猜测是 pptx 的 XML 结构比 docx 复杂得多,前端解析库的成熟度还不够。如果你主要处理演示文稿,这个版本的预览功能只能当"快速瞄一眼"用,不能替代真正的演示软件。

提示:Office 预览功能会消耗一定的内存,特别是大文件。如果你同时打开多个大型 Office 文档,浏览器标签页的内存占用会明显上升。建议审阅完就关闭对应的预览标签,不要长期挂着。

3.4 插件管理的使用与插件选择

插件管理界面在设置菜单里,目前提供的是本地插件加载和插件市场浏览两种方式。插件市场在 alpha 阶段内容还比较少,主要是官方提供的几个基础插件和社区贡献的早期插件。

安装插件的流程:在插件市场找到目标插件,点击安装,系统会下载插件包并校验签名(如果有的话),然后提示你确认插件申请的权限。权限确认这一步不要无脑点通过,仔细看它要什么权限。一个只做 Markdown 格式化的插件,如果申请文件系统写入权限,那就值得警惕。

目前比较实用的几个插件类型:

插件类型典型功能实用度评价
代码格式化调用本地格式化工具处理选中代码高,与审阅功能配合好
文档导出把审阅结果导出为 PDF/Markdown高,报告归档必备
主题定制切换界面配色和字体中,看个人偏好
模型切换在不同本地模型间快速切换高,多模型用户刚需
快捷键扩展自定义快捷键绑定中,进阶用户需要

插件加载后,会在界面右侧或底部出现对应的面板入口。有些插件是后台运行的(比如模型切换),不占面板空间,只在状态栏显示。

这里有个经验:alpha 阶段的插件兼容性不稳定。我遇到过插件在 v0.1.5 上正常,升级到 v0.1.6-alpha.2 后加载失败的情况。原因是宿主 API 有变动。如果你依赖某个插件工作,升级前先确认该插件是否声明支持新版本。没有明确声明的话,做好回退版本的准备。

4. 实操过程中的关键环节与参数调优

4.1 文件审阅的性能调优

文件审阅的性能瓶颈主要在两个地方:文件读取和模型推理。文件读取这块,DeepSeek Harness 做了缓存,同一个文件在未修改的情况下不会重复读取。但如果你在外部编辑器里改了文件,Harness 需要检测到变化并刷新缓存。默认的文件监听间隔是 2 秒,这意味着你改完文件后最多等 2 秒,审阅时才会用到新内容。如果你觉得这个延迟影响体验,可以在设置里把监听间隔调小,但代价是 CPU 占用会上升。

模型推理这块,影响最大的是分块大小。前面提到默认阈值是 8K token 左右,这个值可以在高级设置里调整。调大分块,单次处理的上下文更完整,但响应变慢、显存占用高;调小分块,响应快,但跨块的信息关联可能丢失。我的建议是:代码文件保持默认或略调大(代码的跨块依赖较强),自然语言文档可以调小(段落之间相对独立)。

// 高级设置中的审阅相关参数(示例) { "review": { "chunkSize": 8192, "chunkOverlap": 512, "maxConcurrentChunks": 2, "fileWatchInterval": 2000 } }

chunkOverlap是块之间的重叠 token 数,设成 512 是为了让相邻块有上下文衔接,避免在块边界处漏掉问题。maxConcurrentChunks控制并发处理的块数,设成 2 是在速度和资源占用之间的折中。如果你机器配置好,可以调到 3 或 4,但注意并发太高可能导致模型服务端排队,反而变慢。

4.2 插件开发的入门要点

如果你想自己写一个插件,alpha 阶段的门槛不算高,但需要了解几个核心概念。插件本质上是一个 JavaScript 模块,通过 manifest 声明元信息,通过宿主提供的 API 与 Harness 交互。

一个最小插件的结构:

// manifest.json { "name": "my-first-plugin", "version": "0.1.0", "main": "index.js", "permissions": ["file:read"], "panels": [ { "id": "my-panel", "title": "我的面板", "location": "right" } ] } // index.js export function activate(host) { host.registerCommand('my-plugin.hello', () => { host.ui.showMessage('Hello from my plugin!'); }); host.panels.get('my-panel').onMount(() => { // 面板挂载时的逻辑 }); }

关键点是activate函数,它是插件的入口,宿主加载插件时会调用它并传入 host 对象。host 对象上挂着各种 API:registerCommand注册命令、panels管理面板、files访问文件、ai调用模型能力等。

开发时的调试技巧:Harness 的 Web 端支持开发者模式,开启后可以在浏览器开发者工具里看到插件的日志输出。插件代码的报错也会在控制台显示。建议开发时把日志打详细一点,alpha 阶段的错误提示还不够友好,很多时候需要自己从堆栈里找线索。

4.3 多智能体编排的初步尝试

热词里提到了"多个智能体编排",这是 DeepSeek Harness 比较进阶的用法。简单说,就是你可以定义多个具有不同角色设定的 AI 实例,让它们协作完成一个任务。比如一个负责审阅代码,一个负责写测试用例,一个负责生成文档。

在 Web 端,这个功能的入口在交互面板的"智能体"标签下。你可以创建智能体,给每个智能体设定系统提示词和可用工具集。然后通过一个简单的编排配置,定义它们之间的调用关系。

# 智能体编排配置示例 agents: - id: reviewer prompt: "你是一个严格的代码审查员,只关注逻辑错误和边界条件。" tools: [file_read, code_analyze] - id: test_writer prompt: "你根据代码逻辑生成单元测试,覆盖正常路径和异常路径。" tools: [file_read, file_write] - id: doc_writer prompt: "你根据代码和测试生成 API 文档。" tools: [file_read, file_write] workflow: - reviewer -> test_writer: "传递审阅发现的问题列表" - test_writer -> doc_writer: "传递测试覆盖的接口列表"

这个编排目前还是实验性的,实际跑起来会有各种小问题,比如智能体之间的消息传递格式偶尔对不上、某个智能体卡住导致整个流程挂起。但方向是对的——把单一模型的通用能力拆解成多个专精角色的协作,在处理复杂任务时确实比一个模型从头做到尾效果更好。我的建议是先从两个智能体的简单协作开始试,跑通了再增加角色。

5. 常见问题与排查技巧实录

5.1 启动与访问类问题

问题一:启动后浏览器打开是空白页。

这个最常见的原因是端口被占用,Harness 实际启动在了另一个端口,但自动打开的 URL 还是默认端口。解决办法是看终端输出里的实际监听地址,手动访问那个地址。或者启动时显式指定一个空闲端口。

# 指定端口启动 dsh web --port 8080

问题二:局域网内其他设备访问不了。

先确认启动时绑定了0.0.0.0而不是127.0.0.1。如果已经绑定了还是访问不了,检查防火墙设置。Windows 上需要允许对应端口的入站连接,Linux 上检查 iptables 或 ufw 规则。另外,某些企业网络会隔离设备间的互访,这种情况就不是工具能解决的了。

问题三:升级后启动报配置错误。

前面提过,大版本升级时旧配置可能不兼容。最稳妥的做法是备份后清空配置目录,重新初始化。配置目录位置:

  • Windows:C:\Users\你的用户名\.deepseek-harness
  • macOS/Linux:~/.deepseek-harness

清空后重新启动,Harness 会生成默认配置。然后你可以对照旧配置手动迁移需要的设置项。

5.2 文件审阅类问题

问题:审阅结果里行号对不上。

这在自然语言文档上比较常见。原因是模型在生成反馈时,对行号的计数可能因为换行符处理差异而偏移。缓解办法是在审阅意图里明确要求"引用原文片段而不是行号",这样即使行号有偏差,你也能通过原文片段定位。

问题:大文件审阅到一半卡住。

先检查是不是模型服务端的问题——看 Harness 的日志里有没有超时或连接错误。如果是服务端问题,调小并发块数、增大超时时间。如果是本地资源问题(内存或显存不足),减小分块大小,降低单次处理的上下文量。

问题:审阅结果太泛,没有针对性。

这是提示词的问题。默认审阅提示词是通用型的,你需要通过"审阅意图"来收窄关注范围。意图描述越具体,结果越有针对性。比如不要只说"检查代码问题",而要说"检查这个 Python 文件里所有可能抛出未捕获异常的地方,特别是文件 IO 和网络请求"。

5.3 插件类问题

问题:插件安装后不显示面板。

先确认插件声明的面板位置和当前界面布局是否匹配。如果插件声明面板在右侧,但你的右侧面板已经满了,可能被折叠了。检查一下界面边缘有没有折叠的面板标签。另外,有些插件需要重启 Harness 才能生效,安装后试试刷新页面或重启服务。

问题:插件导致 Harness 崩溃或无响应。

alpha 阶段的插件沙箱还不够健壮,一个写得不好的插件可能拖垮整个界面。遇到这种情况,启动时加--safe-mode参数,它会跳过所有第三方插件的加载。进入安全模式后,在插件管理里禁用可疑插件,然后正常重启。

# 安全模式启动,跳过第三方插件 dsh web --safe-mode

问题:自己开发的插件加载报错但看不到详细信息。

开启开发者模式,在浏览器控制台里看完整错误。Harness 的 Web 端在开发者模式下会把插件加载的详细日志输出到控制台。如果控制台也没有有用信息,在插件的activate函数入口加 try-catch,把错误对象完整打印出来。

5.4 常见问题速查表

现象可能原因排查步骤解决方式
浏览器空白页端口占用或URL错误看终端实际监听地址手动访问正确地址或指定端口
局域网无法访问绑定地址或防火墙检查启动参数和防火墙规则绑定0.0.0.0并放行端口
升级后启动失败旧配置不兼容查看错误日志中的配置项清空配置目录重新初始化
审阅行号偏移模型行号计数差异对比原文片段要求引用原文而非行号
大文件审阅卡住资源不足或超时查看日志和资源占用减小分块、降低并发
插件面板不显示布局冲突或需重启检查面板折叠状态刷新页面或重启服务
插件导致崩溃插件代码问题安全模式启动禁用问题插件
Office预览错位前端解析限制换简单文档测试复杂文档用本地软件打开

6. 一些实操心得和后续可扩展的方向

用了这段时间,有几个体会比较深。第一,Web 端的价值不在于"好看",而在于"信息密度"。同样的审阅任务,命令行下你要在终端输出里翻找,Web 端可以行内标注、可以跳转、可以导出报告,效率差距是数量级的。如果你还在用命令行版本,建议花半小时试试 Web 端,大概率回不去了。

第二,alpha 阶段要有"用一半、等一半"的心态。文件审阅和插件管理已经能用了,Office 预览的 pptx 部分还比较糙,多智能体编排还在实验阶段。把能用的部分用起来,不完善的部分关注更新日志等修复,不要因为某个功能不完美就否定整个工具。

第三,插件生态的早期参与者有红利。现在插件市场里的插件还不多,你如果有个性化需求,自己写一个插件的成本不高,而且写出来的东西可能正好是别人也需要的。我认识几个用户,早期贡献的插件后来被很多人用,这种正反馈在成熟生态里是很难得的。

后续可以关注的方向:一是 Office 预览的完善,特别是 pptx 的渲染质量;二是插件 API 的稳定化,目前变动还比较频繁;三是多智能体编排的可用性提升,这个功能如果做成熟了,对复杂工作流的自动化意义很大。另外,文件审阅目前主要是"读"和"分析",未来如果能结合"写"——比如自动修复发现的问题——那整个工作流就闭环了。

最后分享一个小技巧:把常用的审阅意图保存成预设。Harness 支持在设置里保存多套审阅配置,你可以为代码审查、文档校对、安全检查分别建一套预设,用的时候一键切换,不用每次重新输入关注点。这个功能藏得比较深,在审阅设置的高级选项里,但用起来确实省事。

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

Edge浏览器隐藏冲浪游戏:edge://surf入口、玩法与HTML5技术解析

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

作者头像 李华
网站建设 2026/9/26 1:48:01

深度强化学习实现水下机器人避障:PyBullet仿真毕设源码全解析

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

作者头像 李华
网站建设 2026/9/26 1:47:33

Cursor下载安装与中文AI编程实操指南

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

作者头像 李华
网站建设 2026/9/26 1:46:41

Altium Designer 26安装失败根因解析与系统级部署指南

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

作者头像 李华
网站建设 2026/9/26 1:45:46

从零发布ROS2官方包:ament与colcon构建、rosdep依赖与bloom发布全流程

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

作者头像 李华
网站建设 2026/9/26 1:44:50

浙大中控DCS操作规程编写指南:JX-300XP与Advantrol落地拆解

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

作者头像 李华