3 分•作者: olyellybelly•15 天前
返回首页
最新
1 分•作者: Zavora•15 天前
大家好!
我很高兴分享 ADK-Rust - Google Agent 开发工具包 (ADK) 的 Rust 生产就绪实现。
为什么选择 Rust?
在 zavora.ai 使用 adk-python 广泛开发 AI 智能体工厂后,我希望将同样的强大智能体开发模式带到 Rust 生态系统中,目标是满足以下用例:
* 性能至关重要 - Rust 的零成本抽象和内存安全
* 部署大小很重要 - 单个二进制文件,没有运行时依赖
* 系统级集成 - 嵌入式系统、边缘计算、物联网
* 大规模并发 - Rust 的 async/await 与 tokio
功能
ADK-Rust 尽可能与 Python ADK 保持 API parity:
* 模型无关 - 支持 Gemini、OpenAI、Anthropic、DeepSeek
* 多种智能体类型 - LlmAgent、SequentialAgent、ParallelAgent、LoopAgent
* 工具支持 - 内置工具(Google 搜索、代码执行)+ 自定义工具
* MCP 支持 - 模型上下文协议集成
* 会话和内存 - InMemorySessionService、DatabaseSessionService
* 流式传输 - 完全支持流式传输,实现实时响应
* 遥测 - OpenTelemetry 集成,用于跟踪/指标
* A2A 协议 - 智能体间通信
快速示例
```rust
use adk_rust::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
let agent = LlmAgentBuilder::new()
.name("my_agent")
.model(GeminiModel::new("gemini-2.0-flash")?)
.instruction("You are a helpful assistant.")
.build()?;
let response = agent.run("Hello!").await?;
println!("{}", response);
Ok(())
}
```
链接
* Crates.io: [https://crates.io/crates/adk-rust](https://crates.io/crates/adk-rust)
* 文档: [https://docs.rs/adk-rust](https://docs.rs/adk-rust)
* 网站: [https://adk-rust.com/](https://adk-rust.com/)
* GitHub: [https://github.com/zavora-ai/adk-rust](https://github.com/zavora-ai/adk-rust)
期待反馈
我很乐意听取社区的意见:
* 您会优先考虑哪些智能体特性?
* 对贡献或测试有兴趣吗?
* Rust 实现有价值的用例有哪些?
这是一个独立的社区项目,并非官方隶属于 Google,但旨在与 ADK 生态系统兼容。
感谢阅读!
1 分•作者: gmays•15 天前
1 分•作者: ankitg12•15 天前
2 分•作者: atakan_gurkan•15 天前
1 分•作者: Beijinger•15 天前
3 分•作者: peeyek•15 天前
2 分•作者: colanderman•15 天前
2 分•作者: elfbargpt•15 天前
1 分•作者: galaxyeye•15 天前
Hi HN,
我想分享一个我们一直在开发一段时间的开源项目:<i>Browser4</i>。
这个项目的动因源于一个反复出现的困扰:大多数浏览器自动化工具(Playwright、Selenium、Puppeteer)非常适合<i>人工编写的脚本</i>,但在用作<i>AI智能体的核心执行层</i>或在高并发场景下时,就会开始出现问题。
因此,我们没有选择“再做一个Playwright的封装”,而是尝试了不同的方向:
<i>设计一个将AI智能体作为第一公民的浏览器引擎。</i>
### 什么是Browser4
Browser4是一个基于<i>原生Chrome DevTools Protocol (CDP)</i>构建的浏览器自动化引擎,重点在于:
* <i>协程安全的并发</i>(设计用于并行运行多个浏览器会话)
* <i>面向智能体的API</i>(导航、交互、提取作为可组合的动作)
* <i>混合提取</i>:ML智能体驱动的提取 + LLM提取 + 结构化选择器 + 类SQL的DOM查询语言 (X-SQL)
* <i>低级别控制</i>,没有Playwright风格的抽象开销
它使用<i>Kotlin/JVM</i>编写,主要是因为我们需要可预测的并发行为和在高负载下的长期稳定性。
该项目完全开源(Apache 2.0 许可证)。
### 它<i>不是</i>什么
* 它不是Playwright的直接替代品。
* 它不是一个无代码RPA工具。
* 它不是“LLM魔法”——LLM位于浏览器引擎的<i>外部</i>。
Browser4有意保持与浏览器执行层的紧密联系,并将规划/推理留给外部智能体循环。
### 我们正在测试的当前用例
* 大规模Web数据提取
* 智能体工作流程(搜索 → 导航 → 提取 → 总结)
* 频繁回访的价格/内容监控
* 高并发爬取,其中浏览器启动和上下文切换是瓶颈
在单台机器上,我们可以维持<i>非常高的每日页面访问量</i>,尽管我们仍在验证不同工作负载的基准测试结果。
### 待解决的问题(我希望得到反馈)
* 对于智能体系统,完全绕过Playwright并更接近CDP是否有意义?
* 您认为目前将LLM与浏览器自动化结合时,最大的痛点是什么?
* JVM在这里是一个合理的选择吗,还是Python仍然是更好的权衡,尽管存在并发限制?
* 您希望在为AI智能体构建的浏览器引擎中看到哪些抽象?
### 链接
* GitHub: <a href="https://github.com/platonai/browser4" rel="nofollow">https://github.com/platonai/browser4</a>
* 网站(简要概述): <a href="https://browser4.io" rel="nofollow">https://browser4.io</a>
欢迎回答技术问题或听取批评——特别是来自正在生产环境中运行浏览器自动化或智能体系统的人。
感谢阅读。
1 分•作者: gmays•15 天前
2 分•作者: parisidau•15 天前
1 分•作者: mudil•15 天前
1 分•作者: ghssds•15 天前
1 分•作者: TheDataMaverick•15 天前
1 分•作者: zdw•15 天前
5 分•作者: zdw•15 天前
3 分•作者: cv_h•15 天前
我构建了 Flowctl,作为一个轻量级的 Rundeck 替代方案,用于将脚本转化为安全的自助服务产品。它是一个单一的 Go 二进制文件,工作流程在简单的 YAML/HUML 配置中定义。Flowctl 免费且开源,采用 Apache 2.0 协议。
用户填写表单来触发工作流程。工作流程配置定义了输入,Flowctl 将其渲染为表单。输入可以使用 expr 表达式进行验证。
工作流程是一系列操作的集合。每个操作都可以通过 SSH 在本地或远程节点上运行。每个操作使用一个执行器,并且可以在继续之前等待审批。
执行器为操作提供运行时环境。目前有 2 个执行器可用(Docker 和 Script)。执行器是模块化的,但我正在努力通过 gRPC 插件使其可插拔。
我构建这个工具是因为我需要一个简单的工具来管理我在旅行时的家庭实验室,一个可以作为脚本 UI 的东西。在工作中,我也在寻找将重复的运维/基础设施任务转化为自助服务产品的工具。我尝试过 Backstage 和 Rundeck 等工具,但它们要么过于复杂,要么 OSS 版本缺少重要功能。
示例用例:
* 数据库迁移:等待 DBA 批准,通过 SSH 在远程数据库主机上运行迁移,进行迁移后验证。
* 自助基础设施配置:Terraform 计划在 Docker 容器中运行,将计划输出为工件,暂停等待批准,在批准后应用。
* 紧急磁盘空间清理:值班工程师通过 UI 触发。工作流程通过 SSH 连接到服务器,识别可以安全删除的文件(旧日志、临时文件、Docker 缓存)并进行清理。
功能:
* 使用 OIDC 和 RBAC 的 SSO
* 命名空间隔离
* 通过 SSH 在远程节点上执行
* 审批
* 基于 Cron 的调度
* 加密凭据和密钥存储
* Docker 和 Script 执行器
* 在操作之间传递文件和变量
* 在多个远程节点上并行执行
技术栈:Go, SvelteKit, PostgreSQL
演示:[https://demo.flowctl.net](https://demo.flowctl.net)(针对桌面优化)
主页:[https://flowctl.net](https://flowctl.net)
GitHub:[https://github.com/cvhariharan/flowctl](https://github.com/cvhariharan/flowctl)
我欢迎您对功能、用例或您遇到的问题的任何反馈。很乐意回答问题!
1 分•作者: gmays•15 天前
2 分•作者: Pukuta•15 天前
你希望控制生活中 AI 助手的哪些方面?
你是否会允许 AI 助手代表你发送电子邮件?
大多数人会说“不”——风险太高。
但如果你可以设置这样的规则呢:
* “只发送给我的联系人”
* “永远不要花费超过 50 美元”
* “只安排下午 2 点到 4 点之间的会议”
* “屏蔽域名:竞争对手.com”
这就是我所构建的。
隆重推出 PIA(个人身份代理)——一个用于 AI 助手的授权平台。
它就像你生活中的 IAM:
* 定义策略(代理可以/不可以做什么)
* 代理通过 OAuth 流程进行身份验证
* LLM 根据你的规则验证每个操作
* 完整的审计跟踪
构建了一个 SDK 和 5 个生产代理来证明这一点:
电子邮件 • 日历 • 联系人 • 文件 • 任务
全部上线。全部可用于生产环境。
访问地址:digital-embodiments.vercel.app
SDK 在 NPM 上:
npm install @variant96/pia-sdk
技术栈:Next.js, TypeScript, Prisma, NextAuth, Groq/Gemini
这是我对我们如何安全地委托给 AI 助手的押注。
想法?什么能让它更有用?