大家好!我们是 BrowserBook 的 Chris、Jorrie 和 Evan,这是一个用于编写和调试基于 Playwright 的网页自动化的集成开发环境(IDE)。您可以在这里下载 Mac 应用程序:<a href="https://browserbook.com">https://browserbook.com</a>,还有一个演示视频可以在这里观看:<a href="https://www.youtube.com/watch?v=ODGJBCNqGUI" rel="nofollow">https://www.youtube.com/watch?v=ODGJBCNqGUI</a>。
<p>我们为什么要开发这个工具:在我们参加 YC 的时候,我们是一家自动化后端医疗工作流程的公司。由于医疗行业的互操作性生态系统非常分散,我们开始使用浏览器代理直接通过网络自动化电子病历、诊所管理软件和支付门户。当我们这样做时,遇到了很多问题:
<p>速度:与脚本方法相比,LLM 调用的高延迟。
<p>成本:为了使自动化尽可能准确,我们消耗了大量的令牌来提供所需的上下文。
<p>可靠性:即使有详细的指示、上下文和工具,代理在多步骤任务中往往会以不可预测的方式偏离。
<p>可调试性:当出现偏差时,我们基本上是在提示中玩打地鼠,并重新运行整个自动化来调试问题(如上所述:速度和成本问题使得这一过程相当痛苦)。
<p>我们越来越多地只是给我们的代理脚本来执行。最终,我们得出结论,对于这类用例,脚本化是一种更好的网页自动化方法。但脚本化也太痛苦了,因此我们着手用 BrowserBook 来解决这些问题。
<p>在技术层面上,它运行一个独立的 TypeScript REPL,直接与内嵌的浏览器实例连接,并内置工具,使脚本开发快速而简单。这包括:
<p>- 在 IDE 中直接提供一个完全交互的浏览器窗口,您可以在不切换上下文的情况下运行代码。
<p>- 类似 Jupyter Notebook 的环境——这里的想法是,您可以在单独的单元中编写自动化的部分并单独运行它们(并可以在浏览器中快速手动重置),而不必每次都重新运行整个流程。
<p>- 一个 AI 编码助手,利用当前页面的 DOM 上下文来编写自动化逻辑,帮助避免寻找选择器的麻烦。
<p>- 用于截图、数据提取和管理身份验证的辅助函数,适用于需要身份验证的工作流程。
<p>一旦您创建了自动化,可以直接在应用程序中运行它,或者通过 API 在我们的托管环境中运行,以便在外部应用程序或代理工作流程中使用。
<p>BrowserBook 的核心是一个 Electron 应用,因此我们可以直接在应用中运行 Chrome 实例,而无需依赖云托管的浏览器。对于 API 运行,我们通过 Kernel 使用托管的浏览器基础设施(顺便说一下,这是一个很棒的产品),依赖于他们的反机器人检测能力(隐身模式、代理等)。
<p>脚本化自动化可能不受欢迎,因为脚本本质上是脆弱的;与“传统”软件开发不同,您的代码是在您无法控制的环境中部署的——别人的网站。通过 BrowserBook,我们试图“接受这种不完美”,并承认这种“进攻性编程”的环境。
<p>我们从头开始设计,假设脚本会出错,并旨在提供使构建和维护它们更容易的工具。未来,我们的计划是利用 AI 在其已经显示出优势的领域——编写代码——来最小化停机时间,并在部署环境变化时快速修复损坏的脚本。
<p>浏览器代理承诺通过将控制权交给可以处理不一致性和模糊性的 LLM 来解决这个问题。虽然我们认为在某些应用中浏览器代理确实可以提供帮助,但需要可靠和重复执行的任务并不在其中。
<p>我们希望您能试用一下!您可以在我们的网站上下载 BrowserBook:<a href="https://browserbook.com">https://browserbook.com</a>(目前仅支持 Mac,抱歉!)当然,我们也非常欢迎您提供任何反馈和意见!
返回首页
一周热榜
<a href="https://github.com/mcp-shark/mcp-shark" rel="nofollow">https://github.com/mcp-shark/mcp-shark</a>
网站:<a href="https://mcpshark.sh/" rel="nofollow">https://mcpshark.sh/</a><p>我开发了MCPShark,这是一个用于模型上下文协议(MCP)的流量检查工具。<p>它位于您的编辑器/LLM客户端和MCP服务器之间,您可以:
• 在一个地方查看所有MCP流量(请求、响应、工具、资源)
• 在工具表现不如预期时进行调试
• 可选地运行“智能扫描”检查,以标记风险工具/配置
(原文链接为 <a href="https://www.theinformation.com/articles/deepseek-using-banned-nvidia-chips-race-build-next-model" rel="nofollow">https://www.theinformation.com/articles/deepseek-using-banne...</a>,但已被封锁)
我创建AlgoDrill是因为我不断在LeetCode上练习,认为自己掌握了模式,但几周后在从零开始实现时却完全忘记了。<p>AlgoDrill将NeetCode 150及更多题目转化为基于模式的训练:你逐行重建解决方案,通过主动回忆来加深记忆,获得解释每一步为何存在的基本原理解析,并且所有内容都按模式标记,如滑动窗口、双指针和动态规划,这样你可以集中练习那些总是忘记的部分。目标很简单:将熟悉的模式转化为你能够在真实面试中快速且自信地编写的代码。<p><a href="https://algodrill.io" rel="nofollow">https://algodrill.io</a><p>希望能收到反馈,看看这种训练风格的方法是否比单纯解决问题有实质性的提升,以及当你第一次访问网站时,哪些地方让你感到困惑或缺失。
大家好,我是 Waleed。我们正在构建 Sim(<a href="https://sim.ai">https://sim.ai</a>),这是一个开源的可视化编辑器,用于构建智能工作流。代码库在这里:<a href="https://github.com/simstudioai/sim/" rel="nofollow">https://github.com/simstudioai/sim/</a>。文档在这里:<a href="https://docs.sim.ai">https://docs.sim.ai</a>。
您可以使用 Docker 在本地运行 Sim,没有执行限制或其他限制。
我们大约在一年前开始构建 Sim,原因是我们不断排查我们的代理在生产环境中失败的原因。以代码为中心的框架由于隐式控制流而难以调试,而工作流平台则增加了比它们所移除的更多开销。我们希望能够实现细粒度的控制和易于观察,而不必自己拼凑所有内容。
大约六个月前,我们以拖放画布的形式推出了 Sim [1][2]。自那时以来,我们增加了:
- 138 个模块:Slack、GitHub、Linear、Notion、Supabase、SSH、TTS、SFTP、MongoDB、S3、Pinecone 等等
- 细粒度控制的工具调用:强制、自动
- 代理记忆:带有滑动窗口支持的对话记忆(按最近 n 条消息或标记)
- 跟踪跨度:嵌套工作流和工具调用的详细日志记录和可观察性
- 原生 RAG:上传文档,我们进行分块,使用 pgvector 嵌入,并向代理公开向量搜索
- 工作流部署版本控制和回滚
- MCP 支持,人工参与模块
- 使用自然语言构建工作流的助手(刚发布了一个新版本,它还充当超级代理,可以直接调用您连接的任何服务,而不仅仅是构建工作流)
在底层,工作流是一个有向无环图(DAG),默认情况下支持并发执行。节点在其依赖项(上游模块)满足后立即运行。循环(for、forEach、while、do-while)和并行分支/合并也是一等公民。
代理模块直接传递给提供者。您可以选择自己的模型(OpenAI、Anthropic、Gemini、Ollama、vLLM),我们将提示、工具和响应格式直接传递给提供者 API。我们对响应形状进行了标准化,以实现模块间的互操作性,但我们不会添加模糊发生情况的层。
我们目前正在开发自己的 MCP 服务器以及将工作流部署为 MCP 服务器的能力。希望听到您的想法,以及我们接下来应该如何推进 :)
[1] <a href="https://news.ycombinator.com/item?id=43823096">https://news.ycombinator.com/item?id=43823096</a>
[2] <a href="https://news.ycombinator.com/item?id=44052766">https://news.ycombinator.com/item?id=44052766</a>
我之所以构建这个数字易经,是因为我想要一个尊重原始数学的版本,而不仅仅是使用 Math.random()。<p>对于好奇的朋友们,以下是一些技术细节:<p>该模拟遵循传统的蓍草算法(大衍)。这个算法的核心依赖于对随机分割后剩余蓍草进行模4运算。<p>为了使其在物理上更真实,我使用了Box-Muller变换来模拟用户以高斯分布分割蓍草(因为人类自然倾向于在中间附近分割),而不是均匀随机分割。<p>我担心这种“人类偏差”可能会影响模运算的概率,因此我进行了100万次的蒙特卡洛模拟来验证。<p>结果是:[0,1,2,3]的余数仍然以接近完美的25%分布出现(偏差小于0.05%)。<p>因此,这个应用程序在模拟人类不完美的物理特性时,仍然保持了概率分布的数学完美性(其中老阴为1/16)。<p>技术栈:Next.js + Tailwind CSS<p>欢迎随时询问有关数学或卦象的问题!