返回首页
一周热榜
嗨,HN!Smooth CLI(<a href="https://www.smooth.sh">https://www.smooth.sh</a>)是一个浏览器,供像Claude Code这样的代理使用,以可靠、快速且经济的方式浏览网页。它允许代理使用自然语言指定任务,隐藏用户界面的复杂性,使他们能够专注于更高层次的意图,从而执行复杂的网络任务。它还可以在云中运行浏览器时使用您的IP地址,这在处理验证码等障碍时非常有帮助(<a href="https://docs.smooth.sh/features/use-my-ip">https://docs.smooth.sh/features/use-my-ip</a>)。<p>这里有一个演示:<a href="https://www.youtube.com/watch?v=62jthcU705k" rel="nofollow">https://www.youtube.com/watch?v=62jthcU705k</a> 文档从<a href="https://docs.smooth.sh">https://docs.smooth.sh</a>开始。<p>像Claude Code这样的代理非常出色,但大多局限于命令行界面,而大量有价值的工作需要浏览器。这是这些代理能力的一个根本限制。<p>迄今为止,尝试将浏览器添加到这些代理(Claude内置的--chrome、Playwright MCP、agent-browser等)都具有不自然的浏览界面。它们暴露了数百个工具,例如点击、输入、选择等,操作空间过于复杂。(例如,参见<a href="https://github.com/vercel-labs/agent-browser" rel="nofollow">https://github.com/vercel-labs/agent-browser</a>列出的低级细节)。此外,它们无法处理互联网中的数十亿个边缘案例,比如嵌套在嵌套中的iframe和阴影DOM等。互联网非常混乱!依赖可访问性树的工具,尤其是,往往无法在许多网站上正常工作。<p>我们认为这些工具处于错误的抽象层次:它们使代理关注用户界面细节,而不是要完成的任务。<p>使用像Opus这样的大型通用模型来点击按钮和填写表单最终会变得缓慢且昂贵。上下文窗口被点击和键入等细节拖慢,模型每次都必须弄清楚如何进行浏览器导航。一个专门为浏览设计的小型模型实际上可以更好地完成这项工作,并且成本和延迟都大大降低。<p>安全性也很重要——可能比人们意识到的更重要。当您在网络上运行代理时,应该将其视为不可信的参与者。它应该使用沙箱化的机器访问网络,并默认具有最小权限。虚拟浏览器是实现这一点的完美环境。Paul Kinlan有一篇很好的文章对此进行了很好的解释(见<a href="https://aifoc.us/the-browser-is-the-sandbox" rel="nofollow">https://aifoc.us/the-browser-is-the-sandbox</a>和<a href="https://news.ycombinator.com/item?id=46762150">https://news.ycombinator.com/item?id=46762150</a>)。浏览器是为了安全地与不可信的软件进行交互而构建的。它们是已经有效的隔离边界。<p>Smooth CLI是一个为代理设计的浏览器,基于它们擅长的领域。我们提供一个更高层次的接口,让代理以目标和任务的形式思考,而不是低级细节。<p>例如,而不是这样:<p><pre><code> click(x=342, y=128)
type("搜索查询")
click(x=401, y=130)
scroll(down=500)
click(x=220, y=340)
...还有50个步骤
</code></pre>
您的代理只需说:<p><pre><code> 搜索从纽约到洛杉矶的航班,并找到最便宜的选项
</code></pre>
像Claude Code这样的代理可以使用Smooth CLI提取难以获取的数据,填写表单,下载文件,与动态内容互动,处理身份验证,测试应用程序等。<p>Smooth使代理能够自主按需启动任意数量的浏览器和任务。如果代理正在代表某人工作,代理的浏览器会向网络呈现为用户网络上的设备。随着时间的推移,对此功能的需求可能会减少,但目前这是一个必要的原语。为此,Smooth提供了一个“自我”代理,创建一个安全隧道,并通过您的机器的IP地址路由所有浏览器流量(<a href="https://docs.smooth.sh/features/use-my-ip">https://docs.smooth.sh/features/use-my-ip</a>)。这是我们最喜欢的功能之一,因为它使代理看起来像是在您的机器上运行,同时保留在云中运行的所有好处。<p>我们还尽可能地减轻代理的安全责任。代理不应了解身份验证细节或负责处理恶意行为,例如提示注入。虽然某些安全责任始终会留给代理,但浏览器应尽量减少这种负担。<p>当然,我们有偏见,但在我们的测试中,使用Smooth CLI运行Claude的速度是使用--chrome标志的Claude Code的20倍,成本是5倍(<a href="https://www.smooth.sh/images/comparison.gif">https://www.smooth.sh/images/comparison.gif</a>)。我们很乐意进一步解释我们是如何测试的,并回答任何相关问题!<p>安装说明:<a href="https://docs.smooth.sh/cli">https://docs.smooth.sh/cli</a>。计划和定价:<a href="https://docs.smooth.sh/pricing">https://docs.smooth.sh/pricing</a>。<p>试用是免费的,如果您尝试一下,我们很乐意听取反馈和想法 :)<p>我们很想听听您的想法,特别是如果您尝试过将浏览器与AI代理结合使用。乐意回答问题,深入探讨权衡,或解释设计和实现的任何部分!
Claude 代码当前返回 5XX 错误 :(
我是一名软件工程师,无论我多么努力想要逃避,还是不断被拉入DevOps的领域。最近我转到了一个首席DevOps工程师的角色,负责编写工具以自动化许多繁琐的工作。在工作之余,我开发了Artifact Keeper——一个自托管的工件注册中心,支持超过45种包格式。安全扫描、单点登录、复制、WASM插件——这些功能都包含在MIT许可的版本中。没有企业级套餐,没有功能限制,也没有意外账单。
你的包管理工具——pip、npm、docker、cargo、helm、go,所有这些——都可以直接使用它们的原生协议与之对接。内置了使用Trivy、Grype和OpenSCAP的安全扫描功能,还有一个策略引擎,可以在不良工件进入你的构建之前将其隔离。如果你需要的格式尚不支持,还有一个WASM插件系统,允许你在不修改后端的情况下添加自己的格式。
我为什么要开发它:
吸引我进入计算机领域的一部分原因是开源。我在新奥尔良长大,家境贫困,早在2000年代初,我唯一能接触到的硬件是一些我父亲从工作中带回来的Compaq Pentium II,这些电脑是他工作单位准备丢弃的。我在这些电脑上安装了Linux,它在那种低端硬件上运行得比Windows 2000和Millennium快得多。那次经历让我明白,最好的软件是开放给所有人查看和使用的,并且能够在你所拥有的设备上良好运行。
快进到今天,我发现这个模式无处不在:GitLab、JFrog、Harbor等公司发布有限的“社区”版本,然后将团队实际需要的功能隐藏在某些付费墙后面。我理解——薪水总得从某个地方来。但我想证明一个功能齐全的工件注册中心可以作为真正的开源软件存在。每个功能,毫无例外。
具体功能源于真实的痛点。Artifactory的搜索速度非常慢——这就是我集成Meilisearch的原因。另一个重要的功能是安全扫描不需要单独的企业许可证。我还希望复制功能不需要中央协调器——因此我构建了一个对等网络,任何节点都可以复制到任何其他节点。我还没有在工作中部署这个系统——目前我在家里为我的个人项目运行它——但我希望看到它在大规模下的测试,这也是我在这里分享它的重要原因。
关于AI的故事(我会诚实地说):
我大约用三周时间使用Claude Code构建了这个项目。我知道很多人会说这可能是“氛围编码”的垃圾——但如果真是这样,那也是一堆令人印象深刻的“氛围编码”垃圾。去看看代码库。后端大约80%是Rust,包含429个单元测试,33个PostgreSQL迁移,分层架构,以及一个完整的CI/CD管道,配有端到端测试、压力测试和故障注入。
AI并没有为我做设计决策。我仍然需要设计WASM插件系统,弄清楚扫描引擎如何相互补充,并架构对等复制。多年的领域知识驱动了设计——AI只是让我构建得更快。我对这些工具为像我这样的爱好者和安全极客所带来的可能性感到震惊。
技术栈:基于Axum的Rust,PostgreSQL 16,Meilisearch,Trivy + Grype + OpenSCAP,支持热重载的Wasmtime WASM插件,带有分块传输的对等复制。前端使用Next.js 15,以及原生的Swift(iOS/macOS)和Kotlin(Android)应用。OpenAPI 3.1规范,自动生成TypeScript和Rust SDK。
试试它:
```
git clone https://github.com/artifact-keeper/artifact-keeper.git
cd artifact-keeper
docker compose up -d
```
然后访问 http://localhost:30080
实时演示: [https://demo.artifactkeeper.com](https://demo.artifactkeeper.com)
文档: [https://artifactkeeper.com/docs/](https://artifactkeeper.com/docs/)
我非常欢迎任何反馈——你对这个方法的看法,你希望看到的功能,或者你对Artifactory或Nexus的不满,希望有人能解决的问题。反馈不一定要是PR。可以打开一个问题,开始讨论,或者在这里告诉我。
[https://github.com/artifact-keeper](https://github.com/artifact-keeper)
嗨,HN,
我是HoundDog.ai的创始人之一([https://github.com/hounddogai/hounddog](https://github.com/hounddogai/hounddog))。我们目前为Replit的4500多万创作者提供隐私扫描服务。
我们创建HoundDog是因为隐私合规通常是在手动电子表格和被动运行时扫描之间的选择。虽然运行时工具对于监控很有用,但它们只能在代码上线后捕捉到泄漏,而数据已经被转移。它们也可能错过在生产环境中未被主动触发的代码路径。
HoundDog在开发过程中追踪代码中的敏感数据,帮助在代码发布之前捕捉到风险流(例如,个人身份信息泄露到日志中或未经批准的第三方SDK)。
核心扫描器是一个独立的Rust二进制文件。它不使用大型语言模型(LLMs),因此是本地的、确定性的、便宜的且快速的。它可以在标准笔记本电脑上在几秒钟内扫描超过100万行代码,并且开箱即用支持80多种敏感数据类型(个人身份信息、保护健康信息、信用卡数据)和数百个数据接收点(日志、SDK、API、ORM等)。
我们在内部使用人工智能来扩展和规模化我们的规则,识别新的数据源和接收点,但执行过程是纯静态分析。
这个扫描器是免费的(无需注册),欢迎大家试用并给我们反馈。我会在这里回答任何问题!