# 📰 大家都在做什么 · 2026-04-26

## 阮一峰周刊·用户投稿（8 条）

### 【工具】pompelmi - 为 Node.js 开发者封装的 ClamAV 文件扫描库 👤 SonoTommy
> 工具简介 pompelmi 是一个极简的 Node.js 开源库（ISC 协议），对 ClamAV 进行了封装。 调用 scan() 扫描任意文件，返回一个类型化的 Symbol 结果： Verdict.Clean、Verdict.Malicious 或 Verdict.ScanError。 无需守护进程，无需云服务，无需原生绑定，零运行时依赖。 工作原理 1. 验证 — 检查参数是否为字符串，文件是否存在 2. 扫描 — 以子进程方式执行 clamscan nosummary <filePath，读取退出码 3. 映射 — 将退出码直接映射为结果 Symbol 不解析 stdout，不用正则，没有意外。 基本用法 js const { scan, Verdict } = require('pompelmi'); const result = await scan('/path/to/upload.zip'); if (result === Verdict.Malicious) { throw new Error('文件被拒绝：检测到恶意软件'); } 扫描结果说明 | 结果 | ClamAV 退出码 | 含义 | ||::|| | Verdict.Clean | 0 | 未发现威胁 | | Verdict.Malicious | 1 | 匹配到已知病毒或恶意软件签名 | | Verdict.ScanError | 2 | 扫描失败（I/O 错误、加密压缩包等），状态未知，建议视为不可信 | 每个 Verdict Symbol 都有 .description 属性，方便日志输出： js console.log(Verdict.Clean.description); // = 'Clean' 错误处理示例 js const { scan, Verdict } = require('pompelmi'); const path = require('path'); async function safeScan(filePath) { try { const result = await scan(path.resolve(filePath)); if (result === Verdict.ScanError) { console.warn('扫描未完成，作为预防措施拒绝该文件。'); return null; } return result; // Verdict.Clean 或 Verdict.Malicious } catch (err) { console.error('扫描失败：', err.message); return null; } } Docker / 远程扫描 如果 ClamAV 运行在 Docker 容器或远程服务器上，只需传入 host 和 port，其他不变： js const result = await pompelmi.scan('/path/to/upload.zip', { host: '127.0.0.1', port: 3310, }); 支持平台 | 系统 | ClamAV 安装命令 | ||| | macOS | brew install clamav && freshclam | | Linux | sudo aptget install y clamav clamavdaemon && sudo freshclam | | Windows | choco install clamav y | 项目信息 GitHub： npm： Stars：585+ 已被 Node Weekly、Stack Overflow Blog、Help Net Security 收录 支持 Express、Fastify、Next.js、NestJS、Koa 等主流框架

