open-code-review 落地实践:从工具选型到流程自动化的完整指南
1. 从零搭建 open-code-review 的完整思路第一次听到“open-code-review”这个词很多人会下意识以为它是一个现成的开源工具或者某个代码托管平台的内置功能。实际上它更像是一种工程实践理念的具象化表达——把代码评审这件事从“闭门造车”变成“开放协作”让评审过程透明、可追溯、可复用。我在过去几年里带过几个不同规模的研发团队从五人的创业小队到三十多人的跨职能小组代码评审这件事几乎在每个团队都经历过“从形式主义到真正落地”的阵痛期。而 open-code-review 这个思路恰好是解决这个阵痛的一把钥匙。所谓 open-code-review核心在于三个层面的“开放”。第一层是评审范围的开放不再局限于“谁写的谁找人看”而是把评审入口向团队甚至跨团队开放任何对这段代码有上下文的人都可以参与第二层是评审过程的开放评审意见、讨论记录、修改历史全部留痕而不是在私聊窗口里“你改一下这里”就完事第三层是评审知识的开放每次评审沉淀下来的检查项、常见问题、最佳实践能够被后续的评审复用形成团队自己的知识库。这套东西解决的是什么问题说白了就是解决“代码评审做了但没效果”的问题。我见过太多团队评审就是走个过场点个“Approve”完事结果线上事故一查问题就出在那些被“秒过”的代码里。open-code-review 的价值在于它让评审从“个人行为”变成“工程行为”从“靠自觉”变成“靠机制”。这篇文章适合谁看如果你是团队的技术负责人正在为代码质量发愁如果你是刚接手评审流程的工程师想知道怎么把这件事做得不招人烦或者你只是单纯想了解 open-code-review 到底该怎么落地那接下来的内容应该能给你一些可以直接抄作业的思路。我会从工具选型、流程设计、检查项配置、自动化集成、常见坑这几个维度把这件事拆开揉碎讲清楚。2. open-code-review 的载体选择与工具链搭配2.1 自建评审系统还是用现成平台这是第一个要做的决策。我试过三种方案完全自建基于 Git 钩子加自研 Web 界面、半自建用 GitLab/Gitea 的合并请求功能加自定义脚本、纯平台用 GitHub/GitLab 的 Merge Request 或 Pull Request 流程。实测下来对于绝大多数团队半自建方案是性价比最高的。完全自建听起来很酷但维护成本极高。你需要处理权限、通知、差异对比、评论嵌套、状态流转这些东西看起来简单做起来全是细节。我曾经花了两周时间写了一个自研评审工具结果发现光是“行内评论的定位”这一个功能就够折腾好几天——代码一改评论位置就漂移了用户体验极差。后来果断放弃转向基于现成平台的方案。纯平台方案的问题在于“不够开放”。比如某些平台的评审流程是固定的你想加一个“安全评审”的强制环节或者想在评审通过后自动触发一轮静态扫描平台本身不一定支持。这时候就需要半自建用平台的合并请求作为评审载体用 Webhook 加自定义服务来扩展流程。具体怎么选可以参考这个对照表方案类型适用团队规模初期投入长期维护灵活度完全自建50人以上且有专职基建极高高极高半自建5-50人中等中等高纯平台5人以下低低低提示如果你所在的团队还在用邮件或者聊天工具发代码片段来评审那第一步不是选工具而是先把代码托管到支持合并请求的平台上。没有这个基础open-code-review 无从谈起。2.2 评审工具链的最小可用配置确定了载体之后接下来是工具链的搭配。我的建议是“一个核心加三个辅助”。核心就是代码托管平台的合并请求功能辅助分别是静态扫描工具、通知机器人、评审看板。静态扫描工具负责在人工评审之前先把机器能查的问题查掉。常见的比如针对特定语言的 Linter、安全扫描器、依赖漏洞检查工具。这一步的目的是让评审者把精力放在逻辑、设计、边界条件这些机器搞不定的地方而不是纠结“这里少了个分号”。通知机器人负责把评审请求推送到团队日常使用的沟通工具里。这里有个细节不要每条评审都推。我见过一个团队每次有人提合并请求就在群里 所有人结果大家很快就把这个机器人屏蔽了。正确的做法是只推“需要你评审”的请求并且带上足够的上下文——比如改动了哪些文件、影响了哪些模块、作者是谁。评审看板是一个容易被忽略但很有用的东西。它可以是简单的表格也可以是看板工具里的一个列。核心作用是让“待评审”“评审中”“已通过”“已合并”这几个状态可视化。这样做的好处是当某个评审卡住超过一定时间时你能一眼看出来而不是等作者来催。2.3 分支策略与评审粒度的关系工具选好了接下来要定分支策略。这件事直接决定了评审的粒度。常见的分支策略有三种主干开发、功能分支、发布分支。不同的策略对应不同的评审节奏。主干开发模式下每次提交都直接进主干评审粒度很细适合持续交付的团队。但这种模式对自动化测试的要求极高因为一旦评审通过合并进去马上就要面对线上环境。功能分支模式下一个功能开发完再合并评审粒度较粗适合迭代周期较长的团队。发布分支模式下评审发生在发布前粒度最粗适合有严格发布窗口的团队。我的经验是大多数团队适合“短生命周期功能分支”。分支存活时间控制在一天到三天评审的代码量控制在四百行以内。超过这个量评审者的注意力会急剧下降。有研究数据表明当单次评审的代码超过四百行时缺陷发现率会下降百分之六十以上。所以与其一次评审两千行不如拆成五次四百行。3. 让评审真正有效的检查项设计3.1 从“凭感觉”到“有清单”很多团队的评审之所以流于形式根本原因是评审者不知道要看什么。打开一个合并请求看到一堆红色绿色的差异眼睛都花了最后只能看看命名规不规范、有没有明显的语法错误然后就点了通过。这不是评审者不负责而是没有给他一个可操作的清单。open-code-review 的核心动作之一就是建立一份评审检查清单。这份清单不是越长越好而是要覆盖那些“机器查不出、但人容易漏”的点。我通常会把它分成四个维度正确性、可维护性、安全性、性能。正确性维度包括边界条件是否处理、异常路径是否覆盖、并发场景是否考虑、数据一致性是否保证。可维护性维度包括命名是否达意、函数是否过长、耦合是否过紧、注释是否解释了“为什么”而不是“是什么”。安全性维度包括输入是否校验、敏感数据是否脱敏、权限是否检查、依赖是否有已知漏洞。性能维度包括是否有循环内查询、是否有不必要的序列化、缓存策略是否合理、大数据量下是否会内存溢出。这份清单不需要每次评审都逐条过但需要在评审模板里体现出来让评审者有章可循。比如在合并请求的描述模板里作者需要主动说明“本次改动在正确性方面做了哪些考虑”评审者再针对性地检查。3.2 检查项要跟着项目阶段走一份静态的检查清单用久了就会失效因为项目在不同阶段面临的风险是不一样的。项目初期重点可能是快速验证想法评审应该关注“接口设计是否合理”“是否留下了扩展点”项目中期重点转向稳定性和可维护性评审应该关注“是否有重复代码”“模块边界是否清晰”项目后期或者维护期重点变成安全性和兼容性评审应该关注“是否破坏了现有接口”“是否有安全漏洞”。我通常会建议团队每个季度回顾一次检查清单把最近线上出过的问题反推回评审环节看看当时如果检查了哪一项就能避免。这种“从事故反推检查项”的做法比凭空想清单有效得多。3.3 用自动化把机械检查前置人工评审的精力是有限的所以要把机械性的检查全部交给自动化。这里说的自动化不只是跑单元测试还包括代码格式检查、静态类型检查、圈复杂度检查、重复代码检测、依赖漏洞扫描、敏感信息扫描。这些检查应该在合并请求创建的那一刻就自动触发并且把结果直接展示在评审界面上。如果检查不通过评审者甚至不需要开始看代码直接打回让作者修复就行。这样做的好处是评审者的时间全部花在“机器判断不了”的事情上。我见过一个团队的做法很值得借鉴他们把静态扫描的结果分成“阻断级”和“提醒级”。阻断级的问题必须修复才能合并提醒级的问题只是标注出来评审者自行判断是否需要处理。这样一来既保证了底线质量又不会因为一些无关痛痒的警告拖慢流程。注意自动化检查的规则不要一次性加太多。我见过一个团队上来就开了两百多条 Lint 规则结果每个合并请求都是几百个警告大家很快就麻木了。正确的做法是从最关键的十几条开始逐步增加。4. 评审流程的节奏控制与角色分工4.1 谁该参与评审open-code-review 强调“开放”但不意味着“所有人都要评审所有代码”。那样只会导致责任分散最后没人真正负责。我的建议是采用“必选评审人加可选评审人”的模式。必选评审人通常是代码所属模块的负责人或者对这段代码有深入理解的资深工程师。他们的职责是确保改动在架构和设计层面没有问题。可选评审人则是任何对这段代码感兴趣的人他们可以提出建议但不作为合并的必要条件。这里有个常见的误区把团队负责人都设为必选评审人。结果就是所有合并请求都卡在负责人那里负责人成了瓶颈。正确的做法是负责人只评审那些“影响面大”的改动比如涉及核心模块、公共库、数据库结构变更的。普通的业务代码改动由模块负责人评审即可。4.2 评审的响应时间约定评审流程能不能跑起来很大程度上取决于响应时间。如果作者提了一个合并请求等了两天没人理那作者就会倾向于“先合并再说”评审就失去了意义。所以团队需要有一个明确的响应时间约定。我通常建议的约定是工作时间内评审请求应在四小时内得到首次响应。首次响应不一定是完整的评审意见可以只是“我看到了今天下班前给你详细反馈”。这样作者就知道有人在处理不会焦虑。如果某个评审请求超过约定时间没人响应应该有自动提醒机制。比如在沟通工具里再推一次或者在看板上标红。这个机制的目的不是施压而是让评审请求不被遗忘。4.3 评审意见的沟通方式评审意见怎么提直接决定了作者愿不愿意接受。我见过太多因为评审意见措辞不当导致的冲突。比如“这里写得不对”“这个设计有问题”这种表达很容易让作者产生防御心理。更好的方式是对事不对人并且给出理由。比如“这个函数在输入为空时可能会抛异常建议加一个空值判断因为上游调用方有可能传入空值”。这样的表达既指出了问题又解释了原因作者更容易接受。另外评审意见要区分“必须改”和“建议改”。必须改的是那些会导致 bug、安全问题、性能问题的建议改的是风格、命名、注释这些。把两者混在一起作者会分不清轻重。我通常的做法是在评论前加一个标记比如“[必须]”和“[建议]”这样一目了然。4.4 评审通过后的动作评审通过不等于结束。open-code-review 的“开放”还体现在评审后的知识沉淀上。每次评审结束后应该有一个简单的回顾这次评审发现了哪些问题这些问题是否具有普遍性是否需要更新检查清单或者自动化规则我通常会建议团队每周花十五分钟做一个“评审回顾”把这一周评审中发现的高频问题列出来看看哪些可以通过自动化解决哪些需要写进检查清单哪些需要在团队内做一次分享。这个动作看起来很小但长期坚持下来团队的代码质量会有明显提升。5. 把评审嵌入日常开发流的自动化实践5.1 合并请求模板的配置合并请求模板是 open-code-review 落地的一个关键抓手。它强制作者在提交评审之前先自己回答几个问题。这些问题包括这次改动解决了什么问题改动涉及哪些模块有没有引入新的依赖有没有数据库变更有没有需要特别注意的边界条件模板的作用不是增加负担而是让作者在提交之前先自我检查一遍。很多问题在写模板的过程中就会被作者自己发现。比如“这次改动涉及数据库变更”这一条作者写的时候就会想起来“哦我还需要准备回滚脚本”。模板的字段不要太多五到八个就够了。太多了作者会敷衍随便填几个字就过去了。关键字段要设置成必填比如“改动说明”和“测试情况”。5.2 自动化检查的触发时机自动化检查应该在三个时机触发提交时、合并请求创建时、合并前。提交时触发的是本地钩子比如代码格式化和基础 Lint目的是在代码离开开发者机器之前就发现问题。合并请求创建时触发的是服务端检查比如单元测试、静态扫描、构建验证。合并前触发的是最终检查比如集成测试、安全扫描。这三个时机的检查内容要有区分。本地钩子要快最好在几秒内完成否则开发者会想办法绕过。服务端检查可以慢一些但也要控制在几分钟内。合并前的检查可以更全面但也不能让作者等太久。我见过一个团队把安全扫描放在合并前结果每次合并都要等十几分钟作者怨声载道。后来他们把安全扫描拆成两部分快速扫描放在合并请求创建时只查最关键的几类漏洞全量扫描放在合并后异步执行发现问题再回滚。这样既保证了安全又不影响开发节奏。5.3 评审状态的自动化流转评审状态的手动流转很容易出错比如作者改了代码但忘了重新请求评审或者评审者点了通过但作者又推了新提交。这些情况都会导致“评审通过”的状态和实际代码不一致。解决办法是用自动化来管理状态流转。比如当作者推送新提交时自动把评审状态从“已通过”重置为“待评审”当所有必选评审人都通过时自动把状态改为“可合并”当合并请求被合并时自动关闭相关讨论。这些自动化规则可以通过平台的 Webhook 加自定义服务来实现。如果团队用的是 GitLab可以用它的 CI/CD 流水线来编排如果用 GitHub可以用 Actions。核心思路是一样的让状态跟着代码走而不是跟着人的操作走。5.4 评审数据的采集与度量open-code-review 的“开放”还意味着评审过程是可度量的。可以采集的数据包括评审请求的平均响应时间、平均评审时长、每个评审请求的平均评论数、评审发现的问题类型分布、评审后的返工率。这些数据不是为了考核谁而是为了发现流程中的瓶颈。比如如果发现某个模块的评审请求总是卡很久那可能是这个模块的负责人太忙需要调整分工。如果发现某类问题在评审中反复出现那可能需要加强这方面的自动化检查或者团队培训。采集数据的方式可以很简单用平台的 API 定期拉取合并请求的数据存到表格或者轻量数据库中然后用图表展示趋势。不需要搞得很复杂关键是持续跟踪。6. 评审落地过程中最容易踩的五个坑6.1 把评审当成“找茬”这是最常见也最致命的坑。如果评审者总是以挑毛病的心态去评审作者很快就会产生抵触情绪甚至想办法绕过评审。评审的目的是提高代码质量不是证明谁更厉害。我在一个团队里见过这种情况一个资深工程师每次评审都要提几十条意见从命名到注释到设计模式事无巨细。结果就是没人愿意找他评审大家宁愿找另一个“好说话”的同事。后来我们做了一次调整要求评审意见必须区分优先级只把真正影响功能和安全的问题标为必须改其他都作为建议。情况才慢慢好转。6.2 评审粒度太粗或太细粒度太粗就是一次评审几千行代码评审者根本看不过来只能走马观花。粒度太细就是每改一行就提一个评审请求评审者被频繁打扰效率极低。合适的粒度是一个逻辑完整的改动。比如实现一个功能、修复一个 bug、重构一个模块。这个改动应该是可独立测试、可独立回滚的。如果改动太大就拆成多个评审请求但要注意拆分后的每个请求都应该是可独立理解的而不是把一堆不相关的改动硬塞在一起。6.3 评审意见没有闭环评审意见提了作者改了但评审者没有确认。这是很常见的问题。作者改完之后直接合并评审者根本不知道改得对不对。正确的做法是作者修改后要回复评审意见说明改了什么、怎么改的评审者确认后才能合并。有些平台支持“解决讨论”的功能评审者可以标记某个讨论已解决。这个功能要用起来确保每条意见都有闭环。6.4 忽视评审者的体验评审是一件很消耗精力的事情。如果评审者打开合并请求看到的是一堆格式混乱、没有描述、没有测试的代码他的评审意愿会大打折扣。所以作者在提交评审之前应该确保代码是格式化的、描述是清晰的、测试是通过的。我通常会建议团队在合并请求模板里加一条“请确认你的代码已经通过本地测试和格式化检查”。这条看起来是废话但确实能过滤掉很多低级问题。6.5 评审流程一成不变团队在变项目在变评审流程也应该跟着变。如果半年前定的流程现在还在用但团队已经从五个人变成了二十个人那流程很可能已经不合适了。我建议每个季度做一次评审流程的回顾看看哪些环节效率低、哪些检查项已经过时、哪些自动化规则需要调整。评审流程不是越严格越好而是越适合当前团队越好。7. 从个人经验出发的几个实用建议聊了这么多流程和工具最后分享几个我在实际操作中总结出来的小技巧都是踩过坑之后才明白的。第一个建议是评审前先自己看一遍。很多作者提交评审请求之后就不管了等评审者提意见。其实在提交之前自己以评审者的视角看一遍差异往往能发现不少问题。我养成的习惯是提交之前先看一遍 diff把明显的错误改掉把不清楚的注释补上。这个动作花不了几分钟但能显著减少评审轮次。第二个建议是评审意见尽量当面聊。文字沟通容易产生误解尤其是当意见比较多的时候。如果某个评审请求的评论超过十条我会建议作者和评审者直接开个短会把问题过一遍。这样效率更高也不容易产生情绪。第三个建议是给评审留出专门的时间。不要把评审当成“有空再看”的事情那样永远没空。我通常会在每天上午留出半小时专门处理评审请求雷打不动。这样既保证了响应时间也不会被其他事情打断。第四个建议是新人先从评审别人的代码开始。新人入职后不要急着让他写代码先让他参与评审。通过看别人的代码他能快速了解项目的代码风格、架构设计和常见模式。同时他提出的问题往往能发现老成员习以为常的盲点。第五个建议是把评审和知识分享结合起来。每次评审中发现的典型问题可以在团队内做一次简短的分享。比如这周发现了好几个并发问题那就花十分钟讲讲并发编程的注意事项。这样评审就不只是“改代码”而是变成了团队学习的机会。这些建议看起来都很简单但真正坚持下来并不容易。open-code-review 的核心不是工具而是“开放”的心态——愿意让别人看自己的代码愿意看别人的代码愿意把评审中发现的知识分享出来。工具和流程只是辅助心态才是根本。

