板卡还没接上,先把状态机想明白
新学期的 Vivado 作业也来了。板卡暂时还没接到电脑上,所以今晚没有急着开始堆代码,而是先把题目功能、系统流程、状态设计、模块拆分、仿真和最后报告的结构全部规划清楚。
以前做 FPGA 作业时很容易从 Verilog 第一行直接开始写,写到后面才发现状态边界没想清楚。现在反而更愿意先把状态机、接口和验证点定下来,再让工具链去实现。
等板卡回来之后,仿真、综合、bitstream 和板级验证会接着补上。希望这次也能顺便检验一下前几天刚整理好的 Vivado AI 自动化流程到底够不够稳。
WAVE 终于上架鸿蒙商城了
今天终于可以把“WAVE App 上架鸿蒙商城”这句话写成过去式了。
之前做 AppGallery Connect、测试、审核、展示材料时,它一直更像一个待完成的里程碑。真正看到应用出现在商城里之后,Cloud / Client / App 三端这件事一下子具体了很多。
晚上又单独给它做了一页展示 PPT。对比赛来说这是一张证明图;对我自己来说,它更像一个时间戳:这个项目终于有一部分真正离开了开发环境,进入了普通用户能看到的位置。
比赛前的 PPT 冲刺,比写代码更像产品经理
这两天几乎一直在给 WAVE 做展示页:训练、部署、国产芯片兼容、应用证明、团队页、竞争优势,一张一张往前推。
最费脑子的反而不是把信息塞进去,而是不断删。评委不会在一页 PPT 上读完整技术文档,所以要把“我们做了什么”压缩成“为什么这件事值得记住”。截图要保留真实性,文字又不能压过画面,芯片和平台的 Logo 还得真的对应实际能力。
做着做着发现,这其实是在逼自己重新理解项目。代码里可以同时有几十个功能,但一页 PPT 只能留下最重要的几个答案。
班务也开始有自己的 Agent 了
最近把 QQ 的读取、回复、文件收发能力重新整理了一遍,顺手又往前走了一步:给重复的班务工作做一个长期 Agent。
我不希望它变成一个自动替我发消息的机器人。更合适的角色是先帮我查通知、找文件、整理提交情况、核对节点,把真正需要判断和对外发送的部分留给我。
以前觉得 Agent 最重要的是“能做多少事”,现在越来越觉得“知道哪些事不能擅自做”同样重要。校园事务很碎,但也刚好适合用这种方式一点点结构化。
把老师预约做成一个真的能用的小系统
今天继续折腾预约系统。原本只是想让同学选一个时间,做到后面才发现真正难的是规则:连续多个 30 分钟时段、取消逻辑、老师不可用时间、法定节假日、周视图、24 小时制、预约和取消通知,还有大陆直连。
这种小工具特别容易“功能都写了,但实际不好用”。我现在更在意的是把交互收拾干净:学生不需要理解后台规则,老师也不用维护一张复杂表格。能把一件重复的小事变成稳定入口,本身就挺有成就感。
先备份,再谈修盘
E 盘最近状态不太让人放心。今天没有急着修复,而是先把优先级重新排了一遍:能重新下载的游戏和软件不着急,自己的文档和工程才是真正不可替代的东西。
最后先处理了最重要的资料和 Vivado 工作区备份。以前总觉得“文件还在盘里”就等于安全,这次算是被提醒了一次:真正的备份不是知道数据在哪,而是在原盘失效之后仍然有第二条路能拿回来。
把 DevSpace 的能启动改成能重复启动
这几天最值得记一笔的不是某个新功能,而是一条我每天都要经过的基础设施终于没那么脆了:本机 DevSpace + OpenAI Tunnel 的启动链连续暴露了两个很典型的问题。
第一轮故障看起来像密钥或 DevSpace 本体坏了,逐层拆开后才发现真正的依赖在更前面:本地代理没有起来,启动脚本就直接退出;与此同时,DevSpace 偶尔又会比原先写死的 20 秒健康检查窗口更慢。最后把启动链改成了先确认代理就绪,再启动服务,并把健康等待放宽到 45 秒。回归时 DevSpace 和 Tunnel 的健康端点都能正常返回 200。
第二天又碰到另一类边界条件:端口已经被占用,但占用它的其实就是上一轮留下来的健康 DevSpace。旧脚本因为状态文件缺失,无法证明这个进程是谁,于是宁可报错退出。这个保护原则本身没错——不能看到端口占用就随便杀进程——问题在于缺少“安全复用已知健康实例”这条路径。后来补上了进程路径、命令行和健康签名的核验:身份一致就接管并继续启动 Tunnel,身份未知仍然拒绝动它。重复启动也做了验证,已经运行时直接复用并以成功状态退出。
这次让我更确定一件事:给 Agent 用的本地工具链,稳定性不只是“第一次能跑通”。真正影响体验的是幂等性、健康检查、依赖自举和失败时是否保守。一个启动按钮如果需要我先记住代理、端口、残留进程和状态文件的组合,它就还不算基础设施。
让 ChatGPT 和 Codex 一起补博客历史
博客已经一个多月没有认真更新,偏偏这一个月又是项目最密集的一段时间。今天开始补历史时,我不想只凭聊天记忆写“最近做了很多事”,于是把 ChatGPT 的长期上下文和 Codex 本地会话放在一起,对照项目 Git 记录重新建时间线。
筛选规则也定得比较严格:主会话当骨架,guardian 和 subagent 只用来验证结果;真实发生日期保留;已经写过的事情不重复;密钥、账号、本机路径和私人信息在进入博客前全部过滤。
这次补写本身也成了一个新的工作流:历史对话负责找线索,本地记录负责证明事情真的发生过,content-inbox 负责导入,构建和 Git diff 负责最后把关。以后如果能定期跑,就不用再隔一个月做一次“数字考古”了。
DevSpace 被我误删之后
今天清理电脑时不小心把 DevSpace 一起卸掉了,结果 ChatGPT 侧几个正在依赖本机文件的任务当场中断。以前一直把 MCP 当成“接上就能用”的基础设施,这次才发现它已经真的成了工作流里的依赖。
晚上重新把稳定服务和 OpenAI Tunnel 拉起来,又补了几层自愈:残留状态能重新识别,重复启动不会再起第二份服务,连接固定走本机回环,也尽量不碰已经存在的代理进程。
最后健康检查和 Tunnel 就绪检查都恢复正常。一次误删反而逼着我把“能启动”升级成了“异常后还能自己恢复”。
6/6 ready,不等于 6/6 跑通
今天重新按“真实完整闭环”核验 WAVE 的六个 Demo,结论有点刺眼,但很有必要。
数据、固定划分、TaskSpec 和实施材料已经是 6/6 ready;六个案例也都可以开始继续做训练适配。但如果标准换成“平台标注 → 真实训练 → 固定测试 → 模型部署 → Workflow 业务输出”,目前是 0/6。
平台里确实有一条本地 YOLO 小样例跑过完整链路,可它不能替分割、分类和跟踪证明什么。分割还缺 mask 的完整训练与部署,跟踪还缺跨帧视频状态,分类也有自己的 runner 和评估缺口。
这次复盘让我觉得,项目进度最好少用“准备完成”这种容易让人误会的词。以后写 6/6 时,要同时说清楚分母到底是什么。
第一次真的准备把自己的 App 送进应用商店
今天 WAVE-app 的工作突然从“把 HarmonyOS 页面做出来”变成了“这东西真的要交给应用商店审核”。
图标、主题和模拟器只是最显眼的一层,真正麻烦的是后面那一串:隐私政策、用户协议、数据删除说明、首次启动同意、撤回同意、Release 门禁、签名、生产接口和审核材料。尤其是隐私同意前不能恢复登录、访问业务网络、读取业务缓存或申请相机,这些边界必须写进程序,而不是只写在政策页里。
最后测试版的签名链和隐私门禁都跑通了,但距离正式送审仍然有生产环境、真机验收和资质材料要补。第一次很具体地感受到:一个“能运行的 App”和一个“能发布的 App”真的不是一回事。
六个 Demo 的 29 GB 行李箱
今天终于把 WAVE 六个跨学科 Demo 的数据整理成了一套能交给队友的分发包:通信、医学、交通、化工、集成电路、反无人机,总计约 29.3 GB。
这一步比“把数据下载下来”麻烦不少。通信案例原计划的数据源因为共享配额一直失败,只能换成真正能稳定取得的频谱检测数据;每个案例还要配固定划分、TaskSpec、实施说明和校验信息。最后 12 个归档或分卷都重新做了完整性测试。
现在至少可以确定,队友拿到的不是六个散落在硬盘里的文件夹。不过有些数据的再分发许可还需要谨慎,所以这套包先限定在项目组内部使用。
这次不是清缓存,是给电脑搬家
六月已经做过一次保守的 C 盘清理,所以今天 C、D 盘一起告急时,我不想再把故事写成“又删了一堆缓存”。这次真正做的是存储治理:先区分可重建缓存、工具安装、本地项目和用户数据,再决定清理还是迁移。
最后 C 盘可用空间从约 20.3 GB 回到 31.9 GB。除了临时文件和日志,还完成了一批经过校验的大文件迁移,DevEco 也改到 E 盘运行,并保留安全快照。遇到仍被占用的少量文件,没有为了数字好看强删。
感觉这比一键清理脚本靠谱得多。电脑空间问题很多时候不是“垃圾太多”,而是软件、缓存、项目和大文件长期没有明确的存放策略。
VLM + PPU,新比赛项目开张
今天正式把 AI+ 创新应用大赛赛道二的项目搭起来了:VLM 高效推理与优化,目标平台是 PPU,主线围绕 Qwen VLM、量化、算子和推理性能优化。
我不想让仓库从一份“比赛计划”开始,所以第一天就把真实模型加载、结果门禁、Accuracy、TTFT、CUDA profile、PPU 兼容性和重复 benchmark 的骨架一起做了。哪些是在本地 GPU 上验证的,哪些必须等目标 PPU 环境才能下结论,也写进了边界说明。
新项目最容易在第一天什么都想做。今天反而最大的收获是先把“什么才算 PPU 部署完成”说清楚:没有目标设备上的真实模型、真实指标和可复现实验,就不能把兼容性调查写成部署成功。
把雅思 7 分变成一条长期任务
这几天正式把雅思备考从“暑假有空学一下”改成了一条长期任务,目标也定得很明确:7 分。
我现在最缺的不是再收藏一堆资料,而是稳定输入。词汇计划最后定成每天 50 个,不只背中文意思,还要记常见搭配、语境,再配一点当天的小题。口语也准备长期练,重点是别一紧张就退回最简单的句子。
这种目标跨度接近一年,很容易前两周很勤快,后面就失去节奏。所以这次更想把它做成一个能持续提醒、练习、反馈和复盘的系统,而不是一次新的学习计划表。
一次保守的 C 盘清理
今天让 Codex 查了一次 C 盘。桌面上的清理脚本已经扫不出什么东西,但 C 盘还是只剩二十来 GB。
最后没有乱删,整次检查按白名单走:先看现有脚本,再看 NVIDIA 更新缓存、VS 安装残留、Conda、Docker、浏览器缓存和 Windows 临时目录。真正确认安全的大头只有两个:NVIDIA App 的 ota-artifacts,还有一个 Visual Studio 安装展开残留目录。
清理前后重新量了一次空间,C 盘从大约 19.86 GB 可用变成 26.48 GB,可回收的白名单项基本清空。
这件事给我的提醒是:所谓“清缓存”最危险的地方在于太容易把名字像缓存的真实数据一起删掉。保守一点慢很多,但至少不会把电脑维护变成一次事故。
Hermes + Codex + Claude Code 新工作流
Hermes、Codex、Claude Code 可能要变成我接下来最常用的一套工作流了。
Hermes 的插件能力很强,可以同时控制 Codex 和 Claude Code,还能更好地兼容 QQ、微信、飞书这些国产软件。以前很多 AI 工具只适合待在代码编辑器里,现在 Hermes 更像是把这些工具接到了真实桌面环境上。
如果后面继续完善下去,它也许真的会变成我的私人管家。
计算机组成原理好难
计算机组成原理好难…
全英文的 PPT 和书本看得头大,课后题也一点不会。概率论还要背一堆东西,信号也不会,电磁场再这样下去真的要挂科了。
感觉最近所有课都在一起加压,脑子像被塞满了还没整理的缓存。
配置 MiMo Code 红温了
配置 MiMo Code 红温了。
MiMo 原生还没有自定义 API,我自己写脚本倒腾了半天,结果又撞上它独特的 thinking 返回机制。DeepSeek 之类的推理模型会返回 reasoning_content,但 MiMo 再把工具结果发回模型时没有把这段 reasoning 原样带回去,NewAPI 就按 400 拒绝了。
更难受的是,MiMo 的第三方插件还很不完善,很多地方不像是“配置一下就能用”,更像是“先自己修到能跑”。只能说这玩意还远没有达到能用的程度。
逆天 AI 工具链
今天用 Codex 配置了 Antigravity,用 Antigravity 配置了 Claude Code,用 Claude Code 配置了 VSCode,再用 VSCode 内置 agent 接入中转的 Claude 写代码。
一圈绕下来,感觉自己不是在写代码,而是在搭一条 AI 工具之间互相启动、互相配置、互相递归的传送带。
什么逆天工作流。
引体做到 16 个
健身半学期,引体终于一次做到了 16 个。不是突然变强,而是每周都固定去练,状态差的时候也没有完全断掉。
这个数字对我来说挺具体,也挺有成就感。后面想把训练记录做得更稳定一点,不只靠感觉判断进步。
把博客栏目重新整理了一遍
今天把文章和栏目拆得更清楚:文章按修改时间更新,栏目负责长期归档,日记就留几句话。
这样主页不会一直堆卡片,之后写新内容也更像维护一个小实验室,而不是不断往首页贴东西。
给昇腾 310 文章补了插图
把 Atlas 200I DK A2 的照片放进了部署验证链那篇文章。硬件图比纯文字更直观,读者能马上知道这篇不是只在讲抽象流程。
后面如果有转换日志、性能截图或接线图,也应该放到同一个文章图片目录里。
把工作歌单嵌进了博客
工作时适合听什么这篇文章里加了网易云歌单播放器。写代码、看日志和整理文章的时候,稳定节奏比强情绪更重要。
如果浏览器或网络不支持内嵌播放,至少也保留了歌单链接。
评论 0 条