19作者: lucamrtl大约 1 个月前
大家好,我们开源了 ktx。它是一个可执行的上下文层,让代理在你的数据栈上更可靠。<p>我们构建它,是基于为数十家公司构建生产级数据代理的经验。如果你也尝试过构建它们,或者只是尝试在你的数据仓库上使用 Claude Code 或 Codex,你就会知道准确性是头号问题。代理擅长生成有效的 SQL,但它并不总是正确的 SQL。<p>举几个“代理出错”的例子:<p>- 过时的列 + 隐藏的业务规则:在准备董事会报告时,财务分析师向 Claude Code 询问“按客户细分的 ARR”,它从多个表(订阅、计划、账户)中推导出 ARR,然后按 accounts.industry 分组。但 CC 并不知道几个月前这个 industry 列已被弃用,或者过去的董事会报告中排除了暂停订阅的 ARR 计算<p>- Join fanout(连接扇出):一家零售商的数据分析师使用他们公司的内部代理来准备 QBR 的产品收入报告。代理将订单连接到 order_items,然后按 order_items.product_id 对 orders.total_amount_cents 求和。SQL 运行良好,但每个订单的收入会针对每个商品重复一次,如果大多数订单只有 1 个商品,那么大多数人都会忽略这一点<p>- 缺少归因逻辑:市场分析师询问 Codex“哪些活动带来了最多的收入?”Codex 将 marketing_touches 连接到用户再连接到订单,并按 utm_campaign 分组。但由于每个订单在购买前可能有多次接触,因此同一订单可以归功于首次接触、最后一次接触、每次接触,或者用户购买前点击的每个活动。如果代理选择的方法与团队的归因逻辑不符,他们将做出次优决策<p>为了解决这个问题,我们最初通过技能 + wiki 风格的知识库为代理提供了更多上下文。这为它提供了一些有用的额外上下文,但仍然依赖于它在没有错误假设的情况下编写 SQL。<p>我们探索的下一个解决方案是实现一个经典的语义层。这解决了可执行部分,但由于它们是为旧版 BI 工具而构建的,因此构建和维护起来非常痛苦。此外,作为独立工具,它们缺乏来自非结构化数据源(如内部文档)的所有有用上下文。<p>所以我们构建了 ktx,并将其分为 2 部分:<p>1. 业务上下文进入 Markdown wiki 页面,这些页面会被自动摄取和自动填充<p>2. 可查询的定义进入 YAML 文件,这些文件定义了表、行粒度、连接、度量、维度、过滤器和过滤器组<p>这样,当代理需要一个指标时,它会向 ktx 询问度量、维度、过滤器和过滤器组,而不是自己编写整个查询。ktx 的规划器选择连接路径,使用粒度和关系元数据,捕获连接扇出和峡谷连接等问题,并编译数据仓库 SQL,同时利用它可以访问的额外非结构化知识。<p>ktx 是 Apache 2.0 协议。它可以从大多数数据仓库(BigQuery、Snowflake、Postgres 等)、建模工具(dbt、MetricFlow、LookML)、BI 工具(Looker、Metabase)、Notion 等文档工具以及用户交互的更正中摄取数据。<p>手动安装:<p>npm install -g @kaelio&#x2F;ktx<p>ktx setup<p>或者给你的代理这个提示:<p>运行 npx skills add Kaelio&#x2F;ktx --skill ktx 并使用 ktx 技能来安装和配置 ktx<p>我们特别希望收到使用 Claude Code、Codex 或在分析仓库上构建自定义代理的人的反馈。它们在哪里失败了?你尝试了什么来使答案更可靠?
3作者: shivajikobardan大约 1 个月前
我一直在用电来打比方。你自己不发电,而是从电力供应商(可能是政府或私营企业)那里获得服务。<p>我自己也对这个比方感到厌倦了。我在很多课上都用过这个。我想换个比方。我还能用什么呢?
10作者: cinericius大约 1 个月前
邮件正文: garnix 即将关闭 大家好, 我们想告知大家,garnix 将与 Shopify 合并。 我们很遗憾地宣布,作为此次过渡的一部分,托管的 garnix 服务将于 2026 年 7 月 15 日关闭。但我们将开源 garnix 代码库,您可以在这里获取 (https://github.com/garnix-io/garnix-ci);我们希望这能帮助您顺利迁移到使用您自己的实例或共享实例。如果您有兴趣运营公共社区实例,请与我们联系——我们很乐意与您交流。 我们还将于 7 月 15 日删除所有用户数据,包括构建产物。请务必在此之前下载您想要保留的内容。 感谢大家使用 garnix,感谢多年来的反馈和支持。虽然我们对在 Shopify 的下一步感到兴奋,但我们也会想念与这个社区一起工作。从一开始,无论是我们在 Open Collective 时代的慷慨捐款,还是你们深思熟虑的反馈,你们都非常棒。 注:发布时 GitHub 链接无法解析。我想很快就会解决。
4作者: tomjohnson3大约 1 个月前
我们构建了 Multiplayer,因为我们一直遇到同样的问题:连接到现有可观察性堆栈的编码代理继承了这些堆栈构建时所具有的所有限制。抽样追踪、聚合指标、在服务边界处停止的上下文、系统中深层缺失的请求/响应内容。它们生成的 PR 看起来合理,但在生产环境中却会失败(即“PR 垃圾”)。 Multiplayer 在本地与 Claude Code(Codex、Copilot 和 Cursor 即将推出)一起运行,并捕获整个系统的全栈、未抽样的会话数据。我们收集从前端用户操作到后端追踪和日志的所有内容,包括请求/响应内容和标头。这些都是大多数可观察性工具要么抽样掉,要么根本不捕获的内容。我们只在出现问题时才保存数据,因此您无需为存储系统全天候产生的所有内容付费。 当识别出问题时,Multiplayer 会在任何内容到达您的编码代理之前在本地进行去重。在一百个会话中出现的同一个错误会变成一个问题、一个提示、一个 PR。您的代理会根据实际发生故障的完整、关联的画面进行工作,而不是根据抽样追踪的局部信号。 我们试图让入门尽可能简单,因此只需一个命令行即可安装: `npm install -g @multiplayer-app/cli && multiplayer` 很乐意深入探讨架构、数据模型,或者我们如何处理数据隐私的本地优先方法。
4作者: matebajusz大约 1 个月前
我一直在为我的家庭实验室/自托管环境构建一个命令行工具。最初的动机是厌倦了拼凑部署、监控、远程 SSH 访问和各种脚本。这是一个开源的 CLI 工具,集成了监控、安全远程访问(隧道和终端)、日志转发、自动化部署等功能。没有暴露的端口或端点,一切都由用户自定义配置。多个朋友感兴趣的一个用例是用 BeaconInfra 的隧道功能替代 HomeAssistant 的 Nabu Casa 订阅。 云端/控制平面部分 (BeaconInfra) 是可选的。代理本身旨在保持本地优先,并继续离线运行。 CLI 输出示例: ⬡ beacon 0.5.2 ● master 运行中 已运行 29 天 14 小时 设备 bajszi-MINI-S amd64 Ubuntu 25.04 项目 2 个健康 0 个警告 0 个宕机 ``` ● beaconinfra 1/1 检查通过 ● mestertkeresek 1/1 检查通过 ``` 隧道 ``` ● homeassistant 已连接 ```
1作者: h4ch1大约 1 个月前
嗨,HN, 前段时间,我看到一个视频[0],人们在下国际象棋,但使用行动卡来修改游戏中的规则(跳过回合、反转、抽 2 张等)。看起来非常混乱,玩起来也很有趣,所以我决定把它做成一个可以玩的在线游戏。Monochess 有一个小小的不同,就是如果你只有一个棋子,就不需要喊出短语。我在和妻子测试的时候注意到,每次移动都这样做变得非常烦人。 这也给了我一个很好的理由,让我使用 Cloudflare 整个技术栈来构建,这正是我一直以来想尝试的事情。这个应用程序使用 SvelteKit 构建,并托管在 Pages 上,有一个由 Durable Object worker 支持的游戏服务器,以及 D1 作为帐户/游戏的数据库层。 这个项目包括: * 自定义引擎:标准的国际象棋引擎在被迫进入非法棋盘状态时会崩溃。该引擎封装了标准的国际象棋逻辑,以允许在回合中进行状态更改——处理诸如回滚已完成的移动、处理跳过回合等概念。 * 自定义状态序列化:标准的 PGN 在行动卡被使用的那一刻就会崩溃。Monochess 使用基于 JSON 的自定义序列化模式,确定性地记录国际象棋的移动和卡牌行动。这使得游戏状态对于历史记录、重放和验证来说是完全可重现的。 * Durable Objects 游戏服务器:实时多人游戏完全通过 Cloudflare Durable Objects 在边缘处理。DO 充当单一事实来源,管理 WebSocket 连接,根据规则集验证行动,处理断开连接,并运行回合计时器。 * D1 持久化和匹配:使用 Cloudflare D1 存储序列化的游戏记录,管理玩家身份验证,并通过自定义的 Glicko-2 评级实现来跟踪 ELO。 在这里免费玩:<a href="https://monochess.pages.dev" rel="nofollow">https://monochess.pages.dev</a> 很想听听你的想法,或者你是否设法找到了任何绝对破坏平衡的卡牌/移动组合。网站上也有一个反馈/错误报告表单(写入 CF KV,并且一个 worker 运行以将其通过电子邮件发送给我(我发誓我没有被 CF 赞助 xd))。 LLM 的辅助作用很小,但 Gemini 3.5 Flash 对于小的 UI 增强和组织 Svelte 中的组件来说非常好。 感到很惊喜。 \[0] <a href="https://www.youtube.com/watch?v=vzkKs_b5css" rel="nofollow">https://www.youtube.com/watch?v=vzkKs_b5css</a>