相关新闻

ROS无人机二维码精准降落:V2版边降边调算法与PX4实战解析

ROS无人机二维码精准降落:V2版边降边调算法与PX4实战解析

简介:无人机自动降落是物流配送与巡检作业中的关键环节,如何在高动态环境下实现厘米级落点精度,长期依赖悬停对正再下降的经典流程,但扰动会使对准失效。视觉伺服控制通过机载相机实时检测地面标记,将像素位姿解算为机…

2026/10/19 3:27:10 阅读更多 →
递归流匹配生成式信道估计:原理、复现与踩坑实践

递归流匹配生成式信道估计:原理、复现与踩坑实践

发光时,我第一反应是,到底是什么原因让经典估计法在这里失灵的。后来才反应过来,低导频密度下,信噪比稍微一压,最小二乘估计就直接废掉了,能不能扛住主要看先验建模和插值策略。最近看到“基于递归流匹配的…

2026/10/19 3:27:10 阅读更多 →
open-code-review:基于CLI+Git+LLM的可审计代码审查新范式

open-code-review:基于CLI+Git+LLM的可审计代码审查新范式

1. 这不是又一个“AI写代码”工具——open-code-review的本质是重构代码审查的权力结构你有没有遇到过这样的场景:PR提了三天没人点合并,团队里资深工程师忙得连咖啡都顾不上续, junior同学写的逻辑明明有隐患,但Code Review Comm…

