返回首页
最新
我为我妻子制作的一个小网页游戏,作为周年纪念礼物。<p>上传度假照片,将它们变成游戏。<p>该游戏利用EXIF数据来确定照片拍摄的时间和地点。然后,这些信息会被转化为一个可以发送给任何人的游戏。
大家好!我们开发了一个基于浏览器的代理,它在经过身份验证的网页应用程序内部运行,监控应用程序如何调用其自身的API,并自动将这些API转换为代理工具。你可以把它想象成一个自动生成的MCP服务器,随着主应用的变化而自我更新。
最终的结果是一个熟练的AI助手,能够与任何产品(不仅仅是聊天和RAG)深度集成,且几乎不需要额外的努力。
请查看下面这些简短的演示,展示了你可能熟悉的软件中的代理功能:
- Jira: [https://demo.frigade.com/hn?skill=jira](https://demo.frigade.com/hn?skill=jira)
- Spotify: [https://demo.frigade.com/hn?skill=spotify](https://demo.frigade.com/hn?skill=spotify)
- Hacker News(哈哈): [https://demo.frigade.com/hn?skill=hackernews](https://demo.frigade.com/hn?skill=hackernews)
- 完整演示: [https://demo.frigade.com/hn?skill=full-demo](https://demo.frigade.com/hn?skill=full-demo)
正如你在示例中所看到的,你可以做得比通常通过点击操作更快更多。而且我们甚至没有接触这些产品的源代码!
为什么要这样做?
在理想的世界中,每个应用程序都有一个MCP服务器或易于理解的API,供AI代理使用。然而,实际上我们发现,即使是非常现代的软件,往往也会有一张复杂的API和服务的蛛网,AI代理无法直接使用。安全性也是一个巨大问题,因为应用程序对如何保护端点(JWTs/ cookies/两者混合)有不同(通常是自定义的)标准。最后,让一个实际的浏览器代理代替用户使用应用程序(即计算机使用),实在是太脆弱、太慢,并且消耗大量令牌。
我们利用现有的浏览器代理,该代理已经经过训练,可以使用和学习经过身份验证的应用程序,并增加了一个额外步骤,自动将应用程序的身份验证API转换为“配方”。配方包含以下内容的组合:
- API端点 + 方法
- 身份验证方法(以及如何获取刷新身份验证令牌/ cookies)
- 响应模式
- 输入模式(用于POST/ PUT)
- 工具功能的可读描述
将这些整合在一起,这些就成为了可重用的工具供大型语言模型(LLMs)使用,完全不需要编写或维护任何代码。即使API发生变化,我们的代理也能识别并用更新版本替换工具的配方。
以这种方式为AI代理添加工具变得非常简单:
- 我们的代理在应用程序上进行训练并构建配方
- 应用程序所有者从我们的仪表板启用发现的工具
- 代理现在可以直接在应用程序内部代表用户采取行动。例如,像“邀请我的团队成员加入我的工作区”这样的请求将安全地调用现有的邀请用户的API端点,而无需通过第三方进行代理或转发。
当然,当你尝试这样做时,会遇到很多边缘情况——每个应用程序本质上都是不同的,尽管有多少“标准”存在。有趣的是:在标准化配方时,graphql是最难处理的API。
期待你的反馈和评论!
Aside 是一个思维工具。它帮助你捕捉、连接并深入你的知识。可选地,人工智能助手可以在这个过程中为你提供帮助。
我们今天将开源 Sighthound,这是一个基于规则的静态安全扫描器。它的特别之处在于使用 Rust 编写,并采用 Tree-sitter 作为其抽象语法树(AST),使其运行非常快速且易于扩展。
为什么在 2026 年还要构建另一个扫描器?我们希望改善一些检测结果,但注意到当前的开源扫描器,如 Semgrep 和 Opengrep,受到了一些采用限制,例如使用 OCaml 编写,需要大量工作来添加语言解析器,且规则集的许可方式不同,要求付费使用。我们还感觉到许可政策的进展是倒退而非前进。
我们希望有一个非常快速、易于扩展并且拥有优秀规则集的工具。这促使我们选择了 Rust 和 Tree-sitter,因为它们都很快且在社区中得到了广泛采用,使得扩展 Sighthound 变得自然。
我们希望它能够专注于源代码漏洞类别,如 SQL 注入和跨站脚本(XSS)。目前我们还没有进行任何秘密扫描,因为市场上有很多优秀的选项。现在,Sighthound 支持 Python、JavaScript/TypeScript、Java、Go、C#、HTML、PHP 和 Ruby。
我们还有很多工作要做,因此非常欢迎您的反馈和贡献,无论是添加新语言、新规则还是修复错误。
嗨,Hacker News,我是Yahia。
我创建了Context.dev([https://www.context.dev](https://www.context.dev)),旨在让将网络数据集成到您的产品和代理中变得非常简单。
这是一个演示视频:[https://www.tella.tv/video/build-faster-with-context-dev-apis-2cgl](https://www.tella.tv/video/build-faster-with-context-dev-apis-2cgl)。
由于这是一个API,以下是文档:[https://docs.context.dev/quickstart](https://docs.context.dev/quickstart)。
您可以向我们发送一个URL,并获取干净的Markdown、渲染的HTML、截图、提取的图像等。您还可以发送一个域名,获取公司或品牌的上下文信息:名称、描述、标志、颜色、字体、社交链接、截图、样式信息和相关元数据。对于更自定义的用例,您可以发送一个URL和一个JSON Schema,请求我们从该网站提取结构化数据。例如,您可能会请求定价计划、产品类别、办公室位置、支持链接、集成合作伙伴或任何其他在公共网站上可见的信息。
我们的目标是为开发者提供他们真正想要的输出。原始HTML通常不是有用的内容;有用的内容通常是用于模型的Markdown、用于应用程序的JSON、用于用户界面的标志,或用于代理的结构化公司简介。
在此之前,我曾在亚马逊和Sunrun工作,并共同创办了StockAlarm.io和essense.io,这两个项目都已被收购。此外,我还创建了knifegeek.io,该网站从互联网上抓取口袋刀的信息并进行简单列出。这个项目现在已经过时(即将回归),但当时它曾登上Hacker News的首页,似乎受到了大家的喜爱:[https://news.ycombinator.com/item?id=34604281](https://news.ycombinator.com/item?id=34604281)。
在Context.dev之前,我创建了Brand.dev。这个想法是,如果客户使用企业邮箱注册,他们的软件产品应该自动了解客户。该API从公共网络中提取品牌数据,如标志、背景、名称、描述、行业等,并将其呈现给您的产品,以便作为客户入职体验的一部分进行集成。这是值得做的,因为当您从“输入所有这些信息”转变为“确认所有这些信息”时,入职的转化率会显著提高(而且所有信息都是公开的,从未存在隐私问题)。
这是一个不错的细分市场,但随着客户的使用增加,很明显“品牌数据”只是更大需求的一部分。人们开始请求截图、结构化提取和适合大型语言模型(LLM)的数据。因此,我扩展到了Context.dev,并申请了YC(在面试后被拒绝),然后继续努力重新申请,最终作为独立创始人获得了入选。
人们使用Context.dev的方式多种多样,以下是一些例子:为聊天机器人保持客户网站的上下文更新 - 为客户构建美丽的品牌资产/广告 - 使用代理工具(如eve.dev)进行数据丰富流 - 将客户网站爬取到聊天机器人知识库 - 将GitHub仓库转化为品牌文档网站 - 学术期刊和PDF爬取。更多示例请见:[https://www.context.dev/customers](https://www.context.dev/customers)。
我们知道许多爬虫在网络上并没有表现得像个好公民,因此整个领域的声誉不佳。同时,客户通常并不是在购买“抓取”服务。他们希望让支持机器人正常工作、个性化入职、丰富CRM记录、生成文档、监控潜在客户,或者让代理研究公司。确实有很多合法的用例。我们希望在尊重所有相关方的同时满足这些需求。
我们维护一个缓存层,避免对网站进行过多请求。客户可以配置缓存,但如果我们发现某个URL在特定时间内发送了过多请求,我们会介入并降低请求频率。网站可以选择退出我们的服务,我们会尊重这些请求并将其添加到我们的黑名单中。
我们专注于希望为用户构建酷炫产品的客户。丰富入职体验是一个热门用例。集成关于他们自己网站的上下文(如支持机器人)以及构建能够自动处理复杂互联网任务的代理也是如此。
我们只允许客户使用品牌数据来识别他们软件中的特定客户,您不能在自己的材料中使用它或暗示代言。
我很想听听大家对这个产品的反馈,谢谢!
展示 HN:Claude Code、Cursor 和 Codex 的运行时授权
大家好,Fernando 和我开发了 Kastra。Kastra 会拦截 AI 代理工具的调用,并在执行之前根据确定性策略进行评估。这个工具旨在帮助使用 Claude Code、Codex、Cursor 和 OpenClaw 等编码代理的开发者。
我们开发 Kastra 的原因是,我们的一个 Cursor 代理差点在生产数据库上执行了 DELETE FROM customers WHERE status='test' 的操作。我们在它运行之前及时发现了这个问题,但这让我们意识到,在我们的技术栈中,实际上没有任何东西决定代理被允许做什么。对我们来说,重要的不是这个错误,而是意识到如果我们没有积极监控,系统中没有任何东西会阻止这种情况发生。大型语言模型(LLMs)是概率性的,提示会影响行为,但它们并不会确定性地决定代理被允许做什么。如果没有一个确定性的政策系统,就没有东西可以决定它被允许做什么。
Kastra 在操作执行之前会做出允许、保留和拒绝的决策。您可以通过网络应用以简单的英语构建这些政策。拦截引擎会评估每个操作的工具、目标和参数。我们还发布了许多政策包,涵盖了常见的高风险场景,并且每个决策都会记录在不可更改的审计日志中。桌面应用、命令行界面、仪表板和 Recon 扫描对开发者免费使用。
如果您经常使用 Claude、Codex、OpenClaw 和 Cursor,Kastra 可以运行扫描命令,查看您的代理已经采取了哪些风险操作,并自动构建规则以避免再次发生。Recon 是 Kastra 的一项功能,用于扫描您的本地代理历史。要运行此扫描,请在您的编码代理中执行以下命令:
```
brew install kastra-labs/tap/kastra-edge
kastra-edge scan
```
该扫描会读取您的本地代理会话历史,并显示您的代理之前已经采取的所有风险操作、写入跟踪文件的秘密、接触的生产数据库、强制推送、curl-to-shell 等。这一过程在您的机器上运行,秘密信息不会外泄。在我们的实际使用案例中,我们不断发现一些我们已经忘记或不知道代理所做的事情。
每个发现都可以转换为运行时政策,让您在不信任模型本身的情况下,将更多工作委托给 AI。Kastra 在运行时拦截所有工作负载,并确保这些政策评估通常在一毫秒内完成。您信任的不是模型,而是支配其行为的确定性规则。
我们仍在努力改进技术栈的一个问题是如何管理具有冲突政策的代理团队。我们非常希望听到任何构建多代理系统的人的反馈。Fernando 和我会查看评论。我们非常好奇您第一次扫描的结果。请在下面发布结果,以便我们可以了解最常见的模式,并根据您的反馈调整政策包。
文档:
[https://kastra.ai/docs](https://kastra.ai/docs)
下载 MacOS 版本的 Kastra Edge:
[https://kastra.ai/edge/download.html](https://kastra.ai/edge/download.html)
今天查看 Kastra 的实际应用:
[https://www.youtube.com/watch?v=6TUETu5lb3Q&feature=youtu.be](https://www.youtube.com/watch?v=6TUETu5lb3Q&feature=youtu.be)