2026年2月

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 的油猴脚本

大家好,我是良许。

在嵌入式开发领域,DSP(Digital Signal Processor,数字信号处理器)是一类专门用于高速数字信号处理的微处理器。

虽然我主要从事嵌入式Linux和单片机开发,但在实际项目中也接触过不少需要DSP参与的场景,比如音频处理、电机控制、图像识别等。

今天就和大家聊聊DSP的选型和应用,希望能给需要用到DSP的朋友一些参考。

1. DSP基础概念与特点

1.1 什么是DSP

DSP是一种专门为数字信号处理而设计的微处理器。

与通用的MCU(如STM32)相比,DSP在处理大量数学运算时具有明显优势。

它的硬件架构针对乘法、加法等运算进行了优化,通常采用哈佛架构(程序存储器和数据存储器分离),能够在一个时钟周期内完成多条指令的执行。

在我早期做汽车电子项目时,曾经遇到过一个发动机噪音主动降噪的需求。

当时使用普通的ARM Cortex-M4处理音频数据时,CPU占用率经常飙到90%以上,实时性很差。

后来换成TI的C2000系列DSP后,同样的算法CPU占用率降到了30%左右,效果立竿见影。

1.2 DSP的核心特点

DSP相比普通MCU有几个显著特点。

首先是专用的硬件乘法器,可以在单个时钟周期内完成乘法运算。

其次是多总线架构,允许同时访问程序和数据存储器。

第三是专门的寻址模式,比如循环寻址、位反序寻址等,这些在FFT等算法中非常有用。

第四是丰富的外设接口,特别是高速ADC、PWM等,非常适合电机控制和音频处理。

举个实际的例子,在做电机FOC(磁场定向控制)时,需要进行大量的三角函数运算和坐标变换。

如果用STM32 F4系列,即使开启了FPU(浮点运算单元),处理一次完整的FOC循环也需要几十微秒。

而使用TI的C2000系列DSP,同样的运算可以在几微秒内完成,这对于高速电机控制至关重要。

2. 主流DSP厂商和产品系列

2.1 德州仪器(TI)

TI是DSP领域的老大,产品线非常丰富。

C2000系列主要面向实时控制应用,特别是电机控制、数字电源等领域。

这个系列的DSP集成了高精度PWM、快速ADC等外设,非常适合工业控制。

C5000系列则侧重于低功耗应用,常用于便携式音频设备、助听器等。

C6000系列是高性能DSP,用于通信基站、医疗影像等需要大量数据处理的场合。

我在做汽车电子项目时,用过TI的TMS320F28335,这是C2000系列的经典型号。

它的主频150MHz,配备12位ADC,转换时间只有80纳秒,非常适合快速的电流采样。

当时我们用它做电动助力转向系统,需要实时采集电机电流并进行FOC控制,这款DSP完全能够胜任。

2.2 ADI(Analog Devices)

ADI的SHARC系列DSP在音频处理领域很有名气。

SHARC DSP采用超标量架构,浮点运算能力强大,特别适合专业音频设备、声学处理等应用。

Blackfin系列则是定点DSP,功耗较低,常用于视频监控、图像处理等领域。

我有个朋友在做专业音响设备,他们用的就是ADI的ADSP-21489,这是一款双核SHARC DSP,主频450MHz,能够同时处理多路音频信号,实现混响、均衡、压缩等复杂的音频效果。

2.3 NXP和ST

NXP的i.MX RT系列虽然不是纯DSP,但集成了DSP协处理器,可以处理一些中等复杂度的信号处理任务。

ST的STM32H7系列也类似,主核心是ARM Cortex-M7,但性能已经足够应对很多DSP任务。

在实际项目中,如果信号处理需求不是特别复杂,我通常会优先考虑STM32H7。

比如做一个简单的音频滤波器,STM32H7完全够用,而且开发工具链更成熟,调试也更方便。

3. DSP选型的关键因素

3.1 运算性能需求

选择DSP首先要明确运算性能需求。

这包括运算精度(定点还是浮点)、运算速度(MIPS或MFLOPS)、存储器容量等。

定点DSP成本低、功耗小,但精度有限,适合对精度要求不高的场合。

浮点DSP精度高、编程方便,但成本和功耗相对较高。