2026/10/19 3:26:09 阅读更多 →

最新新闻

制造业AI落地复盘(一):为什么大多数项目死在‘第一步‘

制造业AI落地复盘(一):为什么大多数项目死在‘第一步‘

【本文为个人实操经验总结,非商业推广。文中数据来源于多个制造业信息化项目的观察,仅代表个体项目情况。】过去两年,接手过十几家制造企业的AI项目。复盘下来,大部分项目失败的原因惊人地一致——不是技术选错了,而是…

2026/10/19 4:14:37 阅读更多 →
C++入门路线:从环境搭建到内存管理避坑指南

C++入门路线:从环境搭建到内存管理避坑指南

C入门这四个字,在外行眼里是兴趣的开始,在行家眼里却是“劝退率最高”的起点之一。作为一门老牌语言,C既要处理底层内存,又要支持面向对象和泛型编程,新手很容易在指针和编译错误里耗光耐心。但反过来看,只…

2026/10/19 4:14:37 阅读更多 →
3节点Hadoop+HBase分布式集群搭建实战与避坑指南

3节点Hadoop+HBase分布式集群搭建实战与避坑指南

1. 为什么今天还要亲手搭一套Hadoop加HBase先把结论摆在前面:如果你只是想跑个WordCount或者存几张测试表,用单机伪分布式五分钟就能糊弄过去。但只要你碰的是真实业务量级的数据——比如每天几千万条日志、需要按行键做毫秒级随机读写、还要保证节点挂了…

