包含关键字 typecho 的文章

大家好,最近看到一个很有意思的视频灵感,一时手痒,用纯原生的 HTML/CSS/JS 写了一个赛博朋克风格的交互式元素周期表

项目没有任何构建依赖,开箱即用。主打就是一个视觉效果和交互体验,包含 3D 原子结构模拟多维度热力图等功能。

发出来给 V 友们图一乐,顺便求个 Star 🌟,也欢迎大家提提建议!


🔗 传送门


✨ 主要玩法与特性

这个项目虽然只是个前端页面,但把化学书上的东西做得稍微酷炫了一点:

  1. 沉浸式视觉:深色赛博朋克风,配合霓虹光效和玻璃拟态( Glassmorphism ),比传统的格子表耐看一些。
  2. **3D 原子结构 (CSS)**:点击任意元素进入详情页,可以看到基于 CSS 3D Transforms (transform-style: preserve-3d) 渲染的原子模型。支持鼠标拖拽旋转,可以看到电子在轨道上跑。
  3. 多维度数据可视化:支持一键切换热力图模式。想看原子半径、电负性、熔沸点的分布?点击按钮,周期表会自动变成热力图色谱。
  4. 数据全:收录了 118 种元素,包含电子排布、同位素、化合价等详细数据。
  5. 双语支持:做了中英文切换,方便查阅。

📸 截图预览

周期表主界面
(建议配合深色模式食用)
Overview

热力图模式 (电负性分布)
Heatmap

3D 原子模型交互
3D Atom

兄弟们,分享个最近折腾的省钱路子。

现在 AI 工具多,号也多,但官方订阅动不动就 $20/月,哪怕是一个号都肉疼,更别说想要多搞几个号备用了。
之前一直通过也是各种找渠道,但我最近在闲鱼上蹲了一波,发现其实学生认证号家庭组车位才是真香系列。

💰 晒晒我的成本

一共搞了 3 个号,总共花费还不到 100 块:

  1. 学生认证号 × 2:闲鱼买的,23 块一个,两个才 46 。(只需要提供自己的谷歌账号)
  2. 家庭组成员号 × 1:也是找的车位,50 块一个。(这个复杂些,需要自己的谷歌账号在美区)
    合计:96 元。
    (这价格甚至不够开一个月的官方 Plus ,但我直接拉起了 3 个号的战队)

🛠 怎么用才爽?

我直接把这 3 个号都接到了 Antigravity Tool 里。

这里插入你的 Antigravity 后台截图

实际体验就是两个字:踏实。

  • 不怕封:因为有三个账号轮替,哪怕挂一个都不心疼(毕竟才 23 块成本)。
  • 并发爽:以前用一个号老担心次数用完,现在三个号池子,甚至感觉自己在搞企业级部署。
  • 情绪价值拉满:看着后台三个号稳稳地跑,这种“花小钱办大事”的感觉,懂的都懂。

💡 建议

这年头,工具是死的,思路活了才能省下真金白银。

有同样路子的老哥吗?交流下?👇

使用阿里云云效作为版本仓库

使用 云效 流水线 构建部署 golang 项目

注(按构建使用时长计费)

编译阶段之前是正常的

最近开始, 编译 golang 项目时(其他语言未测试) 计时从 11 秒开始跑, 你只要点击运行, 开始计费是从 10 秒开始, 第一秒跳为 11 秒 且实际按照这个时长计费

查阅全部文档, 询问阿里云 AI, 均没有相关信息

且:

当我问阿里云在线 AI 知识库时, 询问别的问题, 哪怕他不知道, 他一般会回答一个相似的问题, 或者引导提示可能是什么问题给出连接

询问这个问题, 直接说不知道, 感觉怪怪的:

OP 在 OpenClaw 出来之前用 Antigravity/Claude Code 开发一个英语学习小工具,亲自指挥 AI 写代码、亲自本地自测、亲自 commit 、push 代码。
这个工具目前长这样:

让 Antigravity/Claude Code 写代码已经比自己写要方便地多了,开始的几天每天补充一点功能做点优化。
后来 OpenClaw 出来之后我直接试了一把,发现让开发这个东西的过程变得更爽了。

我用的是 Mac Mini M4 ,用 VMware Fusion 装了个 Ubuntu 虚拟机,让 OpenClaw 跑在里面。
模型最开始用的是 Gemini ,后来补充了 Claude 。主要用 Telegram 和 bot 对话。Mac 设置了关屏不休眠之后,虚拟机里面的 bot 可以一直响应,不会掉线。

最开始的感受是很超预期的,发了仓库链接之后它自己给下载下来了,然后按要求做了对应修改。还会自动找我要 GitHub 的 token ,我把这个 token 直接通过聊天框发给它就行,不用找地方配置。等它拿到 token 之后能自动帮忙 push 到 GitHub 。

然后发语音下命令、发图片指出 bug 都能被正常识别。

最后让它总结一下这两三天都做了什么:

Q:
简单整理一下 lang-tools 项目里面,ClawdBot 都帮忙实现了那些功能特性?以及总时间、提交次数、行数这些信息。

A:
📊 Lang-Tools 项目统计报告

⏱️ 时间线

• 首次提交:2026-01-30 00:16:11
• 最后提交:2026-02-01 12:56:00
• 总时长:~2.5 天( 2 天 12 小时 40 分钟)
📈 代码统计

• 提交次数:41 次
• 文件改动:11 个文件
• 代码行数(文本文件:JS/CSS/HTML/MD ):  • ➕ 新增:2,951 行
  • ➖ 删除:1,154 行
  • 📊 净增:1,797 行

🎯 核心功能特性

1️⃣ 用户体验

• 🌙 暗黑模式 (v0.1.6)
• 🔊 TTS 语音播放 - OpenAI API (v0.1.9)
• 📱 移动端优化 - 响应式布局、2 列网格、按钮压缩
2️⃣ Anki 卡片集成

• 🖥️ 桌面端 - AnkiConnect 自动创建
• 📲 iOS/iPadOS - Universal link 支持
• 🤖 Android - .apkg 文件生成 (v0.1.18+)
• 🏷️ 智能标签 - 根据操作自动添加
• 🔍 设备检测 - 自动判断平台
3️⃣ 翻译功能增强 (v0.1.29-0.1.37)

• 🗣️ 发音支持(中文输入自动跳过)
• 📝 用法示例
• 🎯 一次性示例( few-shot )
• 🚫 避免重复翻译
• ⚡️ 缓存破坏机制
4️⃣ Rewrite 功能优化

• 🔍 错误分析 - 详细语法诊断
• 📏 可数名词检查 - 严格格式验证
• ✅ 智能跳过 - 已正确短语不修改
• 💬 通用短语 - "I love you" 等万能表达
5️⃣ 稳定性修复

• 🐛 修复 Android APKG 空白/0 卡片导入问题
• 📦 本地化所有库文件(无 CDN 依赖)
• 🔧 脚本加载优化 - DOMContentLoaded 、延迟加载
• 🎨 CSS/模态框 z-index 修复
6️⃣ 开发规范

• 📋 CONTRIBUTING.md ( http://contributing.md/) - 发布检查清单
• 🔢 版本管理 - v0.1.5 → v0.1.37

平均产出:~17.5 提交/天,~720 行代码/天

(感兴趣可以看一下这个项目的🔗 提交记录

好:

  • 更智能,能自动化完成的部分更多了,比如全链路的去下载代码仓库、做配置、提交代码……
  • 更方便,直接用 IM 就能对话,在外面的时候有什么想法直接说,不用手动碰电脑就完成了,门槛越低做起来越无痛,让这个循环流转地更顺了:产生想法、进行开发、自己体验、提新的改进意见、继续开发、继续体验……

不好:

  • 目前不敢在自己的本体电脑上部署,更不敢在办公电脑上部署,安全性之类的有待验证
  • Token 消耗很快,晚上由于几个 bug 来回改导致直接把 Gemini 打到每日限流了,改用 Claude 之后一小时消耗了 $3 token
  • 还没有那么稳定,有的时候 gateway 会莫名其妙挂掉需要手动上去修一修,另外我的定时任务一直没成功过还没来得及处理

2libra 没有自带的图片上传功能,昨天看到 一个帖子 后突然来了灵感,
把之前做的 v2ex 脚本中的图片上传功能抽离出来,做了一个通用的图片上传脚本。

主要功能

  • 支持在所有网站使用。(需要配置 match 规则)
  • 对 2libra, v2ex, nodeseek, deepflood, greasyfork.org 做了适配,显示“插入图片”按钮。其他网站可以自己添加规则。
  • 保存图片上传记录,可以重复利用上传过的图片。
  • 目前支持上传到 Imgur,后续会支持更多图床。
  • 可以批量上传,支持粘贴、拖拽、文件选择收集图片。

2025-10-22-21-23-13
2025-10-22-21-09-33

🔗 安装链接

项目地址: https://github.com/utags/userscripts

目前 是第一个也是唯一一个 2libra 的油猴脚本

前言

花了一段时间,我终于把小遥搜索 XiaoyaoSearch做出来了。
这是一个支持语音、文本、图片多模态输入的本地 AI 搜索桌面应用。最特别的是,它100%通过 Vibe Coding ( AI 辅助编程)实现,从零开始,所有源码、设计文档、开发经验,今天全部开源。

为什么要做这个工具?

作为知识工作者,我经常遇到这些痛点:
● 文件太多找不到:电脑里存了成千上万个文档、图片、音视频,想找个特定内容翻半天
● 搜索不够智能:系统自带的搜索只能匹配文件名,搜不到文件内容
● 隐私安全担忧:很多搜索工具要上传数据到云端,不太放心
● AI 工具太复杂:想用 AI 提升效率,但不会配置,门槛太高
所以我就想:能不能做一个本地运行的、支持多种输入方式的 AI 搜索工具?

小遥搜索是什么?

简单来说,它是一个本地 AI 搜索桌面应用,核心特点:

🎤 多模态输入
● 语音搜索:点一下录音,说出你要找的内容,30 秒内语音自动转文字搜索
● 文本搜索:输入关键词,AI 理解语义,精准匹配文件内容
● 图片搜索:上传一张图片,AI 理解图像内容,帮你搜索相关文件

🔍 深度检索
● 文档:TXT 、Markdown 、Word 、Excel 、PPT 、PDF 全文检索
● 音视频:MP4 、AVI 、MP3 、WAV 内容索引和搜索(支持 10 分钟内音视频字幕提取)
● 文件名:传统的文件名搜索也不缺席

🧠 AI 技术
集成了多个先进 AI 模型:
● BGE-M3:文本嵌入,理解语义
● FasterWhisper:语音识别,语音转文字
● CN-CLIP:图像理解,以图搜图
● Ollama:本地大语言模型

🔒 隐私安全
● 完全本地:所有数据处理都在本地,不上传云端
● 隐私模式:可选不记录搜索历史
● 自主可控:数据完全由你自己掌控

核心界面一览

搜索主界面

文本搜索

语音搜索

图片搜索

技术架构

前端:Electron + Vue 3 + TypeScript
后端:Python 3.10 + FastAPI
AI 引擎:BGE-M3 + FasterWhisper + CN-CLIP + Ollama
搜索:Faiss (向量搜索)+ Whoosh (全文搜索)
数据库:SQLite
系统架构图

Vibe Coding 实践案例

这是我特别想分享的部分。
这个项目从零开始,完全通过 Vibe Coding 实现,包括:

● ✅ 完整源代码(前端 + 后端 + 所有功能模块)
● ✅ 设计文档( PRD 、技术方案、数据库设计、API 文档)
● ✅ 开发流程(任务分解、进度跟踪、测试验证)
● ✅ 部署配置(环境搭建、依赖管理、打包发布)
开源的价值:对于想要学习 AI 辅助开发、本地 AI 应用、Electron 桌面应用的开发者,这是一个完整的参考实现。

产品路线图

当前版本( v1.1.1 )✅
● 多模态 AI 搜索(语音、文本、图片)
● 本地文件深度检索
● AI 模型灵活配置
● 隐私安全保护

未来规划

🚀 微内核架构演进
插件化系统,支持自定义扩展

🌐 多数据源扩展
● 文档协作平台(语雀、飞书、Notion )
● 项目管理平台( Jira 、禅道、GitHub )
● 实时同步和智能缓存

🎬 音视频搜索增强
● 视频画面内容理解和搜索
● 长视频处理(集成水母平台)
● 音频声纹识别和情感分析

🧠 RAG 系统升级
● 自适应分块算法
● 知识图谱构建
● 检索结果智能增强

💬 智能聊天助手
● 多轮对话和上下文记忆
● 基于本地知识库的问答

🔌 MCP 能力集成
连接 Claude 生态,扩展 AI 能力
详细路线图:ROADMAP.md

适合谁使用?

知识工作者
搜索本地文档、笔记、研究报告,快速定位关键信息
内容创作者
搜索素材和灵感,整理音视频内容,管理创作资源
技术开发者
搜索代码库和技术文档,整理学习资料,管理项目文件
研究人员
搜索论文和研究资料,整理文献笔记,管理研究数据

邀请你参与

为什么需要你?
一个人的力量有限,开源社区的力量是无限的!
优先贡献方向

  1. 插件系统开发(高优先级)
    ○ 设计插件接口规范
    ○ 实现插件加载机制
  2. 多数据源连接器(高优先级)
    ○ 语雀、飞书、Notion API 集成
  3. UI/UX 优化(中优先级)
    ○ 搜索结果展示优化
    ○ 暗色模式支持
  4. 性能优化(中优先级)
    ○ 大文件处理优化
    ○ 索引构建速度提升
  5. 测试覆盖(中优先级)
    ○ 单元测试补充
    ○ 集成测试完善

项目地址

GitHub:https://github.com/dtsola/xiaoyaosearch

欢迎:
● ⭐️ Star 本项目,关注最新进展
● 🍴 Fork 本项目,开始你的贡献
● 👀 Watch 本项目,及时获取更新
● 🐛 提 Issue ,报告问题和建议功能
● 💡 参与讨论,分享你的想法

关于我

dtsola - IT 解决方案架构师 | 一人公司实践者

● 网站:https://www.dtsola.com

● B 站:https://space.bilibili.com/736015

开源协议

本项目采用小遥搜索软件授权协议:

● ✅ 免费使用(非商业用途)
● ✅ 可以学习和研究代码
● ✅ 可以修改后二次分发(需保留版权声明和协议)
● ✅ 可以集成到其他非商业项目
● ❌ 商业使用需授权

这是一个类似 CC-BY-NC-SA 的开源协议,鼓励学习、分享和贡献!
详细协议:LICENSE

结语

小遥搜索是我对本地 AI 搜索工具的一次探索和实践,也是 Vibe Coding 的完整案例展示。
我相信,开源社区的力量会让这个项目变得更好。
无论你是:
● 🔨 想要贡献代码的开发者
● 💡 想要提供建议的产品经理
● 📖 想要学习 AI 应用的学生
● 🚀 想要参与创业的伙伴

都欢迎加入我们,一起打造更好的本地 AI 搜索工具!
让我们一起,用 AI 技术改变知识管理方式! 🚀

我做了一个颈椎友好型游戏,Sneck ,取 Snake (贪吃蛇)和 Neck 颈椎的意思。

玩法就是经典贪吃蛇,只是你需要用你的头去控制。

正坐在屏幕前,开启摄像头权限,开始游戏之后,只需要上下左右移动头部即可控制贪吃蛇,

我自己最多玩到了 500 分。

其实分数不重要,重要的是活动了颈椎。

欢迎去试试。

地址: https://sneck.1link.fun/

(可能有广告,万一火了呢?)

clawdbot 的安装配置是英文,默认支持的平台和模型都是国外的,因此想着改一下支持中文,和主流的中文平台和模型。

取了个名字叫:wukongbot ,意味是他很强大,可以帮你干活。

项目地址:https://github.com/wukongrobot/wukongbot

目前已经支持了国内的各种大模型,也支持飞书默认接入。

截屏 2026-02-01 10.03.41.png

感兴趣的欢迎加群交流呀!

IMG_0101.JPG

可能会在后续 6 分钟左右出现短暂无法访问force_smile

更新内容:

  1. 优化表情候选弹窗与@人用户弹窗的位置处理
  2. 新文本行@人选择用户后,不会在@前面添加空格
  3. 修复编辑器全屏时不显示候选弹窗问题
  4. 优化长图展开按钮位置。ps: @utags 我使用 Link Helper 扩展并没出现图片显示不到
  5. 优化介绍页面,现在介绍页面加入预览,不需要保存后查看效果了
  6. 介绍页的代码块样式以及按钮区样式优化
  7. 金币打赏步进修改回 50 金币

在此感谢 Claude 、GPT 、Gemini 提供的代码,感谢豆包帮我设计的各种素材

半年前做了一个图片切分的小程序,一开始是自嗨,但是后面看到有人在用又加了不少新功能,像是长图拼接、纯色背景绘制、水印制作、头像 DIY 功能。

UI 这块随着功能的增加也经历了三次重构,目前暂时还比较满意,感慨现在 AI 时代个人开发者真的蛮幸福的。小程序名字叫 PicSlicer ,大家有想体验可以试试看,有什么功能需求也可以一起交流





之前用 v0 设计了一个小程序的介绍网站,不过内容比较旧了,最近有空也去翻新一下: https://picslicer.com/

在当今的AI时代,大语言模型(LLM)已成为各种应用的重要组成部分。然而,很多开发者在使用API时常常感到困惑:为什么API费用如此之高?这个问题的答案往往指向一个关键概念:Token。

什么是Token?

Token是衡量文本长度的基本单位,但与我们熟悉的字符、单词或句子不同。Token化(Tokenization)是将人类语言转换为机器可处理单元的过程。一个Token可以是一个词、一个子词,甚至是一个字符,具体取决于模型使用的分词算法。

例如,在英语中,"hello"可能被视为一个Token,而"unbelievable"可能会被分割成"un"、"believe"、"able"等多个Token。在中文中,单个汉字通常作为一个Token,但复杂的词语也可能被进一步拆分。

Token计费模式

大多数大语言模型API采用基于Token的计费模式,这通常分为两个部分:

  1. 输入Token:用户发送的提示(Prompt)所占用的Token数量
  2. 输出Token:模型生成的回复所占用的Token数量

以OpenAI为例,GPT-4的定价大约是每1000个输入Token收费$0.01,每1000个输出Token收费$0.03。阿里云通义千问等国内模型也有类似的计费模式。

费用高昂的主要原因

了解了Token的基本概念和计费模式后,我们来看看为什么API费用有时会出乎意料地高昂。主要有以下几个因素:

Token长度直接影响成本

API费用与Token数量成正比。一个包含1000个Token的请求(输入+输出)将始终比一个包含100个Token的请求成本高10倍。特别是当你的应用需要处理大量文本或生成较长回复时,费用会迅速累积。

频繁的API调用

即使单次调用成本不高,但如果应用每天处理数千或数万个请求,费用也会迅速增加。例如,一个每天处理10,000个请求的应用,每个请求平均消耗1000个Token,每月的费用可能高达数百美元。

不必要的上下文

在构建对话系统时,常见的做法是将整个对话历史发送给模型,以保持上下文连贯性。然而,这会导致Token数量线性增长,大大增加成本。例如,一个包含10轮对话的请求,其Token数量可能是单轮对话的10倍。

成本优化策略

了解了费用高昂的原因后,我们可以针对性地采取一些优化措施来降低API成本。以下是几种有效的成本控制策略:

合理控制上下文长度

不要盲目地将整个对话历史发送给模型。考虑以下策略:

  • 滑动窗口:只保留最近几轮对话
  • 摘要提取:定期将早期对话摘要成简短的上下文
  • 智能截断:根据重要性保留关键信息

预估和限制Token使用

在实际调用API之前,可以使用专门的库来估算Token数量。这样可以在发送请求前预知可能产生的费用,从而更好地控制预算。

选择合适的模型

不同的模型有不同的定价。对于简单任务,可以考虑使用较小的模型(如Qwen-Mini),而对于复杂任务再使用较大的模型(如Qwen-Max)。

批处理请求

如果应用场景允许,可以将多个小请求合并为一个批处理请求,从而减少API调用次数和总体费用。

缓存常见响应

对于经常被询问的问题,可以建立缓存机制,避免重复的API调用。

实践中的Token监控与应用

理论知识固然重要,但在实际项目中如何应用这些优化策略同样关键。为了更好地理解和控制Token使用,我们开发了Qwen Chatbot项目,实现了实时Token监控功能。这一部分将介绍如何在实际项目中监控和管理Token使用,帮助开发者更好地掌握成本控制技巧。

Token监控实现原理

通过在API响应中启用stream_options: { include_usage: true },我们可以获取详细的Token使用情况:

  • 输入Token(prompt_tokens):表示发送给模型的提示长度
  • 输出Token(completion_tokens):表示模型生成的回复长度
  • 总Token(total_tokens):两者的总和

这种实时监控有助于开发者直观地理解成本构成,并据此优化应用逻辑。

示例项目功能

我们为Qwen Chatbot项目添加了完整的Token计数功能:

  1. 后端改进:在API响应中添加了Token使用情况统计,支持流式和非流式响应的Token计数
  2. 前端改进:在聊天界面中实时显示每条消息的Token使用详情
  3. 文档更新:在README中添加了Token计数功能的说明和使用指南

总结

理解Token机制是有效控制AI API费用的关键。虽然Token计费模式看起来可能很昂贵,但它实际上是一种公平的定价方式,让开发者只为实际使用的资源付费。通过本文介绍的成本优化策略和实际监控方法,开发者可以在保证服务质量的同时有效控制费用。

此外,通过Qwen Chatbot示例项目,我们可以看到在实际应用中如何实施这些优化策略。掌握Token的使用和监控不仅有助于控制成本,还能提高应用的整体效率。

相关资源

该项目展示了如何在实际应用中监控Token使用,为开发者提供了实用的成本优化参考。

我这里想说的是 web hook bot 的消息推送功能,迟迟不做。

这个功能是“种种原因导致”不能做吗?我看未必,企业微信,钉钉,飞书都有吧?但这些是办公软件,始终没有日常通用软件来得便捷。

最近用了两天 OpenClaw ,望洋兴叹呀~

模型,DeepSeek/Z-AI/Qwen 在处理日常事务上,已经算很强大了,但是 IM 这块,微信是真拖后腿呀。

.webp

微信为了“小而美”,对很多功能都持反对态度,最终会 get what it fxxking deserve.

高效沟通新工具:访答的深度解析

在当今快节奏的工作环境中,高效的沟通工具对于团队协作至关重要。市场上涌现出众多沟通软件,而访答以其独特的功能和设计理念,逐渐成为许多团队的首选。本文将深入探讨访答的核心优势,以及它如何帮助用户提升沟通效率。

访答的核心功能解析

访答是一款专注于简化团队沟通的软件,它整合了即时消息、文件共享和任务管理等功能。与传统的沟通工具相比,访答注重用户体验,减少了不必要的干扰,让团队成员能够更专注于核心工作。例如,其智能通知系统可以根据用户的在线状态和任务优先级,自动过滤无关信息,确保重要消息不被遗漏。

为什么选择访答而非其他工具?

相比市场上其他沟通工具,访答在界面设计和功能整合上更具优势。许多工具往往功能繁杂,导致用户学习成本高,而访答通过直观的布局和简洁的操作流程,让新用户能够快速上手。此外,访答支持无缝集成第三方应用,如日历和项目管理软件,进一步提升了工作效率。在实际使用中,用户反馈显示,访答在减少沟通延迟和误解方面表现突出,这得益于其清晰的对话线程和实时协作功能。

如何最大化利用访答提升团队协作

要充分发挥访答的潜力,团队可以遵循几个关键步骤:首先,制定统一的沟通规范,例如使用标签分类对话主题;其次,利用访答的存档和搜索功能,快速回溯重要讨论;最后,定期培训团队成员掌握高级功能,如自动化工作流。通过这些实践,团队不仅能够减少会议时间,还能提高整体产出质量。

总之,访答作为一款新兴的沟通工具,凭借其高效性和易用性,正逐渐改变团队协作的方式。无论您是小型团队还是大型组织,都值得尝试访答来优化工作流程。




通篇文章依旧嘴硬不谈大面积被挂马的问题,用户都被挂完马了,最后只发了个更新补丁出来。

最搞笑的是,如果你的设备已经感染木马,你是无法更新到最新的 1.1.18 版本的。直到这个公告发出,官方甚至都没给出一个像样的查杀补丁或者工具,目前所有操作都需要用户发挥动手能力,自己找木马或者查杀脚本,直接切割所有被挂马用户。

如果真如官方所说的,在过去一周对木马样本进行了深度分析,解决方案在哪里?

1.卡片严格居中(不考虑小屏幕笔记本)
image.png

整体父盒子居中
6个子div, 每个宽度内容自适应, marigin-right间隔固定

2.不用严格居中, 就display:flex, 每个子div flex:1
image.png
image.png
考虑分辨率笔记本, 就用el-col的span值变化

最近,开源个人AI代理OpenClaw(原Clawdbot)真的太火了!

1月28日,百度智能云官宣完成OpenClaw全套适配之后,后台一下子涌进来不少问题:

能不能一键部署?

跑在云上稳不稳?

跟别的平台比,百度智能云到底有啥不一样?

可以发现,大家不仅关心“OpenClaw好不好用”,更关心在使用时怎么跑得久、跑得稳、还不折腾个人电脑。直接在本地长期挂OpenClaw,不仅占资源,还容易带来权限和数据风险,许多开发者朋友需要一个靠谱、随开随用的云端环境。

基于这些真实反馈,百度智能云正式上线OpenClaw一键部署功能,用户可以通过轻量应用服务器(LS),快速完成OpenClaw的部署和初始化,不用配置复杂环境,简单几步就能把一位7×24小时在线的个人AI助理跑起来。

更关键的是,百度智能云给大家带来了一波福利,同步推出限时免费体验活动,直接把上手门槛降到最低。1月31日开始,用户在百度智能云官网购买「OpenClaw镜像」的推荐机型(轻量应用服务器LS或经济型e1),即可获得首月体验机会。

*活动为期一个月,每日限量500台!为了保障活动的正常参与秩序,参与活动的用户需在下单时支付0.01元。

接下来,百度智能云还将不断优化OpenClaw等Agent产品在云端环境的使用体验,无论是需要7×24小时稳定运行的自动化任务,还是个人日常的轻量级使用场景,我们都希望帮助用户在真实环境中,更低成本地验证个人AI助理的可用性与成长空间,持续获得稳定、可靠的云端服务体验。

下面还有详细的部署教程,助力你第一时间在百度智能云完成OpenClaw部署!

在百度智能云上快速部署OpenClaw

以下内容详细介绍了如何在轻量应用服务器LS上配置使用开源AI助手OpenClaw(原名:Clawdbot)的完整流程。 部署过程主要包括:

1.在轻量应用服务器控制台创建实例,通过一键安装脚本完成部署以及初始化;

2.使用千帆完成文心系列、Qwen系列、Deepseek系列等主流模型配置,快速将百度大模型能力集成到机器人应用中。

安装配置OpenClaw

步骤一:在轻量应用服务器LS控制台创建一台轻量应用服务器。

镜像:选择OpenClaw(Clawdbot)2026.1.24-3

套餐:建议您选择CPU:2核,内存:2GB或以上的套餐配置

在这里插入图片描述

步骤二:在千帆控制台模型服务里面选择要使用的模型(本文档使用deepseek-v3.1-250821作为示例),可以新建或者选择已有的API Key。

在这里插入图片描述

步骤三:通过SmartTerm或者VNC登录LS,使用以下内容替换~/.clawdbot/clawdbot.json,注意将API Key替换成步骤二中获取到的,如果选择了其他模型可以将按照deepseek-v3.1-25082格式在models配置里面替换即可。

{
  "models": {
    "mode": "merge",
    "providers": {
      "qianfan": {
        "baseUrl": "https://qianfan.baidubce.com/v2",
        "apiKey": "You Api Key",
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-v3.1-250821",
            "name": "deepseek-v3.1-250821",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0.0025,
              "output": 0.01,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 262144,
            "maxTokens": 65536
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "qianfan/deepseek-v3.1-250821"
      },
      "models": {
        "qianfan/deepseek-v3.1-250821": {
          "alias": "deepseek-v3.1-250821"
        }
      }
    }
  }
}

步骤四:使用clawdbot onboard命令可以开始启动配置向导,完成clawdbot的初始化并且启动可以进入TUI模式。如果需要更换模型或者其他配置可以使用clawdbot onboard重新进入引导配置,并且参考一下配置进行选择,两次ctrl+c可以推出TUI模式

在这里插入图片描述
在这里插入图片描述

步骤五(可选):使用clawdbot gateway install --force重新启动网关配置,并且使用clawdbot models list查看当前配置的模型情况。使用clawdbot agent --agent main --message '当前CPU占用情况'查看配置是否生效。

在这里插入图片描述

OpenClaw常见命令参考

详细使用指南详见官方教程:https://cloud.baidu.com/doc/LS/s/Cmkxwt7wk

大家好,我是Java烘焙师。本文结合笔者的经验和思考,对灰度方案做个总结,重点介绍AB实验。

灰度在开发流程中非常普遍。先做小流量验证,确认无误后再推全,灰度过程中一旦发现系统异常、或业务指标异常,应立刻回滚。

灰度场景

  • 代码灰度:是最典型的灰度,灰度内做新逻辑,灰度外做旧逻辑

    • 既可以提供v2版本新接口给调用方服务,由调用方来做灰度切换
    • 也可以内部切灰度,做到调用方无感
  • 发版灰度:上线过程中,新版本服务实例不断增加,需考虑兼容新旧协议
  • 配置灰度:修改配置时,按服务实例灰度推送配置变更

灰度模式

  • 数字id尾号灰度:取id最后2位(百分比)、最后3位(千分比)、最后4位(万分比)等

    • 实现方式:id取模,例如 id % 100 < 灰度百分比,则命中灰度
    • 特点:简单,适用于绝大部分技术优化场景
  • 随机灰度:取一部分随机流量做灰度

    • 实现方式:ThreadLocalRandom.current().nextInt(100) < 灰度百分比
    • 之所以使用ThreadLocalRandom、而不是Random,是为了避免多线程竞争用于生成随机数的seed
  • A/B实验

    • 实现方式:分层实验、实验数据收集、离线统计
    • 特点:适用于小流量验证新业务功能的效果,整体方案相对复杂,需要技术基建

id选取

  • 业务id:如用户id、商品id等
  • 设备id:未注册/未登录用户,此时没有用户id,只能取设备的唯一标识

下面重点介绍一下A/B实验。

A/B实验

目的

  • 小流量验证新业务功能,正向显著则推至全量,否则继续迭代优化、或下线,避免功能过于臃肿
  • 用数据作为依据,避免想当然、拍脑袋决策

分层实验

主要目的是为了同时做多个实验,而不是给每个实验均分一部分流量。因为当同时进行的实验变多时,组合数量成倍增加,每个实验分到的流量就很少了。
有这几层结构:实验层、实验、分组

  • 实验层之间正交,可同时进行多个实验层的实验
  • 同一实验层的实验之间互斥,比如命中了实验1-1,就不会命中实验1-2。实验持有0到多个分桶,根据业务id可计算出桶号,进而知道命中哪个实验
  • 同一实验内有多个分组,包括1个对照组,和1到多个实验组,只会命中其中一个分组。分组持有0到多个分桶,根据业务id可计算出桶号,进而知道命中哪个分组

实验层、实验举例:

  • 展示实验层:根据页面进行划分,如首页、搜索页、推荐页、详情页等。每个页面作为一个实验层,每个实验层里可同时做多个展示实验
  • 算法实验层:根据场景进行划分,如相似推荐、搭配购推荐、个性化推荐、搜索排序、广告排序等。每个场景作为一个实验层,每个实验层里可同时做多个算法实验

image

哈希算法打散

要同时支持多个分层实验,核心在于通过哈希算法将每一层的流量打散,用于实现“均匀分流”和“层间正交”,使得流量在各个实验的效果正负抵消,才能得到真实的对比结果。
以下是计算实验层桶号的代码示例,实验桶号同理:

import com.google.common.hash.Hashing;
import java.nio.charset.StandardCharsets;

public class ABTestRouter {

    /**
     * 根据用户ID和实验层ID(实验层ID充当盐的角色),计算桶号 (0-99)
     */
    public static int getBucket(String userId, String layerId) {
        // 1. 拼接 Key: "layerId:userId"
        String key = layerId + ":" + userId;

        // 2. 使用 MurmurHash3 (32-bit)
        // Guava 的 murmur3_32_fixed 是线程安全的
        int hash = Hashing.murmur3_32_fixed()
                .hashString(key, StandardCharsets.UTF_8)
                .asInt();

        // 3. 取模并确保结果为正数
        // Math.abs(Integer.MIN_VALUE) 会返回负数,所以推荐使用位运算去除符号位
        return (hash & Integer.MAX_VALUE) % 100;
    }

    public static void main(String[] args) {
        String uid = "user_123456";
        
        // 不同层的流量是正交的(打散重新分配)
        System.out.println("展示层桶号: " + getBucket(uid, "layer_ui"));
        System.out.println("算法层桶号: " + getBucket(uid, "layer_algo"));
    }
}

之所以用murmurhash,而非md5,是因为md5是加密算法,计算开销更大,在AB实验中仅需均匀打散即可,无需担心根据哈希结果反推原文。
之所以把实验层id作为盐,是因为微小的输入差异都会导致哈希结果相差巨大,实现打散的效果。

实验数据收集

实验数据收集流程如下:

  • 在AB实验管理系统中配置实验信息:如实验盐值、桶号与实验组的映射关系等,可动态修改
  • 代码逻辑开发:

    • 引入实验sdk,sdk在启动、或配置变更时拉取实验信息,本地计算业务id的桶号,进而得到命中的分组
    • 对照组做当前逻辑,实验组1做逻辑1,实验组2做逻辑2
  • 在正式开始AB实验之前,先做AA分桶实验,模拟实验组、对照组的结果,判断是否均匀,避免分桶不均匀带来错误的实验结果
  • 实验开始,后端埋点:sdk发出后端埋点消息

    • 消息格式举例:业务id, 实验层id, 实验id, 分组id, 桶号, 触发时间
  • 实验过程:实验持续时间至少一周,覆盖工作日、周末/假期,避免受时间周期带来的波动影响
  • 离线统计实验效果:

    • 后端埋点数据导入曝光事件hive表
    • 业务DB数据导入行为事件hive表,如注册、登录、浏览、点击、收藏、加购、下单、支付等,取决于实验关注的业务指标
    • 把曝光事件、行为事件join起来,对比实验组、对照组的业务指标差异

image

以下是sql示例,代表从实验曝光后24小时内各个分组的转化率对比。

SELECT 
    e.group_id,
    COUNT(DISTINCT e.user_id) as exposed_users,
    COUNT(DISTINCT a.user_id) as converted_users,
    COUNT(DISTINCT a.user_id) / COUNT(DISTINCT e.user_id) as conversion_rate
FROM exposure_events e
LEFT JOIN action_events a ON e.user_id = a.user_id 
    AND a.event_time BETWEEN e.event_time AND (e.event_time + INTERVAL 24 HOUR)
WHERE e.experiment_id = 'ui_test_001'
GROUP BY e.group_id;

实验报表分析

评估实验结果是否正向、是否显著。了解统计学里的核心概念,能看懂实验报表即可。

p值

用来衡量实验结果是否显著,p值的含义是:假设实验组与对照组没有区别,此时观察到实验有差异的概率。一般要求 p < 0.05,也就是说实验结果显著的概率大于95%(1 - 0.05 = 95%

置信区间

在显著的前提下,用来衡量实验结果是否正向,代表业务指标的可能范围分布。
比如:实验结果里业务指标提升了1%,95%置信区间在[0.8%, 1.2%],则代表有95%的把握可以把业务指标提升至少0.8%、至多1.2%,效果正向。如果置信区间的下界是负数,就有可能是负向效果了,需要警惕。

以上就是灰度方案的总结了,欢迎讨论交流。

基于YOLOv8的停车场空车位目标检测项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

源码包含:完整YOLOv8训练代码+数据集(带标注)+权重文件+直接可允许检测的yolo检测程序+直接部署教程/训练教程

项目摘要

随着城市机动车保有量的持续增长,“找车位难”已成为智慧城市与智慧交通建设中的典型痛点问题。传统依赖人工巡检或地磁传感器的停车管理方式,存在部署成本高、维护复杂、实时性不足等问题,已难以满足现代停车场智能化管理需求。

本项目基于 YOLOv8 目标检测模型,构建了一套 停车场空车位智能检测系统,可对监控画面中的 已停车辆(Occupied)空车位(Vacant) 两类目标进行实时识别与可视化展示。系统支持图片、视频、本地文件夹及实时摄像头等多种输入形式,并集成 PyQt5 图形化界面,实现检测结果的直观展示与交互操作。

项目提供 完整可运行源码、标准化标注数据集、训练权重文件以及详细训练与部署文档,用户无需复杂配置即可快速复现模型效果,实现从模型训练到应用落地的一站式实践,适用于课程设计、毕业设计、科研实验及智慧停车相关工程原型开发。

前言

在智慧交通与智慧城市快速发展的背景下,停车资源的高效利用已成为城市管理中的重要议题。根据实际调研发现,停车场内往往存在“车位并不紧张,但驾驶员难以快速定位空车位”的情况,其根本原因在于缺乏实时、精准、低成本的车位状态感知手段。

近年来,随着深度学习与计算机视觉技术的成熟,基于目标检测的视觉感知方案逐渐成为智能停车领域的重要研究方向。其中,YOLO 系列模型凭借 端到端、速度快、精度高 的优势,在实时场景下表现尤为突出。YOLOv8 作为 Ultralytics 最新一代模型,在网络结构、损失函数与训练策略等方面均进行了优化,为实时车位检测提供了良好的技术基础。

本项目以实际停车场监控场景为应用背景,从数据集构建、模型训练、推理部署到图形化系统集成进行完整实现,力求为读者提供一个工程可复现、逻辑清晰、可扩展性强的停车场空车位检测完整示例。

一、软件核心功能介绍及效果演示

1. 双类别车位状态智能识别

系统基于 YOLOv8 检测模型,对停车场场景中的目标进行精准识别,支持以下两类检测结果:

  • 已停车辆(Occupied):表示当前车位已被车辆占用
  • 空车位(Vacant):表示当前车位处于可使用状态

检测结果以目标框形式叠加在原始画面上,并标注类别名称与置信度,实现车位状态的直观可视化。


2. 多输入源检测模式支持

系统支持多种常见输入方式,适配不同使用场景:

  • 单张图片检测:适合数据分析与效果验证
  • 图片文件夹批量检测:用于数据集快速评估
  • 本地视频文件检测:模拟真实监控录像分析
  • 实时摄像头检测:满足实时停车场监控需求

用户可通过 PyQt5 图形界面一键切换检测模式,无需修改代码。


3. PyQt5 图形化界面(GUI)

为提升系统易用性,项目基于 PyQt5 构建了完整的桌面端可视化界面,主要功能包括:

  • 模型加载与权重切换
  • 输入源选择(图片 / 视频 / 摄像头)
  • 实时检测画面显示
  • 检测结果状态提示与日志输出

即使不具备深度学习背景的用户,也可通过界面完成模型推理与效果演示。


4. 完整训练流程与可复现性保障

项目不仅提供推理程序,同时完整保留了 YOLOv8 的训练流程,包括:

  • 标准 YOLO 格式数据集(images / labels 结构清晰)
  • 训练配置文件(类别数、类别名称、路径配置)
  • 模型训练、验证与测试脚本
  • 训练结果分析与权重文件导出

用户可在现有数据集基础上进行二次训练或扩展新场景,具备良好的工程复用价值。


5. 实际检测效果说明

在典型停车场监控画面中,系统能够在复杂光照、不同拍摄角度及多车位密集场景下,稳定识别空车位与已停车辆状态,具备较强的鲁棒性与实时性,满足实际工程应用对准确率与推理速度的基本要求。

二、软件效果演示

为了直观展示本系统基于 YOLOv8 模型的检测能力,我们设计了多种操作场景,涵盖静态图片、批量图片、视频以及实时摄像头流的检测演示。

(1)单图片检测演示

用户点击“选择图片”,即可加载本地图像并执行检测:

image-20260113001101039


(2)多文件夹图片检测演示

用户可选择包含多张图像的文件夹,系统会批量检测并生成结果图。

image-20260113001137464


(3)视频检测演示

支持上传视频文件,系统会逐帧处理并生成目标检测结果,可选保存输出视频:

image-20260113001152857


(4)摄像头检测演示

实时检测是系统中的核心应用之一,系统可直接调用摄像头进行检测。由于原理和视频检测相同,就不重复演示了。

image-20260113001202609


(5)保存图片与视频检测结果

用户可通过按钮勾选是否保存检测结果,所有检测图像自动加框标注并保存至指定文件夹,支持后续数据分析与复审。

image-20260113001226309

三、模型的训练、评估与推理

YOLOv8是Ultralytics公司发布的新一代目标检测模型,采用更轻量的架构、更先进的损失函数(如CIoU、TaskAlignedAssigner)与Anchor-Free策略,在COCO等数据集上表现优异。
其核心优势如下:

  • 高速推理,适合实时检测任务
  • 支持Anchor-Free检测
  • 支持可扩展的Backbone和Neck结构
  • 原生支持ONNX导出与部署

3.1 YOLOv8的基本原理

YOLOv8 是 Ultralytics 发布的新一代实时目标检测模型,具备如下优势:

  • 速度快:推理速度提升明显;
  • 准确率高:支持 Anchor-Free 架构;
  • 支持分类/检测/分割/姿态多任务
  • 本项目使用 YOLOv8 的 Detection 分支,训练时每类表情均标注为独立目标。

YOLOv8 由Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面具有尖端性能。在以往YOLO 版本的基础上,YOLOv8 引入了新的功能和优化,使其成为广泛应用中各种物体检测任务的理想选择。

image-20250526165954475

YOLOv8原理图如下:

image-20250526170118103

3.2 数据集准备与训练

采用 YOLO 格式的数据集结构如下:

dataset/
├── images/
│   ├── train/
│   └── val/
├── labels/
│   ├── train/
│   └── val/

每张图像有对应的 .txt 文件,内容格式为:

4 0.5096721233576642 0.352838390077821 0.3947600423357664 0.31825755058365757

分类包括(可自定义):

image-20260113001330533

3.3. 训练结果评估

训练完成后,将在 runs/detect/train 目录生成结果文件,包括:

  • results.png:损失曲线和 mAP 曲线;
  • weights/best.pt:最佳模型权重;
  • confusion_matrix.png:混淆矩阵分析图。
若 mAP@0.5 达到 90% 以上,即可用于部署。

在深度学习领域,我们通常通过观察损失函数下降的曲线来评估模型的训练状态。YOLOv8训练过程中,主要包含三种损失:定位损失(box_loss)、分类损失(cls_loss)和动态特征损失(dfl_loss)。训练完成后,相关的训练记录和结果文件会保存在runs/目录下,具体内容如下:

image-20260113001304625

3.4检测结果识别

使用 PyTorch 推理接口加载模型:

import cv2
from ultralytics import YOLO
import torch
from torch.serialization import safe_globals
from ultralytics.nn.tasks import DetectionModel

# 加入可信模型结构
safe_globals().add(DetectionModel)

# 加载模型并推理
model = YOLO('runs/detect/train/weights/best.pt')
results = model('test.jpg', save=True, conf=0.25)

# 获取保存后的图像路径
# 默认保存到 runs/detect/predict/ 目录
save_path = results[0].save_dir / results[0].path.name

# 使用 OpenCV 加载并显示图像
img = cv2.imread(str(save_path))
cv2.imshow('Detection Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

预测结果包含类别、置信度、边框坐标等信息。

image-20260113001359417

四.YOLOV8+YOLOUI完整源码打包

本文涉及到的完整全部程序文件:包括python源码、数据集、训练代码、UI文件、测试图片视频等(见下图),获取方式见【4.2 完整源码下载】:

4.1 项目开箱即用

作者已将整个工程打包。包含已训练完成的权重,读者可不用自行训练直接运行检测。

运行项目只需输入下面命令。

python main.py

读者也可自行配置训练集,或使用打包好的数据集直接训练。

自行训练项目只需输入下面命令。

yolo detect train data=datasets/expression/loopy.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 batch=16 lr0=0.001

4.2 完整源码

至项目实录视频下方获取:https://www.bilibili.com/video/BV1kFrjBQEJv

image-20250801135823301

包含:

📦完整项目源码

📦 预训练模型权重

🗂️ 数据集地址(含标注脚本)

总结

本文围绕 基于 YOLOv8 的停车场空车位目标检测系统,从应用背景、技术选型到系统实现进行了完整介绍。项目以停车场实际监控场景为出发点,采用 YOLOv8 作为核心检测模型,实现了对 已停车辆空车位 两类目标的高效识别,并通过 PyQt5 图形化界面完成了模型推理结果的可视化与交互操作。

从工程实现角度来看,项目不仅具备良好的检测精度与实时性能,同时在系统结构设计上强调可复现性与可扩展性,完整提供了数据集、训练脚本、权重文件及部署流程说明,降低了目标检测项目从算法验证到实际落地的门槛。无论是作为深度学习入门实践、课程设计与毕业设计选题,还是智慧停车与智能交通相关应用的原型系统,该项目都具有较高的参考价值。

后续可在此基础上进一步拓展车位编号绑定、空位统计分析、多摄像头协同感知及与停车管理系统的数据对接等功能,为智慧停车场景提供更加完善和工程化的解决方案。