12 分•作者: boxesnlines•6 天前
返回首页
一周热榜
11 分•作者: Bondi_Blue•5 天前
11 分•作者: wglb•4 天前
11 分•作者: afilipovski•4 天前
11 分•作者: m_montazeri•5 天前
11 分•作者: tack1234•3 天前
我正在为 CHIP-8 编写一个自定义汇编器,刚刚完成了对 `DB/.byte` 指令的支持,这样我就可以嵌入精灵到 ROM 中,最终在屏幕上绘制东西。它应该支持所有 OG CHIP-8 指令,但仍有许多粗糙之处需要我打磨。
这是我的第一个 C++ 项目,就像 CHIP-8 模拟器是我的第一个 C(以及模拟器开发)项目一样。编写汇编代码,然后让你的程序输出一个实际能在你编写的模拟器中运行的 ROM,这感觉非常令人满足。
所有代码都是我写的(很多都是直播时写的),质量可见一斑,绝非 AI 所为。
11 分•作者: Bluestein•5 天前
11 分•作者: loiseaujc•5 天前
11 分•作者: ibobev•2 天前
10 分•作者: speckx•6 天前
10 分•作者: vismit2000•大约 9 小时前
10 分•作者: jd_•5 天前
你好 HN - 长期潜水用户(自 2012 年起!),首次发帖。
Pizza Bot 是一款自托管的桌面应用程序,支持 Mac、Windows 和 Linux,它在后台运行 AI 代理,并通过类似电子邮件的界面将其暴露出来。已完成的工作会显示在“未读”中,任何需要您批准的事项都会显示在“待办”中。它采用 Apache 2.0 许可,无需注册,没有遥测数据,您可以自行选择模型提供商:Anthropic、Amazon Bedrock、Google Gemini、OpenAI、OpenRouter,或通过 Ollama 使用本地模型。发布页面上有可用的构建版本,您也可以从源代码运行。
Pizza Bot 最初是我在亚马逊与一个小团队合作的一个内部激情项目。
整个项目的起因是我对必须通过浏览器表单手动记录 CRM 活动感到沮丧。我构建了一个名为“JoeBot”的简单 REST API,它通过 CDP 连接到我已认证的浏览器会话,并使用 Playwright 为我填写表单。然后,我快速制作了一个 Obsidian 插件,以便可以从本地笔记中触发它(不涉及 AI 和 MCP 服务器)。
这个想法很快流行起来。我的同事,AWS 解决方案架构师 Igor Fil 加入了我,我们将项目重新命名为“Pizza Bot”,这个名字来源于亚马逊的“两个披萨团队”概念。我们开始探索可以构建的其他自动化。我们发现了一个可以查询的 GraphQL API,并制作了一些“配方”来从 CRM 中提取数据,以帮助准备会议。这效果很好,而且正值 MCP 服务器开始兴起的时候,所以我们决定将 Pizza Bot 作为 MCP 服务器公开,以便通过自然语言供 AI 工具使用。
这对技术用户来说是一个不错的解决方案,但那些主要使用我们 CRM 系统的客户经理也想要一些东西。我们决定将 Pizza Bot 重建为一个 Electron 桌面应用程序,模仿电子邮件收件箱的界面,以便非技术用户也能熟悉,并且可以在 Mac 和 Windows 上运行。我们还将内部 MCP 服务器打包成 OCI 镜像,并将其托管在 Amazon ECR 中作为“附加组件市场”,以便用户可以一键安装,而无需设置亚马逊开发者工具。
该项目有机地发展起来,并从 AWS 扩展到全球更广泛的亚马逊组织。最终有超过 2,000 人使用它进行会议准备、起草电子邮件、总结 Slack 对话、记录 CRM 活动、安排日常工作和进行网络研究。
当 Claude Cowork 和亚马逊自家的 Quick Desktop 等应用程序出现后,我们意识到真正的增长机会在亚马逊之外。与其试图移除亚马逊特定的集成,不如我们将 Pizza Bot 再次重建成一个开源项目。我们大量依赖编码代理,这是我们这个规模的团队能够完成全面重写的唯一原因。我很高兴地宣布它终于公开了,我们希望吸引社区成员,看看它会走向何方。我们希望为知识工作者做 Claude Code 和 Codex 为程序员所做的事情。
有几点需要提前了解。Pizza Bot 在亚马逊内部最初有用的功能大部分来自亚马逊自有系统的内部技能和 MCP 服务器目录,而这些都无法随应用程序一起发布。因此,它发布的版本比那 2,000 人使用的版本要精简,而重新构建这个目录以支持人们实际使用的工具是我们最需要帮助的地方。它也是一个社区项目,而不是 AWS 服务,因此没有支持或 SLA。Windows 和 Linux 的构建版本尚未签名。
在技术方面,Pizza Bot 包含服务器和客户端。桌面应用程序同时打包了两者,或者您可以将客户端指向远程后端;我个人在家庭网络上自托管服务器,并通过 Tailscale 从手机访问它。服务器负责线程生命周期,并使用 DeepAgents 和 LangGraph 检查点状态,客户端根据需要从中恢复,因此您可以在运行过程中断开连接,然后从另一个客户端继续线程。批准暂停会持续比创建它们的会话更长的时间,并在“待办”过滤器中收集,因此您可以在一个小时后从不同的设备进行回复。您与之交互的代理拥有一个沙盒化的 QuickJS 解释器,只有在您授予文件夹访问权限时才能访问您的文件系统,但它的主要工作是委托。每个子代理都与一个 Skill 是一对一的映射,活动栏会显示该子代理以及它在工作时正在进行的工具调用。内存是选择加入的,并以纯 markdown 文件的形式存储在您的机器上。每一次工具调用都是明确的,包括查找内存——我们倾向于透明化以减少意外。工具来自 MCP 服务器,而 Skills 是普通的 SKILL.md 文件,带有每个工具的批准策略,因此不需要代码解释器的现有 Skills 应该仍然可用。
我最想听到的反馈是应用程序本身在哪里阻碍了您,以及您无法通过编写 Skill 或 MCP 服务器来解决的问题类型。我今天随时可以回答问题!
9 分•作者: moneroloop2018•4 天前
9 分•作者: egberts1•5 天前
9 分•作者: DropDead•2 天前
8 分•作者: ghernando•3 天前
8 分•作者: imwally•4 天前
8 分•作者: GloriaVinogrado•3 天前
8 分•作者: TMWNN•3 天前
8 分•作者: throw0101d•6 天前