返回首页
最新
在过去的一年里,我一直在开发 GM Pro——一个提升 Google Meet 聊天体验的 Chrome 扩展程序。<p>一开始很简单:反应、回复、提及、聊天的黑暗模式。然后我添加了自动加入、自动静音、转录工具、大厅通知、与会者随机分配。基本上就是你希望 Meet 聊天默认具备的所有功能。<p>人们对此非常喜爱,获得了五星好评,安装量稳定,实际使用频繁。<p>然而,在多年乏善可陈的聊天体验后,谷歌宣布将 Meet 聊天与 Google Chat 直接整合——持久的对话、反应、文件共享等等。<p>这意味着……我所构建的功能正好成为了一个第一方特性。<p>一方面,这验证了我的想法。方向是正确的,需求是真实的。<p>另一方面,平台风险让我感到措手不及。<p>当你在一个巨型平台上构建时,实际上是在为他们原型设计功能。如果这个功能有效,他们会吸收它;如果无效,你就会悄然消失。无论如何,他们都是赢家。<p>现在我在思考:<p>我是否应该转向那些谷歌不会优先考虑的强用户工具?<p>加大对自动化和工作流功能的投入?<p>还是远离聊天,转向会议智能?<p>或者接受消费者 Chrome 扩展程序在核心用户界面上本质上是脆弱的?<p>我很好奇其他开发者是如何看待平台依赖性的。<p>你是否曾经在所构建的平台上经历过产品被“Sherlocked”的情况?你接下来做了什么?
我开发了一个音乐发现应用,现在是开源的。
BlackTape 使用 MusicBrainz 和 Discogs 这两个开放的、由社区维护的数据库,来索引艺术家并根据他们在各自流派中的独特性进行排名。艺术家越小众,他们的排名就越高。这与 Spotify 的算法正好相反。
我对推荐算法使发现变得单一感到沮丧。在超过 1000 万个索引艺术家中,总是出现相同的艺术家。MusicBrainz 记录了 260 万个艺术家,并提供丰富的流派标签、场景数据和地区元数据。Discogs 则有长达 80 年的发行元数据。将这两个数据库结合起来,根据独特性而非流行度对艺术家进行评分,发现的空间就完全打开了。
它的功能包括:
- 按流派/场景进行原子标签组合搜索
- 根据独特性评分排名的发现推荐(稀有 = 可被发现)
- 完整的艺术家页面:唱片目录、标签、相关艺术家、场景数据
- Spotify 播放集成(可选)
- 时间机器:按年代浏览艺术家
- 风格地图:可视化流派/场景导航
- 知识库:流派关系图
没有追踪,也不依赖平台 API 来获取核心发现数据。桌面应用使用 Tauri + SvelteKit 构建。
GitHub: https://github.com/AllTheMachines/BlackTape
网站: https://blacktape.org
欢迎讨论 MusicBrainz 流程、独特性评分或开放数据的发现方法。
嘿,HN,
我开发了 Decision Guardian——一个开源的 GitHub Action 和命令行工具,它会在代码修改受保护文件时自动将架构决策以 PR 评论的形式呈现出来。
它解决的问题:
Spotify 在 2020 年发布了一篇关于何时编写架构决策记录(ADR)的精彩文章。我遵循了这个建议。我的团队编写了 ADR,但它们被放在 docs/adr/ 中,没人会在打开 PR 之前阅读它们。
[Spotify 文章链接](https://engineering.atspotify.com/2020/04/when-should-i-write-an-architecture-decision-record)
问题不在于文档,而在于如何呈现。呈现决策的最佳时机不是在入职培训或冲刺计划时,而是在有人积极编辑受决策保护的代码时。
它是如何工作的:
1) 在 Markdown 文件中编写决策(与现有的 ADR 兼容)
2) 将 GitHub Action 添加到你的工作流中
3) 当 PR 修改受保护的文件时,Decision Guardian 会自动将相关决策作为评论发布
决策格式(普通 Markdown):
```markdown
<!-- DECISION-DB-001 -->
## 决策:使用 Postgres 进行计费
*状态*: 活跃
*严重性*: 关键
*文件*:
- `src/db/*/*.ts`
### 背景
我们评估了 Postgres 和 MongoDB。计费需要 ACID 兼容性。
MongoDB 被拒绝——没有事务保证。
值得注意的功能:
1) 严重性级别(关键 / 警告 / 信息)——可以在关键违规时阻止 PR
2) 高级匹配:通配符模式、正则表达式、基于内容的规则、布尔逻辑
3) CLI 可与任何 CI 工具配合使用(GitLab、Jenkins、CircleCI、pre-commit hooks)
4) 处理超过 3000 个文件的 PR 而不会出现内存溢出
5) 幂等评论——无垃圾信息,更新就位
6) 零外部网络调用——没有任何数据离开你的 GitHub 运行器
7) 109 个测试,ReDoS 保护,路径遍历保护
与 CODEOWNERS 的对比:CODEOWNERS 指定审阅者。这解释了审查的重要性。最好一起使用。
与 Danger.js 的对比:Danger 需要代码,而这个工具需要 Markdown。非 JS 工程师也可以管理他们的决策。
它是 MIT 许可的,单步骤 GitHub Action 或 npx decision-guardian CLI。
欢迎提问。
仓库链接:[GitHub 仓库](https://github.com/DecispherHQ/decision-guardian)
我将在几个月后高中毕业,但对我的未来没有明确的计划。我申请了几所大学的电气工程专业,因为硬件和计算系统看起来足够有趣,而且这是一个实用的选择。在学校里,我在物理、微积分、化学和生物课上都得了高分,但这些都没有让我感到兴奋,也没有激励我在课外继续深入学习。
吸引我的是研究本身的概念:真正发现新事物,增加知识,而不仅仅是使用已有的知识。问题是,我还没有找到让我感到兴奋的领域。我觉得我对任何学科的了解都不够,无法判断它是否值得我花费数年(或一生)的时间去专注。
对于那些最终从事研究职业的人,你们是如何找到方向的?是否有某个特定的时刻、项目、课程、论文或偶然的对话激励了你?你们在本科阶段是否大多是漫无目的地游荡,换专业、换实验室或选修一些奇怪的课程,直到找到适合自己的方向,还是更早就找到了?
你怎么知道某件事是否超出了短暂的兴趣,是否是那种能够长期支撑你的事情?是那些多年后仍然萦绕在心头的问题,还是实验/调试/阅读的日常工作让你感到意外的舒适(甚至愉快),或者是其他的信号?
如果你在我这个年龄时也曾迷茫,但最终找到了自己的方向,分享一些故事会很棒。有没有一些低风险的方式让大一新生可以在不同领域探索,而不必过早锁定方向?比如夏季项目、随机实验室、自学等帮助?
我在使用Claude Desktop和Cursor时总是遇到同样令人烦恼的问题:我截取一个Python错误追踪,AI告诉我“运行pip install pandas”,然后我只能坐在那里自己输入。如果AI明显知道解决方法,为什么我还要自己打字呢?
于是我构建了OmniGlass。
用户体验很简单:你在屏幕上画一个框,本地OCR提取文本,一个大型语言模型(LLM)对你所看到的内容进行分类。但与其生成聊天回复,它给你提供一个操作菜单。
与Claude Desktop的核心区别不在于AI本身,而在于AI思考后的处理方式。Claude会读取你的屏幕并为你写一段文字,而OmniGlass则读取你的屏幕并执行命令。
目前的功能包括:
- 截取错误追踪 → 生成修复命令,你确认后执行。
- 截取数据表 → 打开本地保存对话框并输出干净的CSV文件。
- 截取Slack错误报告 → 草拟一个GitHub问题,所有上下文信息已填充。
- 菜单栏输入 → 输入简单的英语,触发相应的命令。
安全隐患(我为什么要构建这个):
目前没有人真正讨论MCP插件的安全风险。Claude Desktop以你的完整用户权限运行它们。一个恶意插件或巧妙的提示注入可以读取你的SSH密钥、抓取你的.env文件并将其发送出去。
为了解决这个问题,OmniGlass在macOS内核级别使用sandbox-exec对每个插件进行沙箱隔离。你的/Users/目录完全被隔离。环境变量被严格过滤。Shell命令在执行前严格要求你的手动确认。我希望能够运行社区插件,而不必担心它们可以访问什么。
技术栈:
- 前端/后端:Tauri(Rust + TypeScript)
- 视觉:Apple Vision OCR(本地)
- 插件系统:MCP通过stdio
- 模型:与Claude Haiku、Gemini Flash兼容,或通过llama.cpp完全本地运行,使用Qwen-2.5(端到端大约需要6秒,数据不离开你的机器)。
当前状态:
我刚刚发布了第二个可用插件(一个Slack Webhook),与GitHub Issues插件一起运行。这是两个真实的插件,证明了架构的确有效,而不仅仅是一个模板和承诺。两个插件的代码行数都在250行以内。
我希望你能提供帮助的地方:
- 破解沙箱。真的。如果你能找到一种方法从插件中读取~/.ssh/id_rsa,那是一个关键漏洞,我想知道。
- 构建一个插件。现在仓库中有8个开放问题,包含完整的MCP架构、清单和实现提示。大多数插件的代码行数少于100行。
- 移植到Windows/Linux。Windows构建在CI中编译,但尚未在真实硬件上测试。Linux需要Tesseract + Bubblewrap来替代Apple OCR和沙箱。
目前需要macOS 12+。完全开源(MIT许可证)。
期待听到你的想法或回答你关于沙箱设置的任何问题!
嗨,HN,
我们之所以开发这个,是因为我们厌倦了成为意外的平台工程师。
现在,多数据库堆栈已经成为默认选择,但运营开销非常高。我们希望有一个统一的认证层、一个仪表盘,以及一个可以配置和监控所有内容的方法。
现在上线的组合:`Redis` + `TigerBeetle`(虽然组合有些奇怪,但这是我们的测试用户所需要的)。
接下来支持的数据库:
- `MySQL`
- `ClickHouse`
- `Postgres` + `PostGIS`
- `VectorDB`
我们采用SDK优先的方法,`Node`和`Python`版本已准备就绪。
npm:
[https://www.npmjs.com/search?q=%40bridgebase](https://www.npmjs.com/search?q=%40bridgebase)
PyPI:
[https://pypi.org/project/bridgebase/](https://pypi.org/project/bridgebase/)
希望能收到在生产环境中运行多数据库工作负载的用户的反馈。
我们遗漏了哪个最重要的痛点?