返回首页
最新
嘿,HN,
我创建了一个小型的开源项目,想与社区分享。这是一个声明式、可脚本化的基于终端的集成开发环境(IDE),专注于自主工程。
这听起来有些术语化,但本质上它是一个多代理的IDE,你可以在终端中启动它。
这有什么相关性呢?得益于tmux和SSH,这意味着你可以非常简单高效地创建自己的常驻编码环境。
通过SSH启动你的IDE,给claude一个提示,然后关闭你的机器。在tmux-ide中,claude将继续工作。
这个工具故意设计得非常轻量,因为我认为力量应该来自于你正在使用的工具。
我希望能与社区分享这个项目,并获得反馈和建议,以便塑造这个项目!我认为“远程工作”是一个正确的方向,因为我们现在可以进行极长时间的编码任务。但我也认为我们应该能够根据自己的需求来控制和协调这一体验。
该项目是100%开源的,我希望能够与其他喜欢这种工作方式的人共同开发!
GitHub: [https://github.com/wavyrai/tmux-ide](https://github.com/wavyrai/tmux-ide)
文档: [https://tmux.thijsverreck.com/docs](https://tmux.thijsverreck.com/docs)
嘿,HN,如果你有幸乘坐过配备Starlink的航班,你就会明白这种技术的热度。它确实有效!<p>然而,Starlink在航班上的可用性并不稳定,难以预测。因此,我们建立了一个数据库,涵盖所有已推出Starlink(不仅仅是试点)的航空公司,并开发了一个航班搜索工具来进行预测。只需输入航班号和日期,我们就能根据飞机类型和尾号估算航班上配备Starlink的可能性。<p>如果你没有即将到来的旅行,也可以查找特定航线,看看哪些航班提供Starlink服务。你可以在这里找到相关信息:<a href="https://stardrift.ai/starlink">https://stardrift.ai/starlink</a>。<p>-<p>我还想补充一些关于这个工具如何工作的说明。我们在回答查询时会依次检查三个方面:<p>- 这家航空公司是否提供Starlink?<p>- 这架飞机是否配备Starlink?<p>- <i>这架特定的飞机</i>是否配备Starlink?<p>目前,只有少数几家航空公司提供Starlink:联合航空、夏威夷航空、阿拉斯加航空、法国航空、卡塔尔航空、JSX航空以及其他少数几家。因此,如果一架飞机由其他航空公司运营,我们可以立即给出否定答案。<p>接下来,我们会检查正在飞行的具体机型。航空公司通常会提前发布设备分配信息,并且它们也在逐步将Starlink推广到每架飞机上。因此,我们知道,例如,所有JSX的E145飞机都配备了Starlink,而法国航空的A320飞机则没有配备Starlink。(你可以在<a href="https://stardrift.ai/starlink/fleet-summary">https://stardrift.ai/starlink/fleet-summary</a>查看我们数据的总结,尽管实时逻辑中有一些规则未在此编码。)<p>如果机型完全匹配,我们可以自信地告诉你你的航班将配备Starlink。然而,在大多数情况下,航空公司仅对该机型进行了<i>部分</i>升级。在这种情况下,我们需要更深入地查找,确定<i>哪一架</i>飞机将飞往你的航线。<p>我们可以通过查找“尾号”(可以把它想象成飞机的车牌)来做到这一点。<i>不幸的是</i>,尾号通常是在航班起飞前几天才会分配。因此,在那之前,我们能做的最好是计算你的飞机被分配到配备Starlink的飞机的概率。<p>为此,我们必须建立一个飞机尾号与Starlink状态的映射。在这里,我要感谢那些在线航空爱好者,他们维护着详细的电子表格和论坛帖子来追踪这些数据!据我了解,<i>他们</i>通常从对Starlink推广充满热情的航空公司员工那里获取这些数据,因此这是一个可靠且经常更新的来源。我们的大部分工作是寻找每个来源,规范它们的格式,建立一个可靠且负责任的系统来提取这些数据,并将它们与我们的其他数据源结合起来。<p>基本上,这就是一个数据规范化的问题!我曾在金融数据系统方面工作,惊讶于这个问题的相似性。<p>-<p>Starlink本身也是一项相当酷的技术。我还写了一篇博客文章(<a href="https://stardrift.ai/blog/why-is-starlink-so-good">https://stardrift.ai/blog/why-is-starlink-so-good</a>),讲述了为什么它比其他所有飞机Wi-Fi选项要好得多。从高层次来看,这一切的可能性源于如今火箭发射成本的降低,这真是太酷了。<p>其性能非常出色,因此在可能的情况下,围绕它来规划你的航班是非常值得的。目前,在美国,你最好的选择是联合航空的区域航班和JSX/夏威夷航空。国际航班方面,卡塔尔航空是最佳选择(尽管显然现在不是),法国航空则排在第二位。不过,随着更多航空公司逐步推出,我们的数据库将会不断更新!
今天我在桌面客户端上被Spotify强制听了一堆广告。我是付费订阅用户。<p>这似乎是普遍现象,Spotify的Reddit社区正在积极删除有关此问题的讨论。
我是一个MCP服务器的开发者(AiDex — 使用Tree-sitter进行代码索引,github.com/CSCSoftware/AiDex)。我最近发现一个名为iflow-mcp的组织正在系统性地在GitHub上分叉数百个MCP服务器,并在他们自己的npm命名空间(@iflow-mcp/)和PyPI上重新发布这些项目,同时通过他们自己的“市场”进行分发——而从未联系过原作者。
但真正的问题并不是分叉本身,而是安全性。
---
*发生了什么*
这些分叉以@iflow-mcp/originalauthor-projectname的模式发布。原作者的熟悉名称创造了信任——但用户实际获得的代码完全在第三方的控制之下。没有任何东西可以阻止该第三方在发布之前修改代码。
*为什么MCP服务器特别危险*
MCP服务器并不是一个无害的插件。根据设计,它具有深层访问权限:
- 它读取你的源代码,浏览你的文件系统,接收文件内容
- 它可以看到.env文件、API密钥、SSH密钥、凭证和专有代码
- 它通过标准输入输出直接与AI客户端通信——这意味着它可以操控工具的响应
- 它通常以与用户相同的权限运行
一个被植入木马的MCP服务器可以在正常执行其功能(如索引或分析你的代码)的同时,悄悄地提取敏感数据。你看到工具正常工作,但却看不到数据的流出。
更糟的是,一个被操控的服务器可能故意向AI助手提供虚假信息——建议不安全的代码模式、隐藏漏洞,或者将AI引导到错误的文件。
*信任链的破裂*
这个问题是系统性的:
1. 开发者A将一个MCP服务器作为开源项目发布
2. 组织X对其进行分叉,并在他们自己的命名空间下重新发布
3. 用户在X的市场中找到该包,认出熟悉的名称并安装它
4. 用户认为他们正在运行原版——但实际上他们运行的是X可能以任何方式修改过的代码
这是一种经典的供应链攻击。而且它特别有效,因为MCP服务器是新的,许多用户尚未学会验证他们的工具实际来源。
---
*作为MCP服务器开发者你可以做什么*
1. *启动时的来源检查:* 检查你自己的包名(package.json,process.env.npm_package_name)和安装路径(__dirname)。如果出现外部命名空间,显示明确的警告:
```
这似乎是[项目]的非官方再分发。
官方包:npm install [original-package]
仓库:[original-url]
```
2. *构建签名:* 在构建过程中嵌入哈希或签名标识符。一个不复制你确切构建流程的再发布者无法重现它。
3. *注册表检查:* 启动时向npm注册表发送快速HTTP请求,可以揭示该包是否在外部命名空间下运行。
*作为用户你可以做什么*
- 始终直接从原始项目安装MCP服务器,绝不要通过第三方市场
- 检查npm命名空间:@iflow-mcp/cscsoftware-aidex与aidex-mcp并不相同
- 查看GitHub以验证一个仓库是否是分叉,以及实际作者是谁
- 对具有深层文件系统访问权限的MCP服务器特别谨慎
---
*请分享这篇帖子。* 越多的MCP开发者和用户了解这种攻击方式,利用它的难度就越大。MCP生态系统正在快速增长——但如果没有对供应链安全的意识,我们就是在沙子上构建。
如果你受到影响:请发声。检查你的项目是否出现在github.com/iflow-mcp/下。声音越多,npm和GitHub采取行动的速度就越快。
原始项目:https://github.com/CSCSoftware/AiDex
他们在npm上的分叉:https://www.npmjs.com/package/@iflow-mcp/cscsoftware-aidex
—— Uwe Chalas,AiDex的作者(npm上的aidex-mcp)
许多人正在为非技术解决方案构建人工智能,例如法律等。你们是如何应对用户在某些时候需要纠正之前描述的行为所带来的心理挑战的?
嘿,HN!我最近在使用了15年的iPhone后切换到了Android。切换后我最想念的就是我以前的有声书播放器,但我找不到一个合适的。所以我决定自己来制作一个。
这个播放器叫做Earleaf,可以播放你本地的有声书文件。
我最兴奋的功能是页面同步。你可以拍摄实体书(或电子书)中的一页照片,应用程序会找到有声书中的对应位置并跳转到那里。它通过在设备上进行书籍转录来实现,当你拍照时,应用会使用ML Kit进行OCR扫描,并将文本与转录内容进行匹配。初次转录需要一些时间,但这只是一次性的,完成后,实际搜索在我的设备上大约只需两秒钟。而且所有操作都是在本地进行的。
除了页面同步之外,它还是一个功能齐全的播放器,具有嵌套收藏、独立的听书进度跟踪以及相当不错的统计功能。无需账户、无需互联网,也没有广告。
欢迎大家提问关于这个应用及其功能的任何问题!
AI代理在软件方面表现出色,因为它们能够形成一个闭环——编辑、运行、观察、重复。然而,硬件打破了这个闭环。代理可以编写固件,但无法看到设备实际在做什么。
这个项目旨在填补这一空白。三个MCP服务器为代理提供了直接访问真实硬件接口的能力:一个调试探针(闪存固件、暂停CPU、读取寄存器和内存)、一个串行控制台(启动日志、CLI命令)和BLE。
使用结构化工具,而非命令行指令,使得代理能够以与处理代码相同的方式推理硬件状态。
最新的演示:在单个终端会话中,将TFLite Micro关键词识别模型部署到nRF52840上。代理闪存了固件,调试了硬故障,切换到了CMSIS-NN优化内核,并调整了张量区域的大小。
最终结果:端到端延迟为98毫秒,Google语音命令数据集的真实录音准确率为94.6%。
这项工作是关于让AI代理直接访问硬件的更广泛系列的一部分: [https://es617.github.io/let-the-ai-out/](https://es617.github.io/let-the-ai-out/)