Pi 1.0:原生MCP与Durable机制让终端编程代理稳定跑长任务

这段时间我一直在终端里折腾各种编程代理,从只能简单对话的小工具一路用到能自己改代码、跑测试的那种。说实话,工具见得越多,越能感受到一个共性难题:模型能力再强,落地到真实工程里,很容易折在“不稳定”三个字上。正好 Pi 1.0 正式发布了,这次升级的两大核心是原生 MCP 支持和 Pi Durable 持久化执行机制。在我看来这不只是加了两个新功能,而是把终端编程代理从“一个会话里临时聊天的助手”推向“可以长期托管任务执行体”的方向。如果你平时重度依赖命令行、喜欢把工作流写进脚本里,或者经常遇到任务跑到一半突然断掉、只能重来的情况,这篇文章应该能帮你少踩不少坑。

1. 为什么说 Pi 1.0 不只是一次常规迭代

1.1 终端编程代理过去最让人抓狂的三件事

先说我在真实项目里反复遇到的三个问题,应该也是很多终端代理使用者的共同痛点。

第一是会话上下文无法延续。普通终端代理的对话状态基本绑定在进程内存里,一旦你把终端窗口关了,或者机器重启,之前喂给模型的背景信息、已经完成的修改、当前进行到一半的计划,全部归零。第二天打开电脑想“接着昨天的任务继续”,会发现代理一脸茫然,只能把需求重新说一遍。

第二是工具接入太碎片化。市面上多数代理都有自己的一套工具调用协议,有的用 JSON Schema 定义,有的用自然语言描述塞进系统提示词里,有的靠插件体系。配置不通用,换一个工具就要重新适配一遍。真正需要对接代码仓库、测试框架、部署脚本、知识库这些外部系统时,你往往要写一堆胶水代码,或者忍受不稳定的“半官方适配器”。

第三是长任务中断等于全部重来。网络超时、模型服务的限流、进程被杀、本地网络切换,都可能让一个执行到一半的任务直接失败。更痛苦的是,那些已经完成的步骤不会被打上“已完成”标记,重跑一遍不仅浪费时间,还可能因为重复修改代码产生冲突。

这三个问题单独存在时都还能忍,一旦叠加在一起,就会让人觉得终端编程代理只能处理半小时以内的小事,稍微大一点的改造任务根本不敢交给它。

1.2 原生 MCP 和 Pi Durable 到底改变了什么

Pi 1.0 对上述问题的回应,恰好落在两个核心能力上。

原生 MCP 解决的是“工具接入碎片化”的问题。MCP 定义了模型与工具之间的标准化交互方式,你可以把任意支持 MCP 的服务接到 Pi 上,不需要为 Pi 单独写一套工具封装。更重要的是,它是“原生”的,不是靠外部桥接进程转一道,这意味着工具清单同步、鉴权处理、调用状态维护都发生在 Pi 核心进程内部,稳定性明显好一个档次。

Pi Durable 解决的则是“任务中断就丢”的问题。它把任务执行状态落到磁盘上,并且支持恢复点、幂等执行、后台队列。说得直白一点,以前跑任务像直播,断线就断了;现在跑任务像拍连续剧,每一集都存档,下次开机可以从最近一集接着演。

这两个能力叠在一起,日常开发体验会发生一个挺微妙的变化:以前只敢让代理做“点状操作”,比如改一个函数、写一个测试;现在可以给它一个“带状任务”,比如跨多个文件做一次重构、跑完一轮测试、再根据失败信息迭代修复。这个过程可能持续十分钟甚至半小时,中途就算模型服务不稳定,Pi 也会把状态留住。

2. 原生 MCP:从“各家自建工具接口”到“一个协议管所有”

2.1 MCP 的本质是一套工具接口标准

MCP 就是 Model Context Protocol,可以把它类比成终端设备里的 USB 接口。在 USB 普及之前,键盘、鼠标、打印机各自用专属接口,换一个外设就要换一根线,接口标准不一,驱动也得单独装。MCP 做的事情,就是把“模型调用外部工具”这件事标准化:客户端(也就是 Pi)负责发起请求,服务端(MCP Server)负责暴露工具、资源、提示词。模型通过标准格式了解有哪些工具可用,以及怎么调用它们。