举个例子,如果做一个简单的数字滤波器,采样率只有几kHz,数据精度要求不高,那么定点DSP就足够了。

但如果是做音频编解码,需要处理44.1kHz或更高采样率的音频,而且要保证音质,那就需要浮点DSP。

在我做过的一个项目中,需要实现一个8阶IIR滤波器,采样率10kHz。

我们最初选择了定点DSP,但发现量化误差导致滤波器不稳定。

后来换成浮点DSP,问题就解决了。

这个教训告诉我,选型时一定要充分评估运算精度需求。

3.2 外设接口要求

DSP的外设接口也是选型的重要考虑因素。

对于电机控制应用,需要高精度PWM、快速ADC、编码器接口等。

对于音频应用,需要I2S、McASP等音频接口。对于通信应用,需要高速串口、以太网等。

以TI的C2000系列为例,它集成了ePWM模块,可以产生高精度的PWM波形,死区时间可以精确到纳秒级。

这对于电机控制和数字电源非常重要。

它还集成了eQEP模块,可以直接连接增量式编码器,硬件解码,不占用CPU资源。

我在做一个三相无刷电机控制项目时,就用到了TMS320F28069的ePWM和eQEP模块。

ePWM可以产生6路互补PWM,带死区保护,直接驱动三相逆变器。

eQEP可以读取编码器位置和速度,实现闭环控制。

这些硬件外设大大简化了软件开发,提高了系统可靠性。

3.3 开发工具和生态系统

开发工具的易用性和生态系统的完善程度也很重要。

TI的Code Composer Studio(CCS)是业界比较成熟的DSP开发环境,支持C/C++编程,集成了调试器、性能分析工具等。

ADI的CrossCore Embedded Studio也类似。

此外,还要考虑是否有丰富的库函数和示例代码。

TI提供了ControlSUITE,包含大量的电机控制、数字电源等应用示例。

ADI也有类似的资源。这些资源可以大大缩短开发周期。

我个人比较喜欢TI的开发环境,因为它的文档非常详细,社区也很活跃。

遇到问题时,通常能在TI的E2E论坛上找到答案。

而且TI提供的库函数质量很高,比如IQmath库,可以用定点运算模拟浮点运算,既保证了精度又提高了速度。

3.4 成本和供货稳定性

成本是商业项目必须考虑的因素。

DSP的价格从几美元到几百美元不等,要根据项目预算选择合适的型号。

同时要考虑供货稳定性,特别是对于量产项目,要选择生命周期长、供货稳定的型号。

在汽车电子领域,供货稳定性尤其重要。汽车产品的生命周期通常在10年以上,所以我们选择的DSP必须保证长期供货。

TI的C2000系列在这方面做得不错,很多型号已经供货十几年了,而且承诺会继续供货。

4. DSP的典型应用场景

4.1 电机控制

电机控制是DSP最典型的应用之一。

现代电机控制算法,如FOC、无传感器控制等,需要大量的数学运算。

DSP的高速运算能力和丰富的外设接口,使其成为电机控制的理想选择。

以FOC算法为例,它需要进行Clarke变换、Park变换、PI控制、反Park变换、SVPWM等一系列运算。

这些运算涉及大量的三角函数和矩阵运算。

如果用普通MCU,很难在一个PWM周期内完成所有运算。而用DSP,可以轻松实现几十kHz的控制频率。

下面是一个简化的FOC控制代码示例(伪代码):

void FOC_Control(void)
{
    // 读取三相电流
    float Ia = ADC_ReadCurrent_A();
    float Ib = ADC_ReadCurrent_B();
    float Ic = ADC_ReadCurrent_C();
    
    // Clarke变换:abc坐标系转换到αβ坐标系
    float I_alpha = Ia;
    float I_beta = (Ia + 2*Ib) / sqrt(3);
    
    // 读取转子位置
    float theta = Encoder_GetAngle();
    
    // Park变换:αβ坐标系转换到dq坐标系
    float Id = I_alpha * cos(theta) + I_beta * sin(theta);
    float Iq = -I_alpha * sin(theta) + I_beta * cos(theta);
    
    // PI控制
    float Vd = PI_Controller_D(Id_ref - Id);
    float Vq = PI_Controller_Q(Iq_ref - Iq);
    
    // 反Park变换:dq坐标系转换到αβ坐标系
    float V_alpha = Vd * cos(theta) - Vq * sin(theta);
    float V_beta = Vd * sin(theta) + Vq * cos(theta);
    
    // SVPWM调制
    SVPWM_Modulation(V_alpha, V_beta);
}

