2 分•作者: iampneuma•大约 2 个月前
返回首页
最新
1 分•作者: dpola•大约 2 个月前
1 分•作者: rnestler•大约 2 个月前
1 分•作者: nbauma109•大约 2 个月前
1 分•作者: carvil•大约 2 个月前
我的孩子们(8岁和11岁)喜欢数学。其中的关键在于掌握基础知识——如果孩子在基础方面有困难,就很难在此基础上建立自信。其中一个基础就是非常熟练地掌握乘法表。在家里,我们一直试图让学习变得有趣,并且喜欢在其中加入一点竞争的元素。<p>在学校(葡萄牙的一所国际学校,面向讲英语的学生),他们也使用许多有趣的策略来教孩子们乘法表。其中一种叫做“5分钟狂热”。它由一张印在纸上的矩阵组成,通常是10x10,上面有随机的乘法问题,学生们必须在5分钟内完成。目标是在5分钟内尽可能多地完成。孩子们喜欢这种挑战和竞争的性质。<p>用纸来做很酷,但并不总是很实用……<p>所以我构建了一个免费的数字版本。无需电子邮件,没有追踪,不收集个人数据。<p>如果孩子们想在排行榜上排名(不是玩游戏必需的),并且通过一个GitHub风格的热图来跟踪进度,显示每个乘法表的准确性,只需要一个轻量级的用户名和一个4位数的密码。<p>从技术上讲,它非常基础——一个next.js应用程序,后端使用Postgres来存储用户、游戏等数据,部署在Digital Ocean的服务器上。<p>我认为徽章/排行榜部分需要大量的迭代,现在可能太容易爬上排行榜了,但我正在和孩子们一起试验,看看效果如何。<p>你觉得怎么样?
4 分•作者: n1b0m•大约 2 个月前
1 分•作者: loterio•大约 2 个月前
2 分•作者: louiereederson•大约 2 个月前
20 分•作者: atombender•大约 2 个月前
2 分•作者: Benex254•大约 2 个月前
6 分•作者: praccu•大约 2 个月前
51 分•作者: smooke•大约 2 个月前
37 分•作者: chmaynard•大约 2 个月前
70 分•作者: doener•大约 2 个月前
188 分•作者: ortusdux•大约 2 个月前
4 分•作者: nimeshmc•大约 2 个月前
TL;DR:logbox 是一个开源工具,它将开发服务器日志通过管道传输到本地 SQLite 数据库,使用命令 `<你的开发服务器命令> | logbox collect` 即可实现。通过运行 `claude mcp add logbox -- logbox serve`,可以赋予 Claude Code 访问权限。
我过去在本地开发环境中手动测试服务器时,经常需要复制粘贴日志到 Claude Code。我希望它能拥有自己的验证循环。
最初,我尝试让它自己启动服务器并跟踪日志。它擅长判断服务器是否启动成功,但在日志开始涌入时,它会达到上限并错过细节。
我也尝试过将日志通过管道传输到本地文件,然后告诉 Claude 从那里读取。这虽然可行,但一旦我们有了多个服务,或者想要引用过去的开发服务器会话时,就会变得很麻烦。
因此,我在 Struct 内部构建了 logbox,并决定将其开源。它是一个简单的 Rust CLI 工具,通过管道将日志传输到本地 SQLite 数据库,并配备一个 MCP 服务器,使编码代理能够搜索这些日志。
一旦它能够在测试其更改后完全自主地可靠地监控开发服务器日志,我就不再需要费力地寻找日志片段,也不再需要不断地提示它来完成手动端到端测试。
所有操作都在本地进行。`logbox serve` 是一个 stdio MCP 服务器,它与本地 SQLite 数据库配合使用,即可正常工作。
2 分•作者: gfortaine•大约 2 个月前
2 分•作者: 7777777phil•大约 2 个月前
1 分•作者: iamjeylabrecque•大约 2 个月前
1 分•作者: kavin_key•大约 2 个月前
大家好,我在过去的几个月里一直在构建这个项目,现在已经到了一个阶段,外部的视角比我独自迭代一周更有帮助。<p>这是一个看板,其中每个任务单会运行两个前后衔接的代理:<p>构建代理:在一个沙盒化的临时目录中运行,针对用户仓库的浅层克隆,进行更改,推送一个分支,并打开一个 PR。使用 Claude Agent SDK。<p>质量保证(QA)代理:等待预览部署启动,然后通过 Browserbase 驱动一个真实的浏览器,针对预览进行测试,并验证更改是否符合任务单的验收标准。QA 会话的截图和 MP4 视频会附加到 PR 中。<p>如果 QA 失败,构建代理会重新运行,并将 QA 报告作为上下文,最多迭代 3 次。在每次重试之前,一个分类器会读取失败原因,并判断是真正的代码错误还是环境问题(Clerk 未加载、预览从未部署、Browserbase 会话收到 403 错误等)。环境问题会中断循环,而不是在基础设施噪音上进行迭代。这是可靠性方面最大的提升。<p>另一方面是输入。该平台公开了一个 MCP 服务器,因此你可以从 Claude Code 或任何 MCP 客户端说“为 X 创建一个任务单”,它就会出现在待办事项中。我构建这一切的最初原因是我觉得写任务单才是我的瓶颈,而不是写代码。<p>一些可能有趣的实现细节:<p>构建代理的系统提示禁止使用 Task / Agent(子代理)工具。在 SDK 内部生成子代理会持续挂起 4 分钟以上。使用 Read/Edit/Bash/Glob/Grep 保持在主会话中,可靠性大大提高。<p>Postgres 模式在启动时从一个 schema.sql 文件应用,并在所有地方使用 IF NOT EXISTS,实现幂等性。没有迁移目录。添加一个列就是“编辑 schema.sql,推送,重启”。这是我在后端做出的最具杠杆效应的决定。<p>QA 有一个快速模式(本地 Chromium,用于匿名路由)和一个深度模式(Browserbase + 住宅代理 + 隐身,用于任何需要身份验证的内容)。模式是针对每个任务单的,因为一旦你跨过登录墙,便宜又快速的方式就会失去信号。<p>一个后台清扫程序会强制失败任何运行超过 60 分钟的作业。SDK 可能会以 asyncio.wait_for 无法始终通过子进程边界清理的方式挂起,因此这个杀手锏是一个双重保障。<p>技术栈:FastAPI on Railway,Postgres,Claude Agent SDK,Browserbase,Vercel 用于预览,Clerk 用于身份验证,Resend 用于事务性电子邮件,MCP over HTTP。前端是 Vercel 上的一个 HTML 文件,没有构建步骤,没有框架,只有原生的 JS 和从 CDN 加载的 Clerk。<p>目前尚未完善的地方:深度模式 QA 偶尔仍会在不熟悉的 OAuth 流程中卡在 CAPTCHA 上。分类器的环境故障列表是手工整理的关键词,比较脆弱。费用跟踪是按作业进行的,但我还没有构建每个工作区的预算上限。Vercel 上的 PR 预览有时需要 2-3 分钟才能启动,QA 代理必须等待。<p>目前处于 Alpha 测试阶段,需要排队。Alpha 阶段免费,之后会有付费计划。整个平台都是使用 Claude Code 构建的,因此它一直在进行自我测试。<p>网站:<a href="https://notesasm.com" rel="nofollow">https://notesasm.com</a><p>非常欢迎反馈,特别是关于:双代理循环设计、分类器方法、哪些类型的任务单实际上会在你的仓库中破坏它,以及我应该注意的现有技术(我知道 Devin、OpenHands、SWE-agent;还有什么?)。