mcpField
K
kineti

kineti

本地服务
github.com/therawlogs开发工具03 天前更新

关于 kineti

kineti 是供使用 AI 编码 Agent 的项目采用的命令行门禁工具。它记录测试证据和申报支出,并按策略检查;要求未满足时可阻止参与的 CI 命令。0.6.1 尚未发布,仍是需要重新验收的候选版本。

主要功能

  1. 01记录并检查测试证据
  2. 02将检查绑定到确切命令和输入
  3. 03在 CI 中执行证据与支出策略
  4. 04跟踪申报支出并设置停止阈值
  5. 05预览撤销操作并记录结果

适用场景

  1. 01要求 CI 通过前提供测试凭证
  2. 02检查记录的测试是否符合预期命令
  3. 03支出策略不满足时阻止 CI
  4. 04审查并回滚已记录的清理操作

MCP 相关

README 提到初始化时可为 Codex 注册原生 MCP 集成,但未将 kineti 描述为 MCP 服务,也未说明其提供的 MCP 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"therawlogs-kineti": {
"command": "npx",
"args": [
"-y",
"kineti"
]
}
}
}
启动命令npx -y kineti

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmkineti0.3.4

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Kineti 0.6.1 原生门禁候选版本

记录检查、检测输入变更,并在证据或报告的支出不符合政策时阻止参与其中的 CI 命令。

0.6.1 尚未发布,是一个修复候选版本,面向 Linux 和 macOS 的 x64 与 arm64 平台。它需要对其确切的源代码、二进制文件和已安装软件包进行新一轮验收, 之后还需分别批准制品和账目,方可发布。 kineti-cli 将从旧版助手产品线转型为此门禁工具。此前发布的版本仍可使用。 主动产品中已移除 Harness 执行、模型路由、委派、swarm、仪表板、记忆、 评估器服务和受保护写入。

安装和初始化

0.6.1 获批发布后,选择一种安装方式:

Cargo(安装需要 Rust):

cargo install kineti-cli --version '=0.6.1' --locked

npm(安装需要 Node,并启用安装脚本):

npm install -g [email protected]

已发布的 0.6.0 软件包仍可使用:Cargo 0.6.0 和 npm 0.6.0。 有关 0.6.0 发布日期和验收证据,请参阅 GitHub 发布页 和发布收尾记录。该批准和这些制品不能证明 0.6.1 已通过验收。

在项目目录中,使用明确的目标预览初始化:

kineti init --goal "Your explicit project goal"

检查预览结果,然后应用初始化:

kineti init --goal "Your explicit project goal" --apply

已安装的可执行文件不需要 Node 或 Bun。npm 软件包包含四个经过校验和验证的二进制文件; 安装时会验证并选择其中一个,然后移除未使用的载荷。禁用脚本会显示明确的安装错误。

从源代码运行时,请使用 cargo run --manifest-path core-native/Cargo.toml -p kineti-cli --bin kineti --。

init 会预览变更、目标位置和备份。使用 --apply 前请先检查。 新项目必须明确指定目标;现有的锁定目标和历史记录会保持不变。缺失字段可以初始化; 损坏的记录则需要单独审核后才能恢复。检测到 Codex 时,init 会建议注册原生 MCP 并添加一项指令技能。使用 --codex-home <directory> 指定明确的目标位置。重复运行会保留无关设置;如果已编辑由本工具管理的设置,则会拒绝操作。init --uninstall --apply 会移除由本工具管理的集成内容,并保留项目记录。变更后请重启现有的 Codex 会话。Cursor 和 Antigravity 的配置会保留,但这两个宿主环境尚未针对此候选版本进行验证。此工具不会自动拦截原生工具调用。带日期的 0.6.0 Codex 集成检查仅覆盖 0.163.0-alpha.11.2 和稳定版 0.164.0;这不代表支持其间的任何版本。新一轮 0.6.1 宿主环境检查必须绑定新的可执行文件和确切的 Codex 版本。

记录和检查

kineti test run --label tests --required-test tests -- cargo test
kineti test check --label tests --expect-argv '["cargo","test"]'
kineti ci --require-evidence tests
kineti spend log --stage build --model reported --tokens-in 0 --tokens-out 0 --usd 0.25
kineti spend check
kineti undo push --label cleanup -- rm generated-file
kineti undo rollback
kineti undo rollback --yes
kineti self-test

在 .kineti/gate.json 中配置必需标签,或显式传入这些标签。没有必需检查项时,检查无法通过。--evidence-commands <json-file> 会将每个标签绑定到确切的 argv 数组。--env-name NAME 用于声明相关环境输入;默认会绑定 PATH。回执会绑定项目输入、依赖文件、运行时身份、确切参数、已声明的环境、会话引用和观察到的结果。命令会提供结构化 JSON;也可显式使用 --json。evidence 和 saga 仍是别名。已移除的命令会明确报错。

verify 仅会在命令哈希受信任后运行其声明的命令。请使用 verify --status 和交互式的 verify --trust。它不会拦截其他命令。CI 会检查证据、项目门禁和报告的支出政策。

信任与恢复

有效签名并不能证明测试诚实。命令可以伪造通过的摘要;自测展示了这一局限。本地密钥无法防范同一账户下的攻击者。原生收据使用 kineti-canonical-v2;旧版签名使用原始 JavaScript 序列化格式。未标记的历史 v3 收据也保留了原始签名格式。旧版证据可读取并可检查签名;不受支持的旧版运行时/解析器新鲜度不能授权原生门禁。迁移后请运行新的原生检查。

支出报告是账目记录,并非对服务提供商账单的核验。金额以美元的百万分之一为单位,并设有总额/阶段 95% 停止线。较低的已配置安全系数可能会更早停止支出;配置无法提高 95% 停止线。遇到数据损坏、成本未知或未解决的预留时,将采取失败关闭策略。重置需要经过审计的 --i-am-human 确认;该标记不能证明操作由人执行,也不能增加可用额度。

spend recover 会预览恢复操作。使用 --source 和 --evidence,选择项目内保留的快照。应用恢复需要提供完全匹配的已审核 --proposal-sha256、--apply 和 --i-am-human。原文件保持不变并会备份;系统会记录单独的恢复视图和解决记录。未知记录绝不会被清除。原生链损坏需要检查。不完整的恢复、被篡改的恢复历史以及已审核恢复视图的变更,都会阻止账目处理,直到完成检查。

撤销操作会记录意图/完成状态,按从新到旧的顺序执行,并在明确失败后继续。发生不确定中断时,会阻止重放,直到完成检查并使用 undo resolve --action-id ID --outcome applied|not-applied --yes 解决问题。 如果历史记录保护程序发生中断,undo inspect 会预览其确切字节;undo inspect --expected-sha256 HASH --yes 会记录已审核的检查结果并保留字节备份。这不会解决不确定的操作结果。后续写入不具备原子授权,也不保证受保护写入。

验收

冻结的 0.6.0 契约、 行为映射和退出代码 以及 带日期的证据矩阵 保留了行为和账目基线。所有者另行选定了 0.6.1 准备工作;其确切制品需要新的验收和单独的发布批准。每条发布路径的最终安装文件对每个目标都必须小于 10,000,000 字节,包括初始集成资源。下载大小和解包后的软件包大小另行计算。不对平台大小作未经测量的声明。

退出代码:0 表示成功;1 表示命令/检查失败或撤销未完成;2 表示输入无效; 3 表示支出/完整性/恢复停止;证据代码:4 表示过期,5 表示缺失,6 表示不受支持的旧版,7 表示无效/不可信;验证代码 9 表示命令缺失/不可信。

带日期的较早结果(包括历史上的 631 项测试结果)与新测试套件清单分开记录。历史文档 和 Git 历史仍可查阅;它们不构成当前产品保证。

运行时 evidence check 的结果不能授权测试门禁。测试检查和 CI 需要测试收据。声明的标签命令会覆盖默认测试命令;运行时检查绝不会继承默认测试命令。值选项接受 --name=value;-- 之后的参数会保持原样,包括空参数。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。