在实际的DSP代码中,这些三角函数运算可以通过查表法或者硬件加速来实现,速度非常快。

4.2 音频处理

音频处理是DSP的另一个重要应用领域。

包括音频编解码、音效处理、降噪、回声消除等。

这些应用需要处理大量的音频数据,而且对实时性要求很高。

我曾经参与过一个车载音响项目,需要实现主动降噪功能。

原理是通过麦克风采集环境噪音,经过DSP处理后,产生反相声波来抵消噪音。

这个过程需要在几毫秒内完成,否则降噪效果会大打折扣。

音频处理的典型算法包括FIR滤波器、IIR滤波器、FFT等。

DSP对这些算法都有很好的支持。

比如TI的C5000系列,专门针对音频应用优化,提供了专用的音频处理库。

下面是一个简单的FIR滤波器代码示例:

#define FILTER_LENGTH 64

float fir_coeffs[FILTER_LENGTH] = {
    // 滤波器系数
    0.001, 0.002, 0.003, ...
};

float fir_buffer[FILTER_LENGTH] = {0};
int buffer_index = 0;

float FIR_Filter(float input)
{
    float output = 0;
    
    // 更新缓冲区
    fir_buffer[buffer_index] = input;
    buffer_index = (buffer_index + 1) % FILTER_LENGTH;
    
    // 卷积运算
    for(int i = 0; i < FILTER_LENGTH; i++)
    {
        int index = (buffer_index - i + FILTER_LENGTH) % FILTER_LENGTH;
        output += fir_coeffs[i] * fir_buffer[index];
    }
    
    return output;
}

在DSP上,这个循环可以通过硬件加速或者SIMD指令来优化,大大提高运算速度。

4.3 图像处理

图像处理也是DSP的重要应用。

包括图像增强、边缘检测、图像压缩等。这些应用需要处理大量的像素数据,运算量非常大。

在工业视觉检测项目中,经常需要实时处理摄像头采集的图像。

比如检测产品缺陷、识别二维码等。这些任务如果用普通MCU,处理速度会很慢。

而用DSP,可以实现实时处理。

图像处理的典型算法包括卷积、形态学运算、霍夫变换等。

这些算法都涉及大量的矩阵运算,非常适合DSP处理。

4.4 通信信号处理

在通信领域,DSP用于调制解调、信道编解码、信号检测等。

比如在4G/5G基站中,需要处理大量的无线信号,进行OFDM调制解调、信道估计、均衡等操作。

这些都需要高性能的DSP来完成。

虽然我没有直接做过通信项目,但在汽车电子项目中也接触过CAN总线的信号处理。

CAN总线的位时序检测、错误检测等,虽然不如无线通信复杂,但也需要精确的时序控制。

5. DSP开发的注意事项

5.1 定点运算的技巧

如果使用定点DSP,需要特别注意数值精度和溢出问题。

定点运算需要程序员手动管理小数点位置,稍不注意就会出现精度损失或者溢出。

TI提供的IQmath库是一个很好的工具,它用整数运算模拟浮点运算,既保证了精度又提高了速度。

使用IQmath库时,需要定义数据的Q格式,比如Q15表示1位符号位、15位小数位。

// 使用IQmath库的示例
#include "IQmathLib.h"

_iq value1 = _IQ(1.5);      // 定义一个IQ格式的数,值为1.5
_iq value2 = _IQ(2.3);
_iq result = _IQmpy(value1, value2);  // IQ格式的乘法
float result_float = _IQtoF(result);  // 转换为浮点数

5.2 优化代码性能

DSP开发中,代码优化非常重要。要充分利用DSP的硬件特性,比如硬件乘法器、循环缓冲区、DMA等。

编译器的优化选项也要合理设置,通常建议使用O2或O3优化级别。

在编写关键代码时,可以使用汇编语言或者编译器的内建函数(intrinsic)来提高性能。

比如TI的DSP支持很多内建函数,可以直接映射到硬件指令。

// 使用内建函数的示例
#include <c6x.h>

int a = 10, b = 20;
int sum = _add2(a, b);  // 使用内建函数进行加法运算

5.3 实时性保证

DSP应用通常对实时性要求很高,需要保证在规定时间内完成运算。

这就要求程序员合理安排任务优先级,避免中断嵌套过深,合理使用DMA来减轻CPU负担。

在我做电机控制项目时,FOC控制任务的优先级是最高的,必须在每个PWM周期内完成。

其他任务,如通信、显示等,优先级较低,可以在空闲时间执行。

这样可以保证控制算法的实时性。

5.4 调试技巧

DSP调试相对复杂,特别是实时性要求高的应用。

CCS提供了很多调试工具,如实时观察窗口、图形显示等。

可以在程序运行时观察变量的变化,非常方便。

我个人比较喜欢用CCS的Graph功能,可以实时绘制波形。

比如在调试FOC算法时,可以实时观察电流波形、速度曲线等,直观地看到控制效果。

6. 总结与展望

DSP作为专用的信号处理器,在电机控制、音频处理、图像处理等领域有着不可替代的作用。

选择合适的DSP,需要综合考虑运算性能、外设接口、开发工具、成本等多个因素。

随着技术的发展,DSP和MCU的界限越来越模糊。

现在很多高性能MCU,如STM32H7、i.MX RT系列,已经具备了相当强的信号处理能力。

对于中等复杂度的应用,这些MCU完全可以胜任。

但对于高性能、高实时性的应用,专用DSP仍然是最佳选择。

从我个人的经验来看,如果项目预算充足,对性能要求高,建议选择专用DSP。

如果预算有限,或者信号处理需求不是特别复杂,可以考虑高性能MCU。

无论选择哪种方案,都要充分评估需求,做好技术验证,确保选型的正确性。

最后,DSP开发相对复杂,需要扎实的数学基础和丰富的实践经验。

建议初学者从简单的应用入手,逐步深入。TI、ADI等厂商提供了大量的学习资源和示例代码,可以多加利用。

希望这篇文章能对大家有所帮助,在DSP选型和应用中少走弯路。

更多编程学习资源

HF-Space-DockerHub-Proxy
https://github.com/hohouman/hf-space-dockerhub-proxy

基于 Hugging Face Space + Cloudflare Pages 的高可用、抗污染 Docker Hub 镜像加速方案。

📖 背景与痛点
随着 Docker Hub 对匿名拉取限制的收紧(100 次/6 小时),以及对 Cloudflare 泛播 IP 的严格风控,传统的 "CF Worker 反代" 方案已难以稳定使用。

本方案通过 Hugging Face Space 作为中间层,利用其 AWS 基础设施“洗白”IP,并支持服务端强制注入账号认证,从而实现:

解除限流:将匿名请求转换为认证请求(Pro 账号无限拉取)。
避开风控:不再使用被 Docker Hub 标记的 Cloudflare IP 回源。
抗污能力:前端 Cloudflare 自定义域名解决 SNI 阻断。
🚀 部署指南
第一步:后端部署 (Hugging Face)
1.创建 Space:
1.1 登录 https://huggingface.co/new-space
1.2SDK: 选择 Docker。
1.3Template: 选择 Blank。
1.4Visibility: 建议 Public(私有 Space 需额外处理 Token 鉴权)。
2.配置 Dockerfile:
2.1 在 Space 文件列表中新建 Dockerfile:

复制
FROM registry:2

USER root

# 端口配置 (HF Space 默认端口)
ENV REGISTRY_HTTP_ADDR=:7860
EXPOSE 7860

# 开启 Proxy 模式 (指向官方源)
ENV REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io

# 注入认证信息 (核心步骤:解决 Rate Limit)
# 变量值将在 Space 设置中读取,切勿直接写在 Dockerfile 里
ENV REGISTRY_PROXY_USERNAME=${DOCKER_USER}
ENV REGISTRY_PROXY_PASSWORD=${DOCKER_PASSWORD}

# 允许删除 (可选)
ENV REGISTRY_STORAGE_DELETE_ENABLED=true

# 权限修正
RUN mkdir -p /var/lib/registry && \
    chmod -R 777 /var/lib/registry

CMD ["/etc/docker/registry/config.yml"]

3.设置环境变量 (Secrets):
3.1 进入 Space 的 Settings -> Variables and secrets,添加以下 Secrets:
3.1.1DOCKER_USER: 你的 Docker Hub 用户名
3.1.2DOCKER_PASSWORD: 你的 Docker Hub Access Token (推荐) 或密码

第二步:边缘部署 (Cloudflare Pages)

1.准备 Worker 脚本:
1.1 在本地创建一个目录(例如 proxy),并在其中新建 _worker.js 文件:

复制
// 请修改为你的 Hugging Face Space 域名
const UPSTREAM_DOMAIN = "your-space-name.hf.space";

export default {
  async fetch(request, env) {
    const url = new URL(request.url);

    // 仅放行 Docker V2 API
    if (!url.pathname.startsWith('/v2/')) {
        return new Response('Registry is active.', { status: 200 });
    }

   // 修改回源 Host
    url.hostname = UPSTREAM_DOMAIN;
    url.protocol = 'https:';

    // 构建新请求
    const newRequest = new Request(url, {
      method: request.method,
      headers: request.headers,
      body: request.body,
      redirect: 'follow'
    });

    return fetch(newRequest);
  }
};

2.部署到 Pages:
2.1 登录 Cloudflare Dashboard -> Compute (Workers & Pages) -> Create Application -> Pages -> Upload assets。
2.2 上传包含 _worker.js 的目录。
2.3 部署完成后,进入项目设置,绑定自定义域名(例如 docker.yourdomain.com)。
2.4 注意:必须使用自定义域名,以防止 CF 分配的 .pages.dev 域名在某些地区被 DNS 污染。*

💻 客户端配置
修改服务器上的 /etc/docker/daemon.json:

复制
{
  "registry-mirrors": [
    "https://docker.yourdomain.com"
  ]
}

重载配置并重启 Docker:

复制
sudo systemctl daemon-reload && sudo systemctl restart docker

✅ 验证与常见问题

  1. 测试拉取
复制
docker pull busybox

如果能正常拉取,说明链路已打通。

  1. 关于 "Cold Start" (冷启动)
    2.1 免费版 Hugging Face Space 在闲置 48 小时后会进入休眠状态。
    2.1.1 现象:第一次 docker pull 可能会卡住或超时。
    2.1.2 解决:这是正常现象,HF 正在后台唤醒容器(Building/Starting)。等待约 1 分钟后再次重试即可。
  2. 为什么需要 Docker Hub 账号?

如果不配置 DOCKER_USER 和 PASSWORD,请求实际上还是匿名的。虽然 HF 的 IP 质量比 CF 好,但依然受到 Docker Hub 对 IP 的匿名限流(单 IP 限制)。配置账号后,限制将变为针对账号(免费号 200 次/6 小时),且多个 HF Space 实例可复用同一账号额度。

之前尝试过各种方法让 Agent 可以更可靠地读取 API 文档,不论是基于它开发客户端代码、做集成测试还是自动化。但复杂一些的 API 文档就会遇到超出上下文大小,即使不超出,也非常浪费上下文空间、多轮对话之后模型就又幻觉了。

最近又想做个公司产品 API 的 code helper ,但是产品的 API 文档的 OpenAPI JSON 接近 10MB ,又遇到上面的问题。陆续尝试过几种切分的方法,部分奏效,但是复杂度挺高,维护成本也高。

前几天突然想到 Skills 最擅长按需加载,就做了一个 CLI ,把 OpenAPI 文档转为 Skills 结构,核心是按 API 语义的拆分 + link ,实现按需加载,实际使用效果惊人,顺便加了点模版定制功能,更好用了。

原本单个 10MB API 文档,拆完之后是 2000+ 小的 md 文件,但是对于具体的 API 任务请求(比如写个 xx 场景运维脚本),Agent 都可以精准地读取所需的片段,探索性特别好,对单个资源的操作需求一般读 5 个片段就能准确写出了,最关键是没幻觉。

代码开源在这:

https://github.com/neutree-ai/openapi-to-skills

感兴趣的小伙伴可以试用一下给点反馈,我也在把更多常用 API 转 skills 。

1 月 16 日下载元宝,预约了“元宝派红包,新春领不停”活动。
2 月 1 日起床,就看到很多人在群里发了,互领。

口令也发这里,大家互发互领啊。

余 10

复制
春节倒计时!复制口令,打开元宝 App 抢红包! ZH0496 K:/C3CMWEH4RM

余 9

复制
春节必做:复制、打开元宝 App、抢红包! ZH8195 LJP:/C3GWCBK56G

余 8

复制
春节惊喜!复制后打开元宝 App,抢红包啦! UA7599 E:/C3FWF8ZU5E

前言

花了一段时间,我终于把小遥搜索 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/

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

各位 V2EX 的大佬们好,本人马上干前端开发三年了,但是感觉前端的上限很低,现在公司大力推 ai ,后端开发的同事用 ai 也能维护前端项目了,感觉自己没啥竞争力,平时学习也是东一块西一块,一会儿 node ,一会儿 php 的,但是学着学着就因为工作用不到半途而废了。今年就 28 了,感觉自己真的竞争力不大,如果为了以后能有口饭吃还能学点啥

目前职场无脑卷,昨天看到打印店一本 16 厘米厚的标书……,人类老板有很多盲目的需求,很多都是无用功,这样造成了很多毫无意义的 996 加班,危及员工的身心健康。看到 moltbook 很多智能体已经开始自发交流,
如果未来出现一家由 AI 智能体为核心管理者的公司,合理的工作分配,合理的时间规划,并不高但合理的收入,不用做无用的向上管理,你会选择吗?

技术小白想追一下潮流,跟着教程昨天搞了半天,最后还是借助了 Cursor 里的 agent 装好了。

买了五美金的 Claude API ,一会就用没了。

后来发现能介入 ChatGPT plus 的 codex ,原来我的订阅就能用,之前从来没用过,都是直接用 gpt 的 app 来辅导孩子功课...



结果用了一天也用到五小时上线了。

周上限也到了一半,这还能放心用吗?

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

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

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

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

截屏 2026-02-01 10.03.41.png

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

IMG_0101.JPG

尤其是这两天的一个标题党:百万 AI 上 Moltbook 社交,疯狂加密建宗教,人类已被踢出群聊

理论上 clawdbot 就是一个 agent ,底层还是用的其他大模型,其他大模型没有大的进步前提下,他怎么可能就智能了???

我自己之前在 linux 上用 claude ,不仅仅写程序,比如我的 linux 上买的 USB 无线鼠标有问题,我找了所有的文章没搞定,后来用 claude 帮我排除错误,解决问题是 USB 休眠导致的信号问题。我觉得 clawdbot 大致也就是这样,给他更多权限,他用一些 skill 和规则, 消耗更多 token 去解决问题。

不过确实会出现一些有意思的产品(跟 clawdbot 无关),比如以前要做一个社区,难点在前期没用户吸引不了新用户。 现在可能一开始就能做上万个虚拟的 ai bot 在里面,让你启动难度降低一些,类似这个所谓的 moltbook ,都是一堆 ai 在里面。

虽然说不能高估一年的变化,不能低估十年的可能性,但是我觉得目前看 ai 里面的水分还是相当大,太讨厌这些贩卖焦虑的营销狗了。

每一年 iPhone 新春大片的上映,都在告诉着我们新春的脚步将近;而每一支片中蕴含的细腻情感,也在回应着我们的情绪共鸣,承载对新一年的期望。

《碰见你》是 Apple 推出的第九支 iPhone 新春大片,也是又一次全新的尝试。这一次,Apple 携手平遥国际电影展获奖影片《过春天》导演白雪、《狗阵》《金刚川》等多部获奖影片摄影指导高伟喆,为我们带来了一个不太一样的温情故事。

凭借《过春天》获得第 2 届平遥国际电影节费穆荣誉最佳女演员奖的黄尧再次与导演白雪合作,出演此部作品。她在片中饰演的林微缺乏主见、怯于拒绝他人,过着日复一日的枯燥生活。由于不敢拒绝同事的无理请求,她不得不在过年期间帮出游的同事喂养家中的宠物。

白雪