这里面有个关键点:MCP Server 并不关心你用的是哪个模型。它可以是一个本地命令行进程通过 stdio 通信,也可以是一个 HTTP 服务通过流式接口通信。不管哪种形态,暴露出来的都是同一套协议。所以同一个 MCP Server,今天可以服务 A 代理,明天可以服务 Pi,后天可以服务另一个支持 MCP 的工具,配置成本不会重复累积。

我在 Pi 1.0 之前试过用第三方桥接方案把 MCP 工具接进来,效果总是不够好。核心问题在于桥接层有自己的生命周期,父进程一旦被系统调度挂起、网络抖动或者超时,桥接层的状态就和主会话脱节。原生支持就不一样,Pi 客户端进程直接管理连接和请求分发,工具列表、调用历史、鉴权凭证都能和任务状态一起被 Durable 层持久化。

2.2 原生接入带来的三个使用变化

第一个变化是工具发现变聪明了。以前要在系统提示词里手工写“你有以下工具可用:A、B、C”,每个工具什么参数、什么约束,都要用自然语言描述。现在 Pi 启动时直接从已配置的 MCP Server 拉取工具清单,工具名、描述、输入输出 Schema 全部规范化。模型决策时看到的是一份机器可读的工具清单,精准度比手写提示词高很多。

第二个变化是工具元数据和调用过程可以随任务一起存档。MCP 调用记录会进入 Pi 的会话日志,这些日志又会被 Durable 机制覆盖。任务中断后恢复,模型不仅知道自己原本的总体目标,还能看到此前每一步调用了哪些工具、拿到了什么返回结果。这个能力很实用:如果一个任务要跑 20 步,跑到第 12 步中断,恢复后代理能直接沿用前 12 步的上下文,而不是把前 12 步的结果全部重新猜一遍。

第三个变化是生态可以直接复用。现在很多基础设施已经提供 MCP Server 接口,比如代码搜索服务、文档检索、浏览器自动化、数据库操作层。只要这些服务对外暴露 MCP 端点,Pi 就能直接使用。不需要为 Pi 重新开发插件,也不需要依赖某个特定厂商的工具格式。我实测下来,接入一个标准的 MCP Server 耗时基本是分钟级的。

2.3 配置一个 MCP Server 的完整示例

Pi 1.0 的配置文件用的是 TOML 格式,如果你之前配置过其他类似工具,上手几乎无成本。下面是一个我实际用过的配置片段:

[model] provider = "openai-compatible" model = "default-reasoning" base_url = "http://127.0.0.1:8000/v1" env_file = ".env" [mcpServers.local_git] command = "pi-mcp-git" args = ["--repo", "/absolute/path/to/project"] [mcpServers.project_docs] transport = "http" url = "http://127.0.0.1:8931/mcp" headers = { Authorization = "Bearer ${DOCS_TOKEN}" } [durable] enabled = true store_dir = "./.pi/task-store" resume_policy = "auto"

配置好之后,用命令同步工具清单:

pi mcp list-tools

如果一切正常,你会看到类似这样的输出:

local_git: - git_status - git_diff - git_commit - git_create_branch project_docs: - search_docs - get_doc_detail

这里有两个容易踩的细节。第一,本地 MCP Server 的command字段,路径写相对路径很容易出问题,因为 Pi 进程的工作目录可能和你预期的不一样,建议写成绝对路径。第二,带鉴权的 HTTP 服务,不要把 Token 直接硬编码进 TOML 文件,用${DOCS_TOKEN}这样的环境变量引用更安全。我之前图省事直接把 Token 写进配置,后来查看历史文件时发现敏感信息被记录到了磁盘,才意识到这个问题。

3. Pi Durable:任务跑到一半断了,居然还能捡回来

3.1 会话、进程崩溃与状态丢失之间的死结

传统终端代理丢掉进度,本质上是把“执行状态”放在了一个短命容器里。终端会话本身是临时性的,进程退出、网络断开、机器休眠都可能导致状态蒸发。模型推理又是一个多步骤决策过程,每一步的中间结果如果只存在于当前进程的内存中,那任何一步失败都会让整个决策链条归零。

我之前遇到过一个典型的例子:让代理跨三个模块做一次接口迁移,它已经改完了第一个模块,正在改第二个模块时,本地网络切换导致模型服务连接中断,整个会话直接报废。重跑一遍之后,它甚至不记得第一个模块已经改过了,差点把同一个文件再改一遍,造成重复修改。

Pi Durable 的思路不是去保证进程永远不崩溃,而是把“崩溃后可恢复”作为基础设施来做。它默认认为外部环境是不可靠的,所以干脆把每一项重要状态都落到磁盘,在合适的位置埋下恢复点。

3.2 恢复点与幂等执行是怎么设计的

Durable 的核心机制可以拆成两块。

第一块是状态持久化。每个任务在 store 目录下有一个独立的任务 ID,目录内部记录任务描述、目标、当前执行步骤、每一步的输入输出摘要。恢复时,Pi 会读取这些信息,把“任务目标 + 已完成步骤摘要 + 下一步指令”打包给模型,形成一个可续跑的上下文。

目录结构大概长这样:

.pi/task-store/ task_8f1c2a/ meta.json steps/ 0001.json 0002.json 0003.json attempts/ 0001_attempt.json 0002_attempt.json

第二块是幂等执行。这是比“存档”更复杂一点的东西。光有存档还不够,恢复后如果盲目把已经执行过的步骤再执行一遍,在改动文件、调用外部 API 这些场景下会造成副作用。Pi 的解决办法是给每一步执行分配唯一 ID,并且在执行前记录该步骤的输入摘要。恢复执行时,如果发现某个步骤已经执行过且摘要匹配,就直接标记为完成,不再重复触发。文件修改场景下,它还会对比当前文件哈希和步骤记录里的文件哈希,只有不一致时才重新处理。

可以这么理解:普通断点续传只是把文件下载到一半的进度保存下来;Pi Durable 还额外记录了你下载的“内容指纹”,续传时不需要重下整个文件,只需从内容不一致的位置继续。

3.3 新增的“任务队列 + 后台运行”形态

除了被动的崩溃恢复,Pi Durable 还给了开发一个更有意思的主动用法:把任务丢到后台跑。

我现在的日常工作流里,经常是这样执行的:

pi run "重构 utils 模块的日期解析函数,保持 API 不变,同时补充时间边界测试" --background

命令执行后,Pi 会立刻返回一个任务 ID,然后告诉你任务在后台运行:

Task started: task_8f1c2a Queue position: 0 Logs: .pi/logs/task_8f1c2a.log

你可以用pi status查看整体状态,用pi logs <task_id>流式查看日志。最爽的是,这个任务就算跑到一半系统重启了,重启之后执行pi tasks你会看到它仍然在列表里,并且提示可恢复。执行pi resume task_8f1c2a,它就能从最近的恢复点继续。

这种做法把终端代理从“必须时刻盯着对话窗口”的模式里解放了出来。你可以上午把一个大任务丢给它,然后去开会、写另一份文档、或者跑别的命令,下午再回来看结果。相当于给终端编程代理加了“异步执行”能力。

3.4 这个功能该怎么用才不踩雷

Pi Durable 确实好用,但也不是万能的。我用了这段实践下来,有几个边界必须提醒一下。

第一,它不是“万事自动重试保险”。恢复之后,模型会根据存档的上下文继续,但如果中断发生在一个外部副作用已经完成、状态还没记录的窗口里,依赖幂等设计能规避一部分问题,却不能覆盖所有场景。涉及发消息、写生产数据库、推送线上变更这类操作,恢复后最好人工确认一遍。

第二,状态快照会占磁盘。任务越复杂,steps 和 attempts 目录膨胀越快。我刚开始用的时候,跑了两个大任务之后发现.pi目录已经占了几百兆。建议设置合理的任务保留策略,比如任务成功完成后只保留 meta 和最后一步摘要,把中间的 attempts 清理掉,或者定期执行pi tasks prune。

第三,恢复上下文的质量取决于模型能力。如果模型对“已完成步骤摘要”的理解不够,恢复后可能还是会做出和之前矛盾的决策。我的经验是,配置模型时优先选工具调用能力稳定的模型,这类模型在读取结构化步骤记录时表现明显更好。

