分类 Obsidian 下的文章

Obsidian

网格布局 1fr 最小尺寸溢出与移动端自适应 (CSS Grid 1fr Minimum Size Blowout and Mobile Responsiveness)

1. 现象与症状 (Symptoms)在移动端或窄屏竖屏场景(如视口宽度 360px ~ 430px)下,基于 CSS 网格布局 (CSS Grid) 渲染的卡片列表出现严重横向溢出:卡片右侧边缘被视口硬生生裁切,右内边距 (padding-right) 和圆角不可见;容器产生非预期的水平滚动条(或者在 overflow-x: hidden 下直接截断右侧内容,需要横向拖拽才能阅读完整文本);即使

Obsidian

Playwright 网页截图模糊排查与超高清渲染 (Playwright High-DPI Screenshot)

1. 核心目标 (Goal)在使用 Playwright(Python / Node.js)将 HTML 网页或数据报表渲染并导出为长图(如海报、价格看板、分析报告)时,解决导出图片在手机端缩放、高分屏或社交软件中查看时出现的文字发虚、锯齿发蒙、分辨率低(Low Resolution)的问题,生成视网膜级别(Retina Display, 2x / 3x)的超清位图。2. 根因分析 (Root C

Obsidian

AstrBot 文件消息捕获与 LLM 工具桥接设计 (AstrBot File Message Capture and LLM Tool Bridge Design)

结论“聊天文件登记 → 生成 file_id → 模型调用工具 → 本地读取并转 Base64 → 云端生成讲义”这一分层设计是可行的。模型不应直接接触本地路径或 Base64,file_id 只作为受控引用。关键陷阱AstrBot 的 @filter.event_message_type(...) 处理器并不是在唤醒检查之前执行。管道顺序是:waking_check 读取消息链并筛选 Adapt

Obsidian

OpenAI 兼容反代的协议兼容与语义保真 (Protocol Compatibility and Semantic Fidelity)

核心结论OpenAI 兼容(OpenAI Compatibility)有两个层次,不能混为一谈:传输层兼容:客户端可以向 /v1/chat/completions 发送 messages: [...],代理在一次 HTTP 请求中把消息数组转发给上游。语义层保真:每条消息的 role、content 结构、多模态内容、tool_calls、tool 结果等是否原样保留并由上游按原协议解释。cnb2