我在干什么#
Tauri#
最近又有新的需求,决定拿 tauri 糊。serialport 用着没啥问题。
tauri 有个 tauri::ipc::Channel 可以直接作为 #[tauri::command] 的参数,前端那里放个 event handler 就行。至于单次的串口读写/polling之间,照例还是 Mutex,方便解耦 & 在读写前后写点处理数据的代码。
Carbon Design System#
前端准备还是用点其他的框架(指非 Svelte)。尝试了 Carbon Design System 的 Vue 库 @carbon/vue3,“文档”仅有个故事书 ,怎么写都渲染不出来,感觉是漏了 CSS 什么的。这个设计系统是以前用 Svelte 时为数不多的选择——其他要么需要 install package per component 如 Svelte Material UI ,要么是 atomic 的需要 Tailwind(如图)。
而且 Carbon 不愧是老牌 IBM 厂设计的,配合着自家的 IBM Plex Sans (SC) / Mono,给人朴实、硬朗的感觉,非常清爽。虽然看着可能没有什么细节上的动效,但是总比隔壁天天在 YT 上拿渲染出来的概念动画 发 Shorts 务实——后者的实际体验完全不是那么一回事。
群友阅读本文的预印本后,说:
y****
可惜现在 LLM 只会用 tailwind,没救了
2025/11/19 16:45
从新版 office 图标来看,这家公司已经彻底没救了
2025/11/19 16:46
IBM 可能还在用自己的大型机,所以没有被 MACos 腐蚀脑子
2025/11/19 16:47
Vibe Coding#
一个需求是做一个嵌在软件里面的 manual。让我回想起我小时候用的软件都有
chm 什么的。下面是其中一天的歪卜抠顶的对话记录:
@workspace
- 给 PROJECT 写文档
- 现在 我有一个比较特殊的需求:客户需要一个比较传统的 software manual。
- 下面,请你在 status bar 的末端加一个揿钮,打开一个全屏的manual介面。其中复用现有的组件来介绍功能。 AI View details Browse files View details Collecting workspace information
AI View details Browse files View details 我会帮你在状态栏末端添加一个按钮,打开全屏的软件手册界面。让我创建相关的组件和修改:
Full Response 这个方案提供了:
完整的使用手册界面 :使用 Carbon Design System 的 Modal 和 Tabs 组件
四个主要章节 :
概述:软件介绍、功能、系统要求
主界面:详细介绍各个界面区域
标定模式:说明两种模式和偏差计算
操作流程:分步骤的操作指南和故障排除
复用现有组件 :
CalibrationModeSelector 用于演示标定模式
DataDisplay 用于展示数据布局
状态栏元素用于说明底部信息栏
状态栏按钮 :在 StatusBar 末端添加使用手册按钮,点击打开全屏手册
友好的排版 :清晰的标题层级、充足的间距、合理的配色
这样客户可以随时打开手册查看软件的详细使用说明!
你这边不对——
1. please 说明 开始/停止 和其他按钮的 disabled 的状态变化
2. 缺少打开原厂软件的按钮介绍(虽然目前还没实现)
AI View details Browse files View details Full Response Using "Replace String in File" Tool usage 现在修改了手册中控制栏的说明,包括:
详细说明了按钮的 disabled 状态变化 :
串口输入框:监测停止时可编辑,运行时禁用
开始/停止按钮:始终可用,会根据状态切换文字和颜色
切换原厂软件:仅在停止时可用
退出按钮:仅在停止时可用,运行时禁用
添加了按钮的介绍 :
说明其功能是启动设备原厂配套软件
解释点击后会隐藏当前窗口
说明原厂软件关闭后会自动返回
在演示区域也添加了该按钮 ,使用 Settings 图标来展示
这样用户就能清楚地了解每个控件在不同状态下的行为了!
Made changes.
這個縮放會讓 Manual 的 Modal 佈局錯誤(超出屏幕),但是我又不能 刪掉這個
AI View details Browse files View details 我理解了,全局的 zoom: 1.2 会影响 Modal 的布局。我们可以在 Manual 的 Modal 上重置 zoom。让我修改 CSS:
Full Response Using "Replace String in File" Tool usage
Read [](file:///c%3A/.../PROJECT/src/App.css#130-130), lines 130 to 170 Tool usage 我看到问题了,有一个 // ...existing code... 的注释造成了错误。让我修复它:
Using "Replace String in File" Tool usage AI View details Browse files View details 我来修改 Manual 中的演示按钮,让它们显示正确的颜色状态而不是都禁用:
Full Response Using "Replace String in File" Tool usage
完成!我已经将演示按钮从 disabled 改为使用 pointerEvents: "none",这样:
✅ "开始监测" 按钮显示为蓝色主按钮(kind="primary")
✅ "停止监测" 按钮显示为红色危险按钮(kind="danger")
✅ "切换原厂软件" 按钮显示为灰色第三级按钮(kind="tertiary")
✅ "退出" 按钮显示为红色第三级按钮(kind="danger--tertiary")
所有按钮都保持了正确的颜色,但通过 pointerEvents: "none" 阻止点击,这样在手册中就能看到它们正常的视觉效果了!
Made changes.
AI View details Browse files View details 我来把 Markdown 格式的列表改成 HTML 列表:
Full Response Using "Replace String in File" Tool usage
完成!我已经将 Markdown 风格的列表(使用 • 和 - 以及 <br /> 和 )改成了正确的 HTML 嵌套列表结构:
使用 <ul> 和 <li> 标签
主要项目作为一级列表
详细说明作为嵌套的二级列表
添加了适当的间距样式
这样语义更清晰,样式也更容易控制!
Made changes.
请把四个 tab 拆成4个 components文件
AI View details Browse files View details Full Response Created [](file:///c%3A/.../PROJECT/src/components/manual/OverviewTab.tsx) Tool usage
Created [](file:///c%3A/.../PROJECT/src/components/manual/InterfaceTab.tsx) Tool usage
Created [](file:///c%3A/.../PROJECT/src/components/manual/CalibrationTab.tsx) Tool usage
Created [](file:///c%3A/.../PROJECT/src/components/manual/WorkflowTab.tsx) Tool usage 现在更新 Manual.tsx 来使用这些新组件:
Using "Replace String in File" Tool usage
Using "Replace String in File" Tool usage
现在替换 TabPanels 的内容:
Made changes.
AI View details Browse files View details 让我重新替换 Manual.tsx 中的 TabPanels 部分:
Full Response Using "Replace String in File" Tool usage
AI View details Browse files View details Full Response Read [](file:///c%3A/.../PROJECT/src/Manual.tsx#115-115), lines 115 to 250 Tool usage
Using "Replace String in File" Tool usage
Read [](file:///c%3A/.../PROJECT/src/Manual.tsx#125-125), lines 125 to 400 Tool usage 我看到问题了,还有重复的内容。让我删除这些重复的部分:
Using "Replace String in File" Tool usage
完成!我已经成功将四个 Tab 拆分成独立的组件文件:
OverviewTab.tsx - 概述标签,包含软件简介、主要功能和系统要求
InterfaceTab.tsx - 主界面标签,展示控制栏、数据展示区和状态栏
CalibrationTab.tsx - 标定模式标签,说明两种标定模式和偏差计算
WorkflowTab.tsx - 操作流程标签,提供分步骤操作指南和故障排除
现在 Manual.tsx 变得更加简洁,只负责组织这些Tab组件的结构,而每个Tab的具体内容都在独立的组件文件中,便于维护和复用!
Made changes.
由于不会在 Windows on ARM 上交叉编译 x64 的 Rust 程序,所以我最后掏出了我的旧的华为笔记本。
局域网开了一个 http-server,在 client 机器上下载运行的时候非常麻烦,首先是 Edge 会千方百计地阻止你下载这个程序;其次还会有司马的Screen 弹窗。最后将软件刻进光盘,和机器一同寄给客户。
我在看什么#
评论
yono
写评论