3 分•作者: AfthabShiraz•5 个月前
返回首页
最新
2 分•作者: jordanf•5 个月前
60 分•作者: imadr•5 个月前
1 分•作者: articsputnik•5 个月前
1 分•作者: risethagain•5 个月前
如果你使用 Claude Code(或类似的 AI 编程工具),你可能已经注意到,一个 `cargo test` 或 `npm run build` 命令可能会将数千个无用的 token 倾倒到你的上下文窗口中。通过的测试、重复的警告、完整的堆栈跟踪——这些对于人类在终端中滚动查看是有用的,但对于只需要知道哪里失败以及为什么失败的 LLM 来说,就是浪费。<p>tokf 是一个 Rust CLI 工具,它可以拦截命令输出,并使用 TOML 定义的过滤器进行压缩。你可以去除通过的测试、折叠重复的错误、裁剪堆栈跟踪等等。<p>棘手的部分是让它与构建编排器一起工作。如果嘈杂的输出来自内部运行的 `cargo test`,那么挂钩 `just test` 并没有什么帮助。最终,我通过三种不同的方式解决了这个问题,具体取决于使用的工具:<p>- make/just:使用它们的 --shell 标志将执行路由到 tokf
- git hooks / 其他工具:将一个 shim 目录添加到 PATH 前面<p>我写了完整的实现细节:<a href="https://pecan.si/posts/getting-into-make-just-and-hooks/" rel="nofollow">https://pecan.si/posts/getting-into-make-just-and-hooks/</a><p>用 Rust 构建,在我的工作流程中每天执行约 1,800 次。过滤器使用 TOML,并有一个 Lua 转义机制。开源:<a href="https://tokf.net" rel="nofollow">https://tokf.net</a>
1 分•作者: romain_batlle•5 个月前
1 分•作者: za_mike157•5 个月前
1 分•作者: gzoo•5 个月前
1 分•作者: ktshvsk•5 个月前
我的医生让我记饮食日记。我试过 MyFitnessPal、Lifesum 等应用,但它们都无法方便地导出指定日期范围的摘要。所以我用 Claude Code 在一个晚上 vibe-coded 了一个远程 MCP 服务器。现在我只需拍下食物照片,发送给 Claude,它就能记录所有内容,包括卡路里和营养成分。需要报告时,我直接在对话中提出要求。没有应用,无需手动输入——只有一个数据库和聊天界面。
2 分•作者: newer_vienna•5 个月前
2 分•作者: inaros•5 个月前
1 分•作者: lolpython•5 个月前
1 分•作者: filipbalucha•5 个月前
大家好,Hacker News!我们是来自 Terminal Use 的 Filip、Stavros 和 Vivek(<a href="https://www.terminaluse.com/">https://www.terminaluse.com/</a>)。我们构建 Terminal Use 的目的是为了更容易地部署在沙盒环境中运行并需要文件系统才能工作的代理。这包括编码代理、研究代理、文档处理代理以及读写文件的内部工具。<p>这里有一个演示:<a href="https://www.youtube.com/watch?v=ttMl96l9xPA" rel="nofollow">https://www.youtube.com/watch?v=ttMl96l9xPA</a>。<p>我们在托管代理时遇到的最大痛点是,你需要将多个部分拼凑在一起:打包你的代理、在沙盒中运行它、将消息流回用户、跨回合保持状态以及管理文件与代理工作区的交互。<p>我们想要类似 Replicate 的 Cog 的东西,但用于代理:一种从代码库打包代理代码并通过干净的 API/SDK 提供服务的简单方法。我们希望提供一个与你的代理通信的协议,但不对代理逻辑或框架本身进行约束。<p>在 Terminal Use 上,你使用 config.yaml 和 Dockerfile 从代码库打包你的代理,然后使用我们的 CLI 部署它。你定义了三个端点(on_create、on_event 和 on_cancel)的逻辑,这些端点跟踪任务(对话)的生命周期。config.yaml 包含有关资源、构建上下文等的详细信息。<p>开箱即用,我们支持 Claude Agent SDK 和 Codex SDK 代理。通过支持,我们的意思是,我们有一个适配器,可以将 SDK 消息类型转换为我们自己的类型。如果你想使用你自己的自定义框架,你可以使用我们的类型(与 Vercel AI SDK v6 兼容)转换和发送消息。对于前端,我们有一个 Vercel AI SDK 提供程序,它允许你将你的代理与 Vercel 的 AI SDK 一起使用,并有一个消息模块,这样你就不必自己管理流和持久化了。<p>我们认为最不同的部分是存储。<p>我们将文件系统视为一级原生组件,与任务的生命周期分开。这意味着你可以跨回合保留工作区,在不同的代理之间共享它,或者独立于沙盒是否处于活动状态来上传/下载文件。此外,我们的文件系统 SDK 提供了预签名 URL,这使得你的用户可以轻松直接上传和下载文件,这意味着你不需要通过你的后端代理文件传输。<p>由于你的代理逻辑和文件系统存储是解耦的,这使得迭代你的代理变得很容易,而无需担心沙盒中的文件:如果你发布了一个错误,你可以部署并将所有任务自动迁移到新的部署。如果你进行了重大更改,你可以指定现有任务保留在现有版本上,并且只有新任务使用新版本。<p>我们还增加了对多文件系统挂载的支持,具有可配置的挂载路径和读/写模式,因此存储保持耐用和可重用,而挂载布局保持任务特定。<p>在部署方面,我们受到了现代开发者平台的启发:简单的 CLI 部署、预览/生产环境、基于 git 的环境目标、日志和回滚。构建、部署和管理代理所需的所有配置都存储在 config.yaml 文件中,这使得在 CI/CD 管道中构建和部署你的代理变得很容易。<p>最后,我们明确地为你的 CLI 编码代理设计了我们的平台,以帮助你构建、测试和迭代你的代理。使用我们的 CLI,你的编码代理可以向你部署的代理发送消息,并下载文件系统内容,以帮助你了解你的代理的输出。我们测试代理的常用方法是,我们制作带有我们希望测试的用户场景的 Markdown 文件,然后要求 Claude Code 模拟我们的用户并与我们部署的代理聊天。<p>我们还没有的是:与通用沙盒提供商的完全对等。例如,预览 URL 和较低级别的 sandbox.exec(...) 风格的 API 仍在开发中。<p>我们很高兴在下面的评论中听到任何想法、见解、问题和担忧!
17 分•作者: Norfair•5 个月前
14 分•作者: todsacerdoti•5 个月前
69 分•作者: TechTechTech•5 个月前
17 分•作者: heresie-dabord•5 个月前
2 分•作者: robotmem•5 个月前
28 分•作者: bwoah•5 个月前
2 分•作者: 1vuio0pswjnm7•5 个月前