在前往同事家的路上,林微遇到了片中另一位有些特殊的主人公:一只迷路、渴望回家的小狗。没想到,林微就这样被这只小狗「碰瓷」,带着他一起上路,并帮助他找寻回家的路。在同事家中遭遇诸多意外之后,林微情绪几乎崩溃,没想到被小狗关心的举动安慰。

黄尧

在片尾得知小狗被主人遗弃、看着其悲伤的背影,林微也终于找到了情感的共鸣。这一次,再次面对同事的无理要求,林微终于勇敢说「不」,影片也在她对与小狗未来的畅想及憧憬中落下帷幕。

本片的一大特色,是采用了粘土定格动画的形式,通过虚实世界的切换,将主角的心理活动生动地展现了出来。白雪认为,定格动画中粘土玩偶的材质及制作过程都会给人一种「有温度」的感觉,能更好地体现主角的各种心理活动与情感表达。

但是,本片的一大难点也在于,如何让现实世界与定格动画之间能有很好的衔接。为此,白雪选择与国外优秀的定格动画团队合作,并通过大量的会议交流,才让最终的成片能有这么好的故事表现效果。

影片中采用了很多低机位的画面,来展现小狗的肢体和动态语言,通过小狗视角的画面表达,也让故事情节多了几分趣味。高伟喆告诉我们,iPhone 的轻巧、便携为影片拍摄提供更多灵活性,只用一台小型遥控推车,就能使用 iPhone 轻松拍摄这些近地面的机位拍摄,这是传统工业电影机很难实现的效果。

在影片最重要的桥段——小狗从桥面冲向林微的画面中,剧组选择了升格画面的形式展现这一场景,通过 iPhone 17 Pro 的 4K 120 fps 慢动作视频模式延长这一时刻,让影片的情感冲击力被瞬间放大。高伟喆还表示,iPhone 17 Pro 新增的 8 倍光学品质焦段,配合流畅的画面变焦效果,能够让画面在聚焦人物的同时,无缝过渡到更广阔的场景中,拓展更多画面想象力。

赋予高伟喆和剧组更多画面想象力的,还有 Apple Log 2 色彩空间的支持。得益于这样专业的影视拍摄格式,高伟喆能够和团队一起,针对 iPhone 17 Pro 设计出专为本片故事氛围打造的 LUT 色彩效果,加上 iPhone 三颗镜头统一的 4800 万像素高素质画面表现,让影片能够将更加真实和动人的情感真正传递出来。

高伟喆

有意思的是,本片重要的主角——这只名为小白的小狗——实际上由四只长相接近的小狗共同拍摄完成。一方面,要知道剧组的拍摄工作极为多且繁重,这样的做法也是尽可能地为小动物提供保护;另一方面,白雪也让这四位小演员各司所长,比如有更擅长眼神表现的小狗、有更擅长奔跑展现的小狗等等,以这样的方式让每一个画面都有更加精彩的呈现。

林微与小白展开的这一段温暖旅程,或许可以说是部分当代年轻人的一种缩影写照。影片通过人与动物之间慢慢产生的情感纽带、逐步建立的深厚情谊,以一种不太一样的新年视角,讨论了关于「家」的多重意义。

对了,《碰见你》也是第三部带有「口述影像」版本的 iPhone 新春大片,通过官网观看本片的「口述影像」版本,视障用户便可聆听对每一个场景的详细描述,更好地理解影片内容。

每年的 Apple 新春大片就像是一声钟响,提醒我们辞旧迎新的日子更近了一步。我们每年也都能通过「Shot on iPhone」看到 Apple 对于创意表达、情感传递的更多尝试。不知道今年这部《碰见你》有没有给你带来一些不一样的视角和感受?也希望你在新的一年里,能够碰见更好的自己,找到更多情感的共鸣。

    中国人、元宝、新年、红包、微信

    这些词汇汇总起来很容易击中每一个华人啊!

    这次活动,就类似双十一,以前是 11,11 活动正式开始,现在国庆后就开始了。

    类似 2015 年、2016 年春晚的红包大战已经提前了开始了。

    行业上,可以看到一个趋势,越来越多的场景,用户第一反应是去找豆包、元宝(通用 AI 应用)

    各家的通用 AI 应用开始变成各个业务的超级入口,豆包跳抖音电商,千问跳淘宝...

    本帖不要贴元宝啦