2026/10/19 4:14:37 阅读更多 →
Oracle expdp异地导出:核心机制、方案选型与避坑指南

Oracle expdp异地导出:核心机制、方案选型与避坑指南

做过Oracle数据库迁移的朋友,基本都碰到过这类需求:业务库在A机房,灾备库或报表库在B机房,甚至云上测试环境需要一份生产数据。大家第一反应往往是“远程敲一条expdp命令,直接把数据导到另一台机器上”。这个想法听着很…

2026/10/19 4:14:37 阅读更多 →
Oracle expdp异地导出全攻略:从参数配置到避坑指南

Oracle expdp异地导出全攻略:从参数配置到避坑指南

做数据库运维的人,基本都接过这种需求:生产库在A机房,分析平台或者灾备环境在B机房,业务方丢过来一句话,“把这几套核心业务schema的数据导到那边去”,然后留下一堆待办就消失了。这种工作落到执行层&#…

2026/10/19 4:14:37 阅读更多 →
ObjectARX自定义实体开发:从绘制、夹点到对象捕捉的完整实现

ObjectARX自定义实体开发:从绘制、夹点到对象捕捉的完整实现

简介:ObjectARX自定义实体简单实例是一套面向AutoCAD二次开发者的C示例工程,聚焦ObjectARX自定义实体的核心开发流程。其中以一条自定义直线实体为主线,完整演示了实体类继承、DXF/DWG数据读写、worldDraw屏幕绘制、数据库注册以及扩展命令调…

2026/10/19 4:13:37 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 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/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 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/19 2:54:50 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →