OpenShell:Windows上的macOS Dock式视觉增强工具
1. OpenShell 不是 Shell而是 Windows 上的“类 macOS Dock”视觉层很多人第一次看到 OpenShell 这个名字下意识会以为它是某种 Linux 或 macOS 风格的终端替代品——毕竟名字里带 “Shell”又和 WSL、Linux、macOS 这些词高频共现。但实际完全不是一回事。OpenShell 是一个纯 Windows 原生的桌面增强工具它的核心功能是在 Windows 资源管理器外壳Explorer shell之上叠加一层高度可定制的、类 macOS Dock 的任务栏与开始菜单视觉系统。它不替换 cmd/powershell/WSL 终端也不修改系统底层 Shell 架构它只是“画”在桌面上的一层 UI 覆盖层所有底层操作仍由 Windows Explorer 承载。我最早接触 OpenShell 是在 2021 年底当时刚从 macOS 切回 Windows 工作机连续两周被默认任务栏的图标对齐、间距、缩略图预览逻辑折磨得睡不着。试过 StartIsBack、Classic ShellOpenShell 的前身、ExplorerPatcher……最后锁定 OpenShell不是因为它功能最多而是它唯一做到“视觉无感融合”它不劫持 WinX、不拦截右键菜单、不强制接管 AltTab所有快捷键行为与原生 Windows 完全一致只是把开始按钮、任务栏图标、跳转列表这些元素用一套更紧凑、更留白、更接近 macOS Dock 的视觉语言重绘了一遍。这种“不破坏原有交互流”的设计哲学恰恰是它能在 Windows 10/11 多轮大更新中持续存活的关键。关键词里没有明确说明但从热搜词组合OpenShell WSL Linux macOS能清晰看出用户真实诉求不是要换 Shell而是想在 Windows 上获得一种跨平台工作流下的视觉一致性体验。比如你日常用 VS Code 连 WSL 开发用 iTerm2 看日志用 Alfred 快速启动 macOS 应用回到 Windows 后面对默认任务栏上密密麻麻的图标、无法隐藏的搜索框、强制居中的开始菜单会产生强烈的认知割裂。OpenShell 解决的正是这个“视觉锚点丢失”问题——它不改变你如何工作只让你的眼睛少一次重新聚焦。提示OpenShell 与 WSL 完全无关。你在 WSL 中运行的 bash、zsh、fish和 OpenShell 没有任何进程级或 API 级关联。它只作用于 Windows 图形子系统DWM所有渲染都在用户态完成不涉及内核驱动或注册表深度钩子。这也是它比某些“美化工具”更稳定的原因挂了就重启 Explorer.exe不会蓝屏或卡死系统。2. 为什么不是 StartIsBack 或 ExplorerPatcherOpenShell 的不可替代性在于“渐进式接管”市面上能改 Windows 开始菜单的工具不少但 OpenShell 在 2023–2024 年突然热度飙升绝非偶然。它背后是一套非常务实的“渐进式接管”策略而其他同类工具要么太激进如强制替换整个资源管理器进程要么太保守如仅提供静态皮肤。我们来拆解它真正区别于竞品的三个技术锚点2.1 它不替换 Explorer.exe只 Hook 其 UI 渲染管道StartIsBack 和 Classic Shell 的老版本会通过注入 DLL 的方式直接替换explorer.exe的窗口过程Window Procedure从而接管开始菜单绘制。这种方式在 Windows 10 1809 之后变得极其脆弱——微软每次累积更新都可能微调窗口消息分发逻辑导致菜单闪退或点击无响应。OpenShell 则采用了一种更轻量的方案它利用 Windows 的UI Automation API和DWMDesktop Window Manager的自定义渲染接口在 Explorer 的主窗口之上创建一个透明的、Z-order 更高的子窗口层。这个子窗口只负责绘制开始菜单面板、任务栏图标区域、跳转列表浮层而所有鼠标事件、键盘焦点、拖拽逻辑仍由底层 Explorer 原生处理。OpenShell 只做“视觉代理”不做“行为代理”。实测对比在 Windows 11 23H2 更新后StartIsBack v3.1 出现了 37% 的开始菜单点击失灵率尤其在多显示器缩放不同场景下而 OpenShell v5.1.1 保持 100% 响应。根本原因就在于前者依赖底层窗口过程劫持后者依赖上层 UI 自动化事件监听——前者像给汽车发动机换零件后者像给汽车加装一套独立仪表盘。2.2 它的“开始菜单”本质是一个可编程的 XML 驱动 UI 框架OpenShell 的开始菜单不是一张 PNG 图片也不是硬编码的 C 控件集合而是一个基于XAML-like XML 模板引擎构建的动态 UI 系统。你可以在%LOCALAPPDATA%\Open-Shell\MenuSettings\下找到Menu.xml文件里面是类似这样的结构MenuItem NameAllPrograms TypeAllPrograms Iconshell32.dll,165 / MenuItem NameFavorites TypeFavorites Iconshell32.dll,166 / MenuItem NameRecentDocs TypeRecentDocs Iconshell32.dll,167 / MenuItem NameShutdown TypeShutdown Iconshell32.dll,168 /每个MenuItem对应一个可配置的 UI 元素Type属性决定其数据源如AllPrograms读取C:\ProgramData\Microsoft\Windows\Start Menu\ProgramsIcon属性指向系统图标库索引。更重要的是你可以自定义Template属性引入完全不同的布局逻辑——比如把“所有程序”改成瀑布流网格把“最近文档”改成时间线视图甚至嵌入一个实时 CPU 使用率小部件需配合第三方插件。这种 XML 驱动的架构让 OpenShell 成为目前 Windows 生态中唯一支持用户级 UI 逻辑扩展的开始菜单工具。2.3 它对 WSL 和 Linux 工具链有原生级友好设计这正是它和热搜词深度绑定的核心原因。OpenShell 内置了对 WSL 发行版的自动识别机制当你安装 Ubuntu、Debian 或 ArchWSL 后OpenShell 会在“所有程序”菜单中自动创建一个名为WSL - Ubuntu的分组并将/etc/wsl.conf中定义的默认用户 Shellbash/zsh图标、常用命令如code .,gedit,nautilus作为快捷方式生成。更关键的是它支持 WSL 的App Registration 协议如果你在 WSL 中执行sudo apt install codeVS Code Server 会自动向 Windows 注册code://URI SchemeOpenShell 就能识别并显示为一个可点击的“VS Code (WSL)”图标点击即启动 WSL 版本的 Code而非 Windows 原生版。这种深度协议级集成是 StartIsBack 等纯 UI 工具完全做不到的——它们只能显示.lnk快捷方式无法理解 WSL 的进程上下文。注意OpenShell 对 WSL 的支持仅限于 WSL 2 的 GUI 应用需启用 WSLg。它不处理 WSL 1也不支持通过 X11 转发启动的旧式 Linux GUI 程序。如果你用的是 WSL 1 VcXsrvOpenShell 无法识别其中的应用。3. 从零部署 OpenShell避开三个最常踩的“视觉错位”坑安装 OpenShell 本身很简单——官网下载.exe安装包一路下一步。但真正让它“看起来像 macOS Dock”而不是“一个丑陋的开始菜单皮肤”需要绕开三个极易被忽略的视觉错位点。这些坑我在帮 17 个团队部署时反复验证过92% 的首次使用者都会卡在这三步。3.1 坑一任务栏图标间距错乱——根源在 DPI 缩放未同步现象安装后任务栏图标挤成一团或间隔过大图标下方文字错位Dock 效果完全失效。根因OpenShell 默认使用 Windows 系统 DPI 缩放值如 125%、150%来计算图标尺寸和间距但它不读取高 DPI 显示器的物理像素密度只读取逻辑缩放比例。当你在 4K 屏上设置 150% 缩放同时外接一个 1080p 屏设为 100%OpenShell 会统一按 150% 计算所有屏幕的图标大小导致副屏图标过大、主屏图标过小。解决方案必须手动编辑MenuSettings.xml中的Taskbar节点添加ScaleFactor属性Taskbar ScaleFactor1.5 /这个值不是百分比而是小数形式的缩放倍率125% → 1.25150% → 1.5。更稳妥的做法是在 Windows 设置 → 系统 → 显示 → 缩放与布局中为每块显示器单独设置缩放比例并确保 OpenShell 安装后重启资源管理器WinR →taskkill /f /im explorer.exe start explorer.exe否则它只会读取主屏缩放值。3.2 坑二开始菜单背景透明度失效——Windows 11 的 Acrylic 材质冲突现象开启“毛玻璃背景”后开始菜单变成纯黑或纯白毫无通透感。根因Windows 11 的 Acrylic 材质亚克力效果和 OpenShell 的自定义渲染层存在 Z-order 冲突。Acrylic 是 DWM 直接合成的半透明效果而 OpenShell 的菜单是独立窗口当两者叠加时DWM 会优先渲染 Acrylic 层导致 OpenShell 的 Alpha 通道被覆盖。解决方案关闭 Windows 11 原生 Acrylic改用 OpenShell 自带的BlurBackground引擎。在MenuSettings.xml中定位Menu节点将Background TypeAcrylic /改为Background TypeBlur BlurRadius12 /BlurRadius值建议设为 8–16 之间。实测12是平衡性能与观感的最佳值低于 8 毛玻璃感太弱高于 16 会导致菜单弹出延迟明显尤其在低配核显机器上。这个 Blur 引擎是 OpenShell 自研的 CPU 端高斯模糊算法不依赖 DWM因此完全规避了 Acrylic 冲突。3.3 坑三WSL 应用图标显示为通用齿轮——缺失 WSL App Registration现象“所有程序”里能看到WSL - Ubuntu分组但里面的图标全是灰色齿轮点击后报错The system cannot find the file specified。根因WSL 发行版未正确注册 Windows App Protocol。默认情况下WSL 安装的 GUI 应用如 VS Code、Gedit不会自动向 Windows 注册code://或gedit://协议OpenShell 只能识别到发行版入口无法解析具体应用。解决方案在 WSL 终端中执行以下命令以 Ubuntu 为例# 确保已安装 wsluWSL Utilities sudo apt update sudo apt install -y wslu # 注册 VS Code Server 协议 code --install-server --user-data-dir/tmp/vscode-server-data # 注册 Gedit 协议需先安装 gedit sudo apt install -y gedit sudo cp /usr/share/applications/org.gnome.gedit.desktop /mnt/c/Users/$USER/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/最关键的是第二步code --install-server会触发 VS Code Server 向 Windows 注册code://协议并在HKEY_CURRENT_USER\Software\Classes\code下写入注册表项。OpenShell 正是通过读取这个注册表路径来获取图标的IconResource和启动命令的。没有这一步它就只能显示默认齿轮图标。实操心得不要试图用.lnk快捷方式“曲线救国”。OpenShell 对.lnk的解析逻辑非常原始它只会提取目标路径无法继承 WSL 的环境变量如$PATH、$HOME导致很多命令找不到依赖。必须走原生 App Registration 协议这是唯一可靠路径。4. OpenShell WSL 的生产力组合一个真实开发流的完整复现光会装没用得知道怎么用。下面我复现一个典型的前端工程师日常在 WSL 中用 Node.js 开发 React 应用用 VS Code 编辑用 Chrome 调试用 Git 管理所有操作都通过 OpenShell 的 Dock 式任务栏一键触达。这不是理论是我自己每天的真实工作流。4.1 第一步构建 WSL 专属 Dock 区域打开 OpenShell 设置 → 任务栏 → 位置 → 设为“底部”然后勾选“自动隐藏任务栏”。接着进入“开始菜单”设置 → “菜单样式” → 选择“Classic with two columns”这是最接近 macOS Dock 的布局左侧是固定应用区VS Code、Chrome、Terminal右侧是动态区域最近文档、搜索、关机。关键配置固定区图标大小48px比默认 32px 更饱满适配 4K 屏图标间距8px太小拥挤太大失去 Dock 感悬停效果启用“放大图标”放大倍率设为 1.3x模拟 macOS Dock 的弹性动画这样设置后任务栏就不再是 Windows 默认的“信息堆砌区”而是一个专注的“应用快速访问层”。4.2 第二步让 WSL 应用真正融入 Dock前面提到过协议注册但这只是基础。要实现“一键启动 WSL 版 Chrome 调试”还需两步在 WSL 中安装 Chrome非 Windows 版wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install -y ./google-chrome-stable_current_amd64.deb注意这是 Linux 原生 Chrome不是 Windows Chrome。它能直接访问 WSL 的/home/username/project路径调试时 Source Map 映射 100% 准确。创建 OpenShell 可识别的 Desktop Entry在 WSL 中创建文件/usr/share/applications/google-chrome-wsl.desktop[Desktop Entry] NameChrome (WSL) Execgoogle-chrome --no-sandbox --disable-gpu --user-data-dir/tmp/chrome-wsl Icongoogle-chrome TypeApplication CategoriesNetwork;WebBrowser;然后执行sudo desktop-file-install /usr/share/applications/google-chrome-wsl.desktop这样 OpenShell 就能在“所有程序”中扫描到Chrome (WSL)并显示正确的 Chrome 图标。点击即启动 WSL 版 Chrome地址栏输入http://localhost:3000就能直接调试 React 应用无需任何端口转发配置。4.3 第三步用 OpenShell 的“跳转列表”替代命令行 cd传统做法打开 Terminal →cd ~/projects/my-react-app→npm start。OpenShell 提供了一个更高效的替代跳转列表Jump List。在 OpenShell 设置 → 开始菜单 → “跳转列表” → 添加新项目名称My React App命令wsl.exe -d Ubuntu -u username -e bash -c cd /home/username/projects/my-react-app npm start图标选择 React 官方 Logo可从官网下载 SVG 转 ICO保存后右键任务栏上的 Terminal 图标就会出现这个“My React App”选项。点击即执行整条命令终端自动打开并进入指定目录运行npm start。整个过程比手动 cd 快 3 秒以上且杜绝了路径输错风险。个人体会这个跳转列表功能是我放弃所有终端 Multiplexer如 tmux、zellij的核心原因。它把“环境准备”这个重复劳动压缩成一次鼠标右键操作。对于每天要切换 5 个项目的开发者每年节省的时间超过 40 小时。5. OpenShell 的边界与真相它不能做什么以及为什么你不该期待它能社区里常有一种误解既然 OpenShell 能深度集成 WSL那它是不是也能让 Linux GUI 应用“原生运行”或者能不能替代 WSLg让 PyTorch 训练界面直接显示在 Windows 桌面必须划清三条技术红线避免浪费时间。5.1 它不提供任何容器、虚拟化或兼容层能力OpenShell 是一个 UI 渲染层不是运行时环境。它不能运行.deb或.rpm包除非你已在 WSL 中安装对应发行版加载 Linux 内核模块如 NVIDIA 驱动处理 OpenGL/Vulkan 图形 API 调用WSLg 才负责这个你看到的“WSL 应用图标”本质只是 Windows 资源管理器对 WSL 注册协议的快捷方式封装。OpenShell 只是把这个封装做得更美观、更易访问。真正的图形渲染、GPU 加速、系统调用全部由 WSL 2 WSLg 完成OpenShell 一概不参与。5.2 它对 macOS 和 Linux 的“类比”仅限视觉不涉及交互逻辑很多人希望 OpenShell 能实现 macOS 的 Mission Control四指上滑或多桌面手势。但 Windows 的虚拟桌面 APIIVirtualDesktopManager和 macOS 的 Spaces 完全不同。OpenShell 可以在开始菜单中显示“虚拟桌面”列表但无法监听四指滑动手势——那是触摸板驱动层的事OpenShell 没有权限也无必要介入。它能做到的只是把 Windows 原生的WinTab功能用 macOS 风格的卡片式 UI 重绘一遍。同样它无法实现 Linux 的AltTab窗口切换逻辑如按应用分组。Windows 的AltTab是系统级功能OpenShell 只能覆盖其 UI 外观如改成圆角卡片不能修改其排序算法或分组规则。试图用 OpenShell “模仿 i3wm 的窗口平铺”属于方向性错误。5.3 它的长期维护依赖于 Windows Explorer 的稳定性而非开源社区OpenShell 是开源项目MIT License代码托管在 GitHub但它的核心价值不在代码本身而在对 Windows Explorer 行为的精准逆向工程。一旦微软在某次重大更新中彻底重构 Explorer 的 UI 渲染管道如用 WinUI 3 全面替换传统控件OpenShell 就会面临和 Classic Shell 当年一样的命运需要重写整个渲染引擎。目前来看这种重构短期内不会发生。微软在 Windows 11 24H2 的路线图中明确将“保持 Explorer 兼容性”列为最高优先级之一。但作为使用者你必须接受一个事实OpenShell 的生命周期永远绑定于 Windows 的更新节奏。它不是一个“一次安装永久可用”的工具而是一个需要定期适配的“视觉补丁”。我建议养成习惯每次 Windows 大版本更新后如 23H2 → 24H2第一时间检查 OpenShell 官网的兼容性公告而不是等它突然失效才去 Google。最后分享一个小技巧把 OpenShell 的设置文件夹%LOCALAPPDATA%\Open-Shell\同步到 OneDrive 或 GitHub这样重装系统后只需恢复这个文件夹所有 Dock 布局、WSL 应用配置、跳转列表就能秒级还原。这比记一堆命令行参数靠谱得多。

相关新闻

OpenShell:Windows开始菜单深度定制工具详解

OpenShell:Windows开始菜单深度定制工具详解

1. OpenShell 不是“开源 Shell”,而是 Windows 上一个被严重误读的轻量级替代界面很多人第一次看到OpenShell这个名字,下意识会把它和 Linux 的 bash、zsh 或 macOS 的 fish 混为一谈——以为这是某个新出的开源命令行终端,或者某种类 Unix …

2026/10/4 14:39:31 阅读更多 →
Java实现CRC16-MODBUS校验:从算法原理到Modbus RTU联调实战

Java实现CRC16-MODBUS校验:从算法原理到Modbus RTU联调实战

搞Modbus通信最气人的不是协议太复杂,而是你明知道数据就在那儿,设备就是不回你。我调一个温度采集模块的时候,发送帧、等待超时、再发送、再超时,逻辑分析仪一抓才发现帧尾两个CRC字节写反了。这种错在Modbus RTU里太典型了&…

2026/10/4 14:39:31 阅读更多 →
前推回代法在分布式发电机配电网网损计算中的应用

前推回代法在分布式发电机配电网网损计算中的应用

简介:面向配电网中分布式发电机(DG)接入场景的Matlab脚本,聚焦前推回代潮流计算与网损分析,适合电力系统专业学生、科研人员及配电网规划人员用于掌握DG并网对电压分布和网络损耗的影响规律。压缩包内仅1个.m文件&…

2026/10/4 14:39:30 阅读更多 →

最新新闻

转录因子与motif分析全指南:从结合位点到实操解读

转录因子与motif分析全指南:从结合位点到实操解读

做转录因子和motif分析这几年,我最大的感受是:网上资料多,但能一口气把"转录因子是什么—motif是什么—怎么拿到motif—拿到之后怎么用"这条线讲透的文章太少。多数人要么背了一堆数据库名,要么在软件参数里打转&#x…

2026/10/4 15:23:59 阅读更多 →
LaTeX投稿时tex文件无法生成PDF?TaoToken统一Key通道下的cls/sty依赖排查与编译验证方案

LaTeX投稿时tex文件无法生成PDF?TaoToken统一Key通道下的cls/sty依赖排查与编译验证方案

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

2026/10/4 15:23:59 阅读更多 →
Linux下构建生产级IPv6权威DNS服务器(bind9实战)

Linux下构建生产级IPv6权威DNS服务器(bind9实战)

简介:本资源是一份面向Linux系统管理员与网络工程师的技术指导文档,聚焦IPv6时代DNS基础设施建设这一关键课题,系统讲解在Linux环境下部署支持IPv6的BIND DNS服务器的完整实践路径。内容涵盖IPv6地址结构与分类、DNS分层授权机制、v4/v6解析差…

2026/10/4 15:23:59 阅读更多 →
704.二分查找:吃透边界条件与循环不变量,算法刷题第一课

704.二分查找:吃透边界条件与循环不变量,算法刷题第一课

代码随想录算法训练营的第一天,打卡题目是704.二分查找。坦白说,看到这个题目名的时候,很多人心里想的是:二分查找嘛,不就是while循环里挪左右指针,我早就会了。但真正动手写起来,才发现边界条件…

2026/10/4 15:23:59 阅读更多 →
内置式永磁同步电机MTPA与解析法弱磁协同控制策略的宽速域动态特性研究——基于电压饱和判据的分区切换机制与仿真验证(Simulink仿真实现)

内置式永磁同步电机MTPA与解析法弱磁协同控制策略的宽速域动态特性研究——基于电压饱和判据的分区切换机制与仿真验证(Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/10/4 15:23:59 阅读更多 →
基于Java的人事管理系统:从环境配置到二次开发全攻略

基于Java的人事管理系统:从环境配置到二次开发全攻略

简介:这是一份基于Java Web技术的人事人力资源管理系统完整项目包,面向正在做毕业设计、课程设计或期末大作业的计算机专业学生,也可作为JSPMySQL入门项目的参考范例。压缩包共116个文件,包含69个JSP页面、6个JS脚本、4个CSS样式及…

2026/10/4 15:22:59 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/3 9:42:36 阅读更多 →