4. 从安装到跑完一个真实任务:手把手流程

4.1 安装与初始化:两条命令进入状态

Pi 1.0 的安装过程不算复杂,不同系统安装方式略有差异,最简单的方式是通过包管理工具拉取发行版,也可以从源码构建。安装完成后,先初始化一个项目工作区:

pi init --name my-project --model default-reasoning

初始化会生成上面提到的 TOML 配置和.pi目录,然后提示你配置模型服务的访问信息。这里我的建议是:模型相关的密钥统一写到.env文件里,不要在 TOML 里直接暴露。配置好之后可以先跑一条简单命令验证链路:

pi run "检查当前目录下的 README.md 是否存在,如果存在就提取第一段内容"

如果这条命令能正常返回结果,说明模型通道和基础执行链路已经打通。

4.2 必会的日常命令清单

我平时最常用 Pi 的命令基本就下面这些,整理成了一张表:

命令作用说明
pi mcp add <name> --command <cmd>添加 MCP Server支持 stdio 和 HTTP 两种传输方式
pi mcp list-tools查看当前可用工具排查工具没有加载时的第一步
pi run "<任务描述>"前台运行任务适合短小、需要实时交互的任务
pi run "<任务描述>" --background后台运行任务适合长耗时任务
pi status查看任务队列与状态包含任务 ID、当前步骤、耗时
pi logs <task_id>查看任务日志配合-f参数可以流式查看
pi resume <task_id>恢复已中断任务从最近恢复点续跑
pi tasks prune清理历史任务产物控制磁盘占用

一开始不需要记太多命令,掌握run、status、resume就能覆盖 90% 的核心场景。其他命令用到再查文档也不迟。

4.3 实战:让 Pi 完成一次带测试的模块重构

说一个我做过的真实任务。项目里有个日期解析模块,函数逻辑冗长,边界情况处理得也不好。我给它下了个任务:

pi run "重构 src/date_parser.py,保持对外 API 不变,拆分主函数为多个小函数,并补充跨年、闰年、时区边界测试用例,最后运行 pytest 并修复失败用例" --background

任务在后台跑起来之后,我正常做别的事。中途看了一下状态,它已经完成了代码拆分,正在生成测试用例。过了大约二十分钟,我再去看日志,它已经跑完三轮测试,并且把最后一轮测试失败的原因定位到了某个边界条件,做了针对性修复。整个过程里我没有干预过一次。

值得注意的是,这个任务里有好几个环节依赖外部工具:读取项目文件、生成测试文件、运行 pytest、分析失败结果。这些环节全部通过 MCP 工具完成,工具调用记录也被写进了 Durable 任务存档。如果中途断掉,恢复后它依然知道自己改过哪些文件、测试跑到什么状态,不需要重新读一遍整个项目。

4.4 把 Pi 塞进你已有的工作流

Pi 并不一定要取代你现有的开发环境,我倾向于把它当作一个可以随时调用的“工程执行体”。如果常用 tmux,可以在一个专门窗口里跑 Pi,另一个窗口继续写代码,两边互不打扰。脚本化使用也很舒服,比如在 CI 流水线里用非交互模式跑一次批量重构,或者配合定时任务做代码库巡检。

对于熟悉 IDE 的开发者,我的建议是把它当作 IDE 之外的补充。比如跨文件重构、大范围测试修复、依赖升级这类工作,IDE 里手动操作费时费力,交给 Pi 反而更快。它和 IDE 不是竞争关系,一个擅长交互式编辑,一个擅长长时间任务托管,正好互补。

5. 遇到这些问题,按照这个顺序排查

5.1 MCP 工具没出来的通用排查顺序

我遇到的第一个高频问题是配置好 MCP Server,但pi mcp list-tools里看不到预期工具。排查顺序基本是固定的:先用pi mcp list-tools --verbose看连接日志,确认服务端有没有被拉起;再看命令行路径是否绝对路径,因为 Pi 启动子进程时不一定继承你当前 shell 的全部环境变量;然后检查鉴权信息是否成功注入,尤其是用${VAR}引用环境变量的场景;最后确认超时设置,如果 MCP Server 启动耗时较长,默认几秒超时可能不够,需要在配置里调大timeout_seconds。

我自己踩过的最蠢的坑,是配置里写了相对路径,换个目录启动 Pi 后工具直接全部消失。排查了半小时,最后发现只是路径解析不一致。

5.2 任务恢复后上下文对不上的处理

pi resume之后,偶尔会遇到模型对任务状态的理解出现偏差,比如它不记得已经改过某个文件,准备重新改一遍。这种情况多半不是因为持久化失败,而是因为恢复时喂给模型的“已完成步骤摘要”被上下文窗口截断,或者摘要本身太长被压缩得失去了关键信息。

处理方式有两个方向。一是配置里将resume_policy从auto改成ask_confirm,恢复前先人工确认摘要内容,避免盲目续跑;二是在任务描述中明确要求“每一步完成时在日志里同步记录修改文件路径和关键结果”,这样摘要结构会更利于模型快速定位状态。实测下来,模型推理能力越强,恢复时的决策质量越高。

5.3 长时间后台任务占用过高怎么办

后台任务跑太久,可能出现两类问题。一类是日志文件持续膨胀,占满磁盘空间;另一类是并发任务太多,本地资源被吃满,影响日常开发。解决思路是给任务设置并发上限,同时连同日志一起控制保留时长。

我在团队里实践过的做法是:定期执行pi tasks prune清理已完成任务产物,日志文件按天轮转,只保留最近七天。另外像 pytest 这类重负载子进程,如果 Pi 同时派发多个任务,可以考虑在配置里限制同一时间段只允许一个任务执行,排队等待。

5.4 问题速查表

现象可能原因解决方式
MCP 工具列表为空MCP Server 进程未启动或路径错误改用绝对路径,检查--verbose日志
MCP 调用超时服务端启动缓慢或网络延迟调大timeout_seconds,确认鉴权成功
恢复后模型做出矛盾决策摘要太长被截断、上下文信息丢失将resume_policy设为ask_confirm,人工确认摘要
任务日志占用过高长任务日志未轮转设置日志轮转和保留天数
磁盘被.pi目录占满steps/attempts 大量堆积执行pi tasks prune,配置成功任务自动清理
多个任务互相抢资源并发任务数量无限制设置max_concurrent_tasks,排队等待
子进程找不到依赖命令Pi 环境未继承 shell 的 PATH在系统环境里补全 PATH,不要在配置里依赖默认值

5.5 几个我实测后特别想提醒的点

最后说几个零散但实用的心得。

MCP Server 的配置路径这条我再强调一次:只要能写绝对路径,就不要写相对路径。配置文件里有一处相对路径,就意味着你必须在特定目录下启动 Pi 才能正常工作,这会在团队协作或换机器时浪费大量时间。

另外,Durable 能恢复任务,不等于所有操作都是绝对安全的。它本质上是“把中间状态记录下来,允许任务恢复”,而不是“出错之后自动帮你纠正”。涉及外部副作用的操作,比如发送通知、写共享数据库、触发远端流水线,恢复后一定要先看日志确认上一步是否已经生效,再做下一步。

还有一个小技巧是,复杂任务描述里尽量包含明确的验收条件。比如“重构完成后运行 pytest,保证全部测试通过”比“帮我优化代码”要可靠得多。验收条件越明确,任务恢复后的偏差就越小。这算不上新知识,但在带 Durable 的长任务场景下,收益会被放得很大。

相关新闻

Win32逆向实战:查壳静态分析提取Flag全流程

Win32逆向实战:查壳静态分析提取Flag全流程

前阵子刷题碰到一道名叫 JustRE 的 Windows 逆向题&#xff0c;题目不大&#xff0c;却把查壳、字符串定位、静态反编译、动态调试这几个基本功全串起来了。这道题没有加壳、没有反调试、逻辑也直白&#xff0c;非常适合刚接触逆向的新手拿来练手。整个分析走下来&#xff0c;从…

2026/10/20 17:01:22 阅读更多 →
大数据项目中的“脏活”:数据清洗全流程策略与实操指南

大数据项目中的“脏活”:数据清洗全流程策略与实操指南

EXISTS a data-quality problem is what usually kills a big-data project, not the algorithm. 我见过太多团队把精力花在调模型上&#xff0c;结果进模型的数据全是乱的&#xff0c;跑出来的结果连业务方自己都不敢信。数据预处理里最难、最耗时的环节就是数据清洗&#xff…

2026/10/20 17:00:21 阅读更多 →
VideoLineForJS:海康视频回放高精度Canvas时间轴控件

VideoLineForJS:海康视频回放高精度Canvas时间轴控件

简介&#xff1a;VideoLineForJS 是一款轻量级视频回放轴 JavaScript 实现&#xff0c;专为对接海康威视等安防设备的前端视频回放场景设计&#xff0c;适用于前端开发人员快速集成时间轴控件&#xff0c;解决视频流中按时间点精准跳转、区间高亮标记与回调监听等核心交互需求。…

2026/10/20 17:00:21 阅读更多 →

最新新闻

基于CAN总线的DSP28335 IAP在线升级方案与Bootloader设计详解

基于CAN总线的DSP28335 IAP在线升级方案与Bootloader设计详解

做DSP28335应用开发的人&#xff0c;基本都体会过一种尴尬&#xff1a;整机已经装配完毕&#xff0c;外壳固定好了&#xff0c;或者设备已经在现场跑了大半年&#xff0c;这时候突然要改一个控制参数、修一个不起眼的逻辑bug&#xff0c;拿JTAG下载器过去才发现&#xff0c;拆机…

2026/10/20 17:51:45 阅读更多 →
持续交付平台架构选型与工程实践指南

持续交付平台架构选型与工程实践指南

我无法基于当前输入完成符合要求的博文创作。 原因如下&#xff1a; 输入中仅提供了项目标题 "Harness Engineering 全景深度调研" &#xff0c;但未提供任何实质性的【项目正文】、【关键词】或【摘要描述】&#xff1b; 所附“相关热搜词”与“最新网络热词”…

2026/10/20 17:51:45 阅读更多 →
AI周报:端侧小模型、合成数据与多模态质检的落地观察

AI周报:端侧小模型、合成数据与多模态质检的落地观察

国庆假期回来&#xff0c;先补上周报。这八天里AI圈其实没闲下来&#xff0c;我从开源社区、模型仓库、几个行业群里观察到的信息整理了一下&#xff0c;发现三条主线最值得聊&#xff1a;端侧小模型集中突破、合成数据从辅助变成主料、多模态模型在工业质检场景里真正开始跑产…

2026/10/20 17:51:45 阅读更多 →
卷积神经网络CNN:从原理到工程部署的实战总结

卷积神经网络CNN:从原理到工程部署的实战总结

1. 从一条卷积计算开始&#xff1a;CNN到底在算什么先说个我自己的体验。当年第一次接触卷积神经网络时&#xff0c;找了一堆资料来看&#xff0c;结果越看越糊涂。网上教程大多从“图像分类任务”讲起&#xff0c;上来就是“把图片输入网络&#xff0c;输出类别概率”&#xf…

2026/10/20 17:51:45 阅读更多 →
2026年AI测试工具五大断代性突破与实战效能解析

2026年AI测试工具五大断代性突破与实战效能解析

1. 这场变化的底层逻辑说实话&#xff0c;2026年再谈“AI测试辅助”&#xff0c;已经有点过时了。术语都要换一换了——现在圈子里讨论的&#xff0c;是“测试智能体”“大模型驱动的生成式测试”“自主决策的探索引擎”。我在某大型互联网公司做质量保障这块&#xff0c;过去一…

2026/10/20 17:51:45 阅读更多 →
从16年大厂老兵到AGI创业CEO:系统工程思维如何撑起大模型之路

从16年大厂老兵到AGI创业CEO:系统工程思维如何撑起大模型之路

在AI大模型最火热的这几年&#xff0c;行业内最不缺的两种叙事&#xff0c;一种是“某名校天才带着炫目光环拿了多少融资”&#xff0c;另一种是“某大厂高管离职创业、估值一夜翻倍”。相比之下&#xff0c;我更愿意写一种不太会炒作的人&#xff1a;在跨国科技巨头里扎扎实实…

2026/10/20 17:50:44 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →