2作者: llehouerou5 天前原帖
管理本地音乐库曾经意味着需要同时使用多个应用程序:一个 Soulseek 客户端用于查找音乐,MusicBrainz Picard 用于标签处理,一个文件管理器用于整理文件夹,最后还有一个音乐播放器。每当有新专辑发布,就需要在不同窗口之间切换,等待应用程序重新扫描,并希望所有内容都能放在正确的位置。 我开发了 Waves,将整个工作流程整合到一个以键盘驱动的终端应用中。 工作流程: - 按下 "f d" 直接从播放器搜索 Soulseek - 从 MusicBrainz 的结果中选择一个发行版,下载匹配的文件 - 自动导入,自动标签处理,获取专辑封面,并进行 Picard 兼容的重命名 - 音乐文件进入你的库,随时可以播放 无需切换窗口,无需等待库重新扫描,无需手动整理文件。 但它不仅仅是一个优秀的音乐播放器: - 使用米勒列导航(艺术家 > 专辑 > 曲目),支持 vim 快捷键 - 无间断播放,支持 MP3/FLAC/Opus/M4A - 收音机模式:当你的播放队列结束时,使用 Last.fm 的相似艺术家继续从你的库中播放 - 支持 Last.fm 的 scrobbling,带离线队列 - 支持 MPRIS 实现 Linux 桌面集成 - 支持文件夹的播放列表、收藏夹、带撤销/重做的队列 - 全文搜索功能(SQLite FTS5) - 状态持久化:队列、位置等在重启后依然保持 使用 Go、Bubble Tea 和 SQLite 构建。Soulseek 集成需要运行 slskd 实例([https://github.com/slskd/slskd](https://github.com/slskd/slskd))。 ``` go install github.com/llehouerou/waves@latest # 或在 Arch 上 yay -S waves-bin # 或使用 Nix nix run github:llehouerou/waves ``` 进入后按 "?" 查看快捷键绑定。欢迎随时询问架构相关问题或提出功能请求。
1作者: charlie0simmon5 天前原帖
我开发这个工具是因为大多数图像放大器在处理人脸时效果不佳——它们会模糊皮肤并丢失面部细节。Crystal Upscaler 专注于肖像,在进行4倍放大时能够保留自然的皮肤纹理和身份特征。该工具可以在浏览器中使用,免费试用。非常期待来自HN社区的反馈!
2作者: mitjafelicijan5 天前原帖
作者在此。我制作了这个小型的 TUI 程序,用于管理 Linux 桌面上的默认应用程序。<p>也许你们中的一些人会觉得它有用。<p>欢迎随时提问。
2作者: Nikp2635 天前原帖
嗨,HN, 我是 Nikhil([https://nikhilp.online](https://nikhilp.online))。过去几年我一直在构建项目,决定开发 ShillGuard,因为在尝试在 Reddit 和 Facebook 等平台分享这些项目时,我总是遇到障碍。 我会花几周时间构建一个东西,写好帖子,却被 Reddit 的自动审核系统立即删除,或者在 Gmail 中被标记为垃圾邮件,而我却不知道原因。 ShillGuard 是一个 Chrome 扩展,它实时分析你的草稿文本,针对你发布/发送的具体上下文进行优化。 它的工作原理如下: 这个扩展不仅仅检查语法或语气,而是注入一个内容脚本(使用 Plasmo 构建),在你点击提交之前抓取 DOM 并获取上下文元数据。 在 Reddit 上:当你在文本编辑器中输入时,它会从 URL 中获取子版块名称,并并行获取特定的 rules.json 和 about.json 端点。它还会检查你当前账户的统计数据(Karma/账户年龄),与社区的典型阈值进行对比,以预测你是否会被自动审核系统过滤。我计划添加一些最近流行帖子的示例,以提供理想情况下内容“应该”是什么样的良好示例。 在 Facebook 上:它会抓取群组的元数据和隐私设置,以警告你如果你的帖子(例如,包含外部链接)违反了特定的群组规范。 在 Gmail 上:它分析你的主题行和正文中的垃圾邮件触发词,并检查“附件”的不一致性(例如,提到“附件”但忘记附加文件)。我最享受构建这个功能,因为有很多方法可以让它生成高质量的电子邮件!目前,我正在整合一个黑名单和垃圾邮件检查,使用外部 API 来帮助突出显示你的账户是否被电子邮件提供商隐藏。 技术栈: - 框架:Plasmo(用于浏览器扩展运行时) - 前端:React + Tailwind CSS - 智能:Google Gemini Flash(通过新的 Google Gen AI SDK) - 架构:严格遵循本地优先 / 自带密钥(Bring Your Own Key)。 我决定采用自带密钥模型进行 AI 分析。你的 API 密钥存储在 chrome.storage.local 中,分析请求直接从你的浏览器发送到 Google。这使得扩展更加注重隐私,避免我充当你数据的中介。 目前这是一个付费扩展(提供终身优惠),但我真的想解决独立开发者在平台审核中遇到的“黑箱”困扰。 这是我第一次开发 Chrome 扩展,所以我很想听听大家的反馈,看看 Plasmo 是否是最佳框架,或者有什么额外功能的建议!