Show HN:Ktx – 数据代理的开源可执行上下文层

2026-05-28 1 阅读 lucamrtl
数据代理的上下文层快速入门·CLI 参考·代理设置·Slack ktx 是一个自我改进的上下文层,它教代理如何准确查询您的仓库 - 从批准的指标定义、可连接列以及它为您构建和维护的业务知识。注意 使用您自己的 LLM API 密钥或 Claude Pro/Max 订阅运行 ktx。 ktx 不收取额外的使用费用。为什么 ktx 通用代理在数据任务上苦苦挣扎。他们会针对每个问题重新探索您的仓库,发明自己的度量逻辑,并返回与批准的定义不匹配的数字。传统的语义层无法解决这个问题。它们需要持续的手动维护,并且不会吸收公司的其他知识。 ktx 自动做到这两点:从公司知识中学习。提取 wiki 内容,对其进行组织,删除重复项,并标记矛盾以供人工审核。映射数据堆栈。对表进行采样、捕获元数据和使用模式、检测可连接列并注释源,以便代理编写更好的查询。构建语义层。通过连接图组合原始表和高级指标,自动解决鸿沟和扇形陷阱,因此代理以声明方式获取指标,而不是每次都重写规范 SQL。为执行时的代理人提供服务。公开 CLI 和 MCP 工具,并结合跨 wiki 和语义层实体的全文和语义搜索。 ktx 如何比较 通用代理 传统语义层 ktx 自动构建仓库上下文 — — ✓ 检测可连接列 + 解决扇形/鸿沟陷阱 — 手动 ✓ 经批准、可重用的度量定义 — ✓ ✓ 吸收 wiki/概念/团队知识 — — ✓ 标记跨源的矛盾 — — ✓ 提供 CLI + MCP 用于代理执行 部分 — ✓ 设计为只读 n/a n/a ✓ 谁是 ktx如果您满足以下条件,请使用 ktx: 希望 Claude Code、Codex、Cursor 或 OpenCode 等代理使用批准的指标定义查询您的仓库 拥有分散在 dbt、Looker、Metabase、Notion 和团队 wiki 中的业务知识 需要代理重用规范 SQL,而不是在每个提示上发明它 如果您满足以下条件,请跳过 ktx: 您没有 SQL 仓库 - ktx 位于一个 SQL 仓库之上 您只需要一个即席查询 - psql 或笔记本即可适用于 PostgreSQL、Snowflake、BigQuery、ClickHouse、MySQL、SQL Server 和 SQLite。与 dbt、MetricFlow、LookML、Looker、Metabase 和 Notion 集成。快速入门 npm install -g @kaelio/ktx ktx setup ktx status ktx setup 创建或恢复本地 ktx 项目、配置提供程序和连接、构建上下文以及安装代理集成。设置后的示例 ktx 状态: ktx 项目:/home/user/analytics 项目就绪:是 LLM 就绪:是 (claude-sonnet-4-6) 嵌入就绪:是 (text-embedding-3-small) 配置数据库:是 (warehouse) 配置上下文源:是 (dbt_main) ktx 上下文构建:是 代理集成就绪:是 (codex:project) 提示 已在使用代理?从项目目录询问 Claude Code、Codex、Cursor 或 OpenCode:运行 npx Skills add Kaelio/ktx --skill ktx 并使用 ktx Skill 在此项目中安装和配置 ktx。重要 如果 ktx status 打印 ktx mcp start --project-dir ... ,请在打开代理客户端之前运行它。第一个命令 命令 用途 ktx setup 创建、恢复或更新 ktx 项目 ktx status 检查项目准备情况 ktx ingest 为每个配置的连接构建上下文 ktx sl "revenue" 搜索语义源 ktx wiki "refund policy" 搜索本地 wiki 页面 ktx mcp start 为代理客户端启动 MCP 服务器 请参阅 CLI 参考以了解每个命令、标志和选项。项目布局 my-project/ ├── ktx.yaml # 项目配置 ├── Semantic-layer// # YAML 语义源 ├── wiki/global/ # 共享业务上下文 ├── wiki/user// # 用户范围注释 ├── raw-sources// # 提取工件和报告 └── .ktx/ # 本地状态和秘密,git-ignored Commit ktx.yaml,semantic-layer/和wiki/。将 .ktx/ 保留在本地。项目分辨率默认为 KTX_PROJECT_DIR ,然后是最近的 ktx.yaml ,然后是当前目录。编写脚本时传递 --project-dir 。常见问题解答 ktx 是否将我的架构或查询结果发送到托管服务?不。ktx 在本地运行。离开您计算机的唯一数据是您发送给您配置的 LLM 提供商的数据。支持哪些 LLM 后端? Anthropic API、Google Vertex AI、AI Gateway 以及通过 Claude Agent SDK 进行的本地 Claude Code 会话。请参阅法学硕士配置。 ktx 与 dbt 或 MetricFlow 语义层有何不同? ktx 摄取这些层并将它们与原始表内省和 wiki 内容相结合。代理获得一个可搜索的表面,而不是三个互不相连的表面 - 并且 ktx 标记跨源的矛盾。 ktx 需要运行服务器吗?没有托管服务。当代理客户端需要时,本地 MCP 守护程序通过 ktx mcp start 按需运行。我的仓库安全吗?是的。连接是只读的 - ktx 永远不会写入您的数据库。文档快速入门 Conte