🔗 [GitHub](https://github.com/pompelmi/pompelmi) · [投稿页](https://github.com/ruanyf/weekly/issues/9761)


### 【开源自荐】Vibe-Skills：一个自动调度340+Skills的AI任务执行的skills框架 👤 foryourhealth111-pixel
> 项目地址： 一个面向 AI Agent 的标准化 Skills 执行框架。它内置 340+ skills，可在统一 harness 下自动拆分任务 阶段，并按阶段调用不同 skills，减少用户手动控制负担。同时支持自适应 TDD 开发流程、标准化信息存储和跨会话协作，让复杂任务更容易稳定交付。 口语一点来说：VibeSkills 是一个面向 AI Agent 的标准化 Skills 执行框架。它内置 340+ skills，可在统一 harness 下自动拆分任务阶段，它把复杂任务拆成需求确认、计划冻结、多代理执行、验证证据等阶段，并按阶段调用不同 skills，减少用户手动控制负担。 它还内置自适应 TDD 开发框架，以测试驱动任务完成，提升复杂任务交付质量。需求、计划、执行状态和验证结果会以标准化方式存储，方便跨会话继续工作，降低上下文管理负担。 主要特点： 标准化 harness：自动调度任务阶段，并在不同阶段调用对应 skills。 340+ skills 已整合：开发、测试、文档、研究、部署等能力开箱即用，减少用户对AI上手的学习负担。 自适应 TDD：以测试驱动任务完成，保证复杂任务的交付质量。 标准化信息存储：支持跨会话工作，减少上下文管理负担。 插件式 skills package：即插即用，易安装，可适配 Claude Code、Codex 等多种环境。 仓库 1.7k star，129 个 fork，Apache 2.0 许可证，过去 14 天内 11,299 个克隆。仓库乐于听取各种意见！在积极持续的更新。 架构示意图： 使用示例： vibeskills如何实践，及实践效果介绍（以轮椅的搓一个人脸识别模型，并直出latex论文为例）

🔗 [GitHub](https://github.com/foryourhealth111-pixel/Vibe-Skills) · [投稿页](https://github.com/ruanyf/weekly/issues/9762)

📌 同时收录于：阮一峰周刊·用户投稿、HelloGitHub·用户投稿


### 一站式 AI 工具聚合平台 👤 sunnywanggit

🔗 [官网](https://hubvanta.com/) · [投稿页](https://github.com/ruanyf/weekly/issues/9763)


### 【工具自荐】邻云 - 让局域网设备互联 👤 hanaTsuk1
> 介绍 官网： 简介：为了更方便和同一局域网下的电脑交互，可以使用手机、电脑操控另一台电脑 功能 + 🔎自动搜索设备，授权后下次自动连接 + 📁 上传、下载文件 + 📸 手机给电脑截图，一键存入相册 + ▶️ 直接播放电脑共享的视频 + 🖥️远程屏幕，直接控制电脑操作 + ⌨️终端输入，执行命令 截图 主界面，可通过左右↔️滑动快速切换连接的设备 截图页面示意图

🔗 [官网](https://xchongsu.com) · [投稿页](https://github.com/ruanyf/weekly/issues/9764)


### 【开源自荐】ast-outline：AI的代码骨架阅读器，节省5–10倍Token 👤 aeroxy
> 项目地址： 一句话：给LLM Coding Agent准备的“代码骨架”提取工具——只看类/函数/签名，不看函数体，帮你省下5–10倍的上下文Token。 卖点：用Rust编写，基于@HerringtonDarkholme的astgrep和@maxbrunsfeld的treesitter，毫秒级并行扫描整个目录。输出结构清晰，包含精确的起止行号（例如 L42L58），AI可以先看骨架，定位到具体方法后再读取完整代码段，不需要反复吞下整个文件。 典型场景： AI 编程助手：Claude Code、Cursor、Copilot Workspace 等 Agent 在理解陌生代码时，先用 astoutline digest src/ 拿到模块结构，再用 astoutline show Player.cs TakeDamage 精准读取方法体。 人类开发者：快速浏览一个大型文件的结构（类似 tree 但针对源代码），搞清楚文件里有哪些类、哪些函数。 代码审查：只看“接口签名”，忽略实现细节，快速理解模块边界。 功能： astoutline path/to/file.rs — 输出单个文件的结构轮廓 astoutline src/ — 并行递归扫描整个目录 astoutline show Player.cs TakeDamage — 精确提取指定方法的完整代码 astoutline digest src/Services — 输出整个模块的公共API一览 astoutline implements IDamageable src/ — 找出所有实现/继承某个类型的类 支持的语言：Rust、Python、TypeScript/JavaScript、C、Java、Kotlin、Scala、Go、Markdown。添加新语言只需要一个适配文件，利用astgrep生态。 安装： bash Homebrew (macOS) brew install aeroxy/astoutline/astoutline Cargo cargo install astoutline 和astgrep的关系：astoutline依赖astgrep作为底层语法解析引擎，但职责完全不同。astgrep是通用的代码搜索/重构工具箱，astoutline是为AI定制的“代码骨架提取器”。 附言：代码完全开源，欢迎Star、提Issue、贡献新语言适配。

🔗 [GitHub](https://github.com/aeroxy/ast-outline) · [投稿页](https://github.com/ruanyf/weekly/issues/9765)


### 【开源自荐】让Claude Code有超越GPT Image 2的能力 👤 jiangmuran
> 开源地址： claudeimage 是一个 dropin 的 Claude Code / Codex skill 包，专门 教 AI 编程 agent 真正用好 OpenAI 在 2026 年 4 月发布的 GPT Image 2。 为什么需要它 GPT Image 2 是这一代图像模型的分水岭：长指令式 prompt 不再丢细节， 中日韩文字渲染终于正确，自定义分辨率最长 3840px，编辑端点支持 "change ONLY X / preserve Y exactly" 的外科手术级局部修改。 但 2026 年 4 月之前训练的 agent 完全不知道这些。它们仍然用老办法 写 prompt——"4K, ultra detailed, masterpiece, trending on artstation"——这些咒语在 GPT Image 2 上要么被忽略，要么帮倒忙。 它们粘 curl 命令而不存文件，生成完之后还会反过来问你"这看着对吗？" 这个 skill 把这些全修了。 三个让它真正起作用的设计 1. 可发现的 description：frontmatter 里列全了"海报"、"图标"、 "ppt 素材"、"改图"、"draw me"、"make an image" 等触发词， agent 的 skill 选择器会真的命中，而不是回退去自己拼 curl。 2. 一个 CLI，四种能力：生成 / 编辑 / 局部重绘 / 并行批处理 都是同一个 Python 脚本的子命令，零依赖（只用 urllib）。 3. 视觉自验证写进了工作流：skill 明确要求 Claude 在交付前 Read 自己生成的 PNG，对照 prompt 检查文字、构图、约束。 有问题就一次只改一个维度重生成。再也不会出现"图给你了， 你看对不对"。 它能做什么 Pitchdeck 幻灯片（像真正的 Series A 董事会幻灯片，不是"画一张幻灯片的插图"） 中文海报（楷书 / 黑体 / 思源黑体，渲染干净，不出乱码字） 写实 UI mockup（真实设备外框 + 合理的任务名 / 字体 / 配色） 像素图、tileset、角色三视图、游戏物品图标 信息图、logo 概念图、写实产品图 外科手术级修图（"change ONLY 天空 / preserve 其它一切" 模式） 装完下次有图像请求 Claude 自动发现 skill，不用重启。 Codex 用户把路径换成 ~/.agents/skills/gptimage2 即可。

🔗 [GitHub](https://github.com/jiangmuran/claude-image) · [投稿页](https://github.com/ruanyf/weekly/issues/9766)


### 【开源自荐】SiftMarks：把混乱的 Chrome 书签变成本地 AI 记忆库 👤 Lling0000
> 项目地址： 一句话：SiftMarks 是一个本地优先的 AI 书签管理工具，可以把混乱的 Chrome 书签导入、整理、搜索，并通过 MCP 交给 Claude、Cursor、Windsurf 等 AI 工具使用。 为什么做这个：浏览器书签很容易保存，但时间久了会变成重复链接、空文件夹、含糊标题和找不到的资料。SiftMarks 想解决的是“收藏容易，找回困难”的问题，让书签更像一个可搜索的本地记忆库。 主要特点： 本地优先：默认使用 SQLite，本地保存书签数据，不需要账号。 Chrome 扩展导入和同步回写：可以从 Chrome 导入书签，也可以把接受后的整理结果同步回 Chrome。 像 Pull Request 一样整理书签：重复链接、重命名、标签、失效链接等建议先审查，再决定是否应用。 搜索书签记忆：支持关键词搜索，后续可接入 AI Provider 做更接近“记忆”的搜索。 MCP 支持：可以让 Claude、Cursor、Windsurf 等 AI 客户端搜索和读取本地书签库。 中英文 README + 演示视频：仓库里包含截图和一个 20 秒左右的演示视频。 适合人群：开发者、研究者、资料收集重度用户，以及任何 Chrome 书签栏已经变得难以维护的人。 演示视频： 技术栈：TypeScript monorepo、Next.js、Chrome Extension、SQLite、MCP Server。

🔗 [GitHub](https://github.com/Lling0000/SiftMarks) · [投稿页](https://github.com/ruanyf/weekly/issues/9767)


### 【开源工具自荐】FlowSound：自动管理 macOS 音频焦点，让音乐成为真正的“背景” 👤 mattwong05
> ✨ 我为什么做 FlowSound？ 日常使用 Mac 时，我一直被一个很小但反复出现的问题困扰： 我希望 Apple Music / Spotify 一直作为背景音乐播放 但当我打开视频（YouTube / Telegram / 浏览器）时 👉 不希望音乐和视频声音混在一起 而当视频结束后 👉 又不想手动回去点播放 这个“切换注意力”的过程，本质上是一个音频焦点（audio focus）问题。 但 macOS 并没有提供一个统一、自动的机制来处理它。 于是我做了 FlowSound —— 一个自动帮你管理音频注意力的工具。 🔧 FlowSound 是什么？ FlowSound 是一个 macOS 菜单栏应用： 🎵 保持 Apple Music / Spotify 作为背景音乐 🔇 当其他 App 开始播放声音时： 自动淡出（fade out） 自动暂停音乐 🔊 当环境安静后： 自动恢复播放 自动淡入回原音量 👉 整个过程是连续、自然的，而不是突兀的 pause/play。 🧩 技术实现（给开发者的部分） 这个项目的核心不是 UI，而是系统层协调： 🎧 Core Audio process taps 实时监听系统中各进程的音频输出（RMS） 🧠 状态机（state machine） 避免反复 pause / resume 抖动 🎚️ 音量渐变控制（fade in/out） 🍎 AppleScript 自动化 控制 Apple Music / Spotify 🔍 Bundle ID 级别的进程识别 macOS 26+ 支持更精确监听 👉 本质是： 系统音频信号 + 进程识别 + 行为编排（orchestration） ⸻ 🔐 安全性与隐私（我最在意的一点） FlowSound 从一开始就是 localfirst 设计： ❌ 不联网 ❌ 没有 analytics ❌ 没有广告 ❌ 不上传任何音频 ❌ 不保存捕获的音频数据 它只做一件事： 判断“是否有其他 App 在发声”，而不是“发了什么声音”。 控制音乐也完全通过本地 Apple Events 完成。 👉 你可以把它理解为一个： 纯本地的系统自动化工具，而不是一个数据产品 ⸻ 📦 开源与可验证性 所有代码完全开源 Release 由 GitHub Action 通过源码打包，提供 SHA256 校验 可自行 build / audit 👉 我希望这个项目是可以被信任的工具，而不是黑盒软件 ⸻ 🧪 当前状态 已实现 MVP（稳定状态机 + 双音乐平台支持） 支持 Apple Music / Spotify macOS 15+ 后续方向： 支持更多音频应用 更细粒度的音频策略（如不同 App 不同行为） 更好的权限与用户体验设计 ⸻ 🔗 项目地址 GitHub: 下载: 网站: ⸻ 🙋 想听听大家的想法 我特别想知道： 你有没有遇到类似的“音频冲突”问题？ 如果开放规则系统，你希望怎么定义？

🔗 [GitHub](https://github.com/mattwong05/FlowSound) · [投稿页](https://github.com/ruanyf/weekly/issues/9768)


## HelloGitHub·用户投稿 ❌ 抓取失败

gh api 失败: gh: API rate limit exceeded for installation. If you reach out to GitHub Support for help, please include the request ID 3C05:12647:68F983A:6FFD927:6A9E8536 and timestamp 2026-09-07 09:34:46 UTC. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) (HTTP 403)


## Product Hunt 新品（20 条）

### ownstreet
> Sell digital products via your bio link (0% fees)

🔗 [Product Hunt](https://www.producthunt.com/products/ownstreet/launches/ownstreet?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### Evencers
> Find & book decorators & photographers easily

🔗 [Product Hunt](https://www.producthunt.com/products/evencers/launches/evencers?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### Download Video
> Download Instagram, YouTube, TikTok & Facebook videos in sec

🔗 [Product Hunt](https://www.producthunt.com/products/download-video/launches/download-video?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### PDFriend - PDF & ID Card Converter
> Convert ID cards into one-page print-ready format instantly

🔗 [Product Hunt](https://www.producthunt.com/products/pdfriend-pdf-id-card-converter/launches/pdfriend-pdf-id-card-converter?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### India Costartup
> India's First AI-Powered Business Matchmaking Platform

🔗 [Product Hunt](https://www.producthunt.com/products/india-costartup/launches/india-costartup?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### ApplyBoostAI
> Stop sending 100 resumes. Start getting interviews.

🔗 [Product Hunt](https://www.producthunt.com/products/applyboostai/launches/applyboostai?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### SaveTTOK - AI-Powered HD Downloader
> The AI utility and strategy hub for TikTok creators.

🔗 [Product Hunt](https://www.producthunt.com/products/savettok-ai-powered-hd-downloader/launches/savettok-ai-powered-hd-downloader?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### BounceProof
> The easiest way to verify emails, now in Google Sheets.

🔗 [Product Hunt](https://www.producthunt.com/products/bounceproof/launches/bounceproof?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### AulaPlay
> Crie Atividades Escolares com IA

🔗 [Product Hunt](https://www.producthunt.com/products/aulaplay/launches/aulaplay?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### Statix
> Monitor your PC with pets that bring it to life.

🔗 [Product Hunt](https://www.producthunt.com/products/statix-2/launches/statix-2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### Cryptocurrency Address Scanner
> the most sophisticated cryptocurrency scanner

🔗 [Product Hunt](https://www.producthunt.com/products/cryptocurrency-address-scanner/launches/cryptocurrency-address-scanner?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### BRUH
> A Meme based social media application

🔗 [Product Hunt](https://www.producthunt.com/products/bruh/launches/bruh?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### TrueTone — Speak With Confidence
> sound like the best version of you

🔗 [Product Hunt](https://www.producthunt.com/products/truetone-speak-with-confidence/launches/truetone-speak-with-confidence?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### Stylish Tamil Fonts
> Create Stylish Tamil Text

🔗 [Product Hunt](https://www.producthunt.com/products/stylish-tamil-fonts/launches/stylish-tamil-fonts?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### FPVibe
> Where FPV pilots share flights and find their crew.

🔗 [Product Hunt](https://www.producthunt.com/products/fpvibe/launches/fpvibe?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### IconNova
> From icons to code - instantly inside Figma

🔗 [Product Hunt](https://www.producthunt.com/products/iconnova/launches/iconnova?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### PintWatch Ireland
> Crowdsourced pint prices across Irish pubs

🔗 [Product Hunt](https://www.producthunt.com/products/pintwatch-ireland/launches/pintwatch-ireland?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### BMI Calculator by Pinkline
> Check your BMI, ideal weight & health insights instantly

🔗 [Product Hunt](https://www.producthunt.com/products/bmi-calculator-by-pinkline/launches/bmi-calculator-by-pinkline?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### Better Island
> Make your Dynamic Island actually useful with 8+ Pro Tools.

🔗 [Product Hunt](https://www.producthunt.com/products/better-island/launches/better-island?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)


### KudosWall Europass CV Builder
> Free AI Europass CV maker with instant ATS scoring.

🔗 [Product Hunt](https://www.producthunt.com/products/kudoswall-europass-cv-builder/launches/kudoswall-europass-cv-builder?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+community-pulse+%28ID%3A+298480%29)
