关于 Causari
Causari 根据匹配到的 AI 相关提交元数据,统计仍由 git blame 归属这些提交的代码行;也可在本地记录 Agent 声明的提示词、模型和文件,并明确说明记录的证明边界。
主要功能
- 01审计 AI 标记提交的代码行存续情况
- 02比较审计快照和方法
- 03记录 Agent 提示词、模型和文件
- 04追溯代码行对应的已记录事件
- 05通过钩子或代理捕获交互
- 06生成并验证签名凭据
适用场景
- 01衡量元数据匹配提交留下的代码行
- 02在拉取请求中添加审计摘要
- 03查找代码行背后的记录事件
- 04在本地保存 Agent 活动记录
MCP 相关
`re mcp` 命令通过 MCP 暴露本地记录账本,使 Agent 能报告提示词、模型和文件等声明活动。这些声明不能证明代码由谁输入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
∵ causari
AI 编写的代码没有作者,只有成因。Causari 将它们记录下来。
仓库中有多少行来自带有 AI 标签的提交,至今仍然存在?一条命令,适用于任何 git 仓库,无需设置。统计数量,不打分。
re audit 会统计由 git 元数据匹配 AI 检测规则的提交所引入的代码行数,以及在 HEAD 上 git blame 仍归因于这些提交的代码行数。这个数量就是存续量:统计数量,不打分。**带有 AI 标签意味着元数据匹配。**这并不能证明该代码行由模型编写。UNKNOWN(没有此类元数据)不代表由人编写。
Causari 还会在本地记录 Agent 运行时声明的内容(提示词、模型、文件),并通过 MCP(re mcp)提供这些信息。Seal 用于验证某个密钥是否为此提交和方法签署了这些字节。它不能验证这些数字或归因是否属实。
方法和局限:causari.dev/method。面向 Agent 的相同局限,详见单个文件:causari.dev/llms.txt(完整规范和架构:causari.dev/llms-full.txt;Agent 发现卡片:causari.dev/.well-known/agent.json)。
curl -fsSL https://causari.dev/install.sh | sh
re audit
causari.dev · 每周存续报告 · 方法 · 宣言 · 路线图 · 发行版
Causari 由 Crovia Trust 提供:包括 causari / re 二进制文件、npm、PyPI 和 crates.io 上的 causari 包,以及 MCP 服务 io.github.croviatrust/causari。它与 causari.ai、GitHub 组织 causari 或 npm 作用域 @causari(另一团队开发的因果知识图谱)无关。
re audit vercel/next.js # any public repo, cloned to a temp dir and removed after
$ re audit
∵ causari · AI code survival
───────────────────────────────────────────────────
216 commits analyzed (git metadata only, no setup required)
AI-tagged (metadata matched): 14 commits, 6267 introduced, 5185 survived
survival 82.7% line-weighted · 82.7% capped · median 92.8%
Of the lines introduced by metadata-matched commits, this percentage is the share `git blame -w -M -C` still attributes to those commits. It is not the share of the repository and it is not a quality score. Metadata matched does not prove who wrote each line. UNKNOWN and untagged are commits with no such signal; they are not a finding that a human wrote them.
Age-matched gap: +2.9 percentage points (AI-tagged 85.6% minus untagged 82.7% in the matched age windows). Positive means the metadata-matched lines have the higher line-weighted survival in those windows, over 1 matched age window holding 75% of the AI-tagged lines. Lines outside those windows are not in this gap.
Probable AI-assisted: none detected
By agent (metadata matched only)
agent commits introduced survived line-wt capped median
cursor 14 6267 5185 82.7% 82.7% 92.8%
Baseline: untagged lines of the same repository
untagged: 202 commits, 95759 introduced, 76085 survived · 79.5% line-weighted · 92.1% median
line age AI-tagged untagged
0-30 d 85.6% (13 commits) 82.7% (142 commits)
30-90 d — 75.8% (23 commits) (below floor on one side)
90-180 d 73.9% (1 commit) 62.6% (37 commits) (below floor on one side)
Age-matched gap: +2.9 percentage points (AI-tagged 85.6% minus untagged 82.7% in the matched age windows). Positive means the metadata-matched lines have the higher line-weighted survival in those windows, over 1 matched age window holding 75% of the AI-tagged lines. Lines outside those windows are not in this gap.
Confidence notes
· JSON field `verified` = metadata matched (trailers, bot author, …), not authorship proved
· PROBABLE = weak heuristic; may include human-assisted commits
· UNKNOWN commits are excluded from headline numbers; they form
the untagged baseline (human, inline-completed and untagged-agent code alike)
· Only lines from AI-tagged commits are measured; inline completions
(Copilot, Cursor Tab, …) leave no git trace and are invisible here
· A measurement, not a grade: method v4 at https://causari.dev/method
Reading and export
· The age-matched gap above is the comparison. An agent row marked below floor is not comparable.
Meeting the floor is not a reliability guarantee.
· Export: `re audit <target> --json`, `--summary`, `--seal`, `--badge`, `--card`
`re report` reads the local ledger. It does not export this audit.
百分比表示 git blame 仍归因于此方法标记的提交的代码行所占比例。它不代表代码质量、开发者生产力、AI 使用总量,不能证明代码行由模型编写,也不代表安全性、正确性或 AI 的因果影响。提交数少于 5 的 Agent 行会标记为低于门槛;5 次提交是可比性门槛,并非可靠性保证。
只有注明非空工具名称的 git-ai 注释才会计入(方法 v4)。只有架构的注释、仅供人类阅读的注释以及工具名称为空的注释均不计入。方法 v3 会统计任何 git-ai 注释。存续报告 #1 和 #2 仍使用方法 v2。报告 #3 和 #4,以及 0.3.0 发行版的所有审计,仍使用方法 v3。报告 #4 的 DOI 为 10.5281/zenodo.23196011。报告 #5 和 #6 仍使用方法 v4,使用 causari 0.4.1(提交 d4c4949,2026-10-08)测量。已发布的二进制版本 0.5.0(2026-10-21)使用方法 v6,也就是本源代码计算的方法:surviving 读取与 introduced 相同的路径,因此二进制文件(PDF、图像)不会为任一计数增加代码行,符号链接则会为两个计数各增加一行;coverage.binary_files 表示排除的二进制文件数。没有发布过使用方法 v5 的二进制版本。已发布的报告不会重新计算。
十五分钟
curl -fsSL https://causari.dev/install.sh | sh
cd /path/to/a/git/repo
re audit
阅读输出中的三行。**AI 标记(元数据匹配)**指提交元数据与某条规则匹配的群组。基线是所有其他提交:未标记,并不代表“由人类编写”。存续百分比是按行加权计算的已标记群组持久性。它不能证明代码是谁敲出来的。规则和限制见 causari.dev/method。
账本是第二条路径,存储在本地并由 gitignore 忽略,仅在你记录以下内容时使用:
git history → re audit → survival counts
hooks or proxy → .causari/ → re why / trace / lens
密封文件会对审计数据进行签名,但不会连接两条路径。
大家都在争论 AI 编写了多少代码,却没人能核实这些数字。
re audit 会读取纯 git 历史记录——Co-Authored-By 尾注、机器人作者、Agent 标记——找出元数据匹配的提交,并通过 git blame 检查这些提交的行有多少仍存在于 HEAD。元数据匹配并不能证明这一行是由模型编写的。不使用模型、不做估算、不做调查问卷。--json 会保存计数、repository.head、repository.root_commits、方法、blame 和 numstat 标志(coverage.blame_flags、coverage.numstat_flags)、coverage.ignore_revs_sha256 和 coverage.notes_oid(存在时 refs/notes/ai 的目标 OID)。它不会保存 refs/notes/ai 的注释负载:该引用不属于提交对象,更改它会更改 coverage.notes_oid,也可能在提交 SHA 不变的情况下改变计数。发生过变动的仓库,其提交也会不同。
--json提供任何已发布数据行背后的原始字节(已发布的数据行本身见:causari.dev/reports/survival,也可作为数据集访问:CroviaResearch/causari-survival)--summary生成供 CI 使用的 Markdown;--badge/--card生成单色 SVG--diff <before> <after>沿一个维度比较两个审计 JSON 或.seal.jsonbundle(repository_diff、method_diff、indeterminate_method_diff、metadata_diff或identical_inputs),拒绝多维度差异比较以及无关仓库之间的比较--save追加快照,以跟踪你自己的趋势
与什么比较:从方法 v3 起,每次审计都会按行龄列出仓库自身未标记的代码行,并与 AI 标记的代码行并列展示,同时给出按行龄匹配后的差值:在同一仓库的匹配行龄窗口内,AI 标记代码行的存续率减去未标记代码行的存续率,而非比较时间戳完全相同的内容。审计还会指出 HEAD 中仍存在的最早代码行,以及早于该行的提交数:如果仓库被清空或重写,会在此处显现,其比率也应据此解读。
无法检测的内容:行内补全(Copilot、Cursor Tab、Windsurf 等)产生的代码不会留下 git 记录,因此会归入未标记基线。未标记并不意味着认定代码由人类编写。没有尾注的提交属于 UNKNOWN。需要在一个文件中了解相同限制的 Agent,应阅读 causari.dev/llms.txt。根据方法 v1,格式化操作或函数移动都会被视为代码消失。一次大规模提交可能主导按行加权的比率;AI 标记提交少于 5 次时会标记提示。上述内容及对数字提出异议的方法均见 causari.dev/method。人们常问的问题、对应命令及其限制见:causari.dev/faq;此方法与 git blame、供应商仪表板和代码变更报告的区别见:causari.dev/compare。
每周发布的存续报告会对最多 100 个开源仓库运行
re audit:包括一份人工挑选的列表,以及获星数最多的公开仓库(至少 100 颗星)。GitHub 提交搜索必须能在这些仓库中找到至少 5 个带有相同 AI 作者身份元数据的提交。仓库由
scripts/survival_discover.py 按照方法页面所述规则,于每周报告发布前一天选出;数据行按字母顺序排列,在 .github/survival-optout.txt 中添加一行即可移除某个仓库。
在 CI 中:每个拉取请求都生成一份计数报告
# .github/workflows/causari.yml
on: pull_request
permissions: { contents: read, pull-requests: write }
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 } # the audit reads every commit; shallow clones are wrong
- uses: croviatrust/causari@v1
Action
会下载预构建的 Linux 二进制文件(只需几秒),运行 re audit --summary,
将结果写入作业摘要,并为每个 PR 发布一条置顶评论。无需云服务,
也无需账户。实时示例。
账本:从“哪个提交”到“哪个提示词”
审计适用于任何历史记录。如果你还想知道某一行代码存在的原因
——提示词、模型、Agent 读取的文件——Causari 会在 Agent 执行操作时,
将其记录到本地的仅追加账本(.causari/,
已加入 gitignore),并为每次操作保存操作前后的树快照。
re init # create .causari/ (added to .gitignore)
re hook claude-code # record every Claude Code prompt and edit, exactly
re hook cursor # same for Cursor, via its hooks.json (prompt, edit, model)
re proxy # local LLM proxy: prompts, models, tokens, cost
re watch # attribute file changes to captured completions
re why src/auth.ts:42 # which recorded event introduced this line
re trace src/auth.ts:42 # upstream: events that fed into it through reads/writes
re impact <event-id> # downstream: what later events depended on it
re lens src/auth.ts # the file annotated line by line with its event
re find "the JWT refactor" # search prompts, messages, reasoning
re bisect --test "npm test" # first recorded event that breaks a test
re revert <id> # restore the pre-state, with a preview of what else you undo
re fork / re sessions / re switch / re log --all / re diff a..b
各个 Agent 目前实际提供的信息
声称“支持任何 Agent”很容易。这张表根据代码整理而成, 并会保持更新;如果某个单元格有误,请提交 issue。
| Agent | 提示词 + 文件,精确记录 | 模型、令牌、费用 | 方式 |
|---|---|---|---|
| Claude Code | 是,通过生命周期钩子 | 暂不支持(编辑会以 tool_use 传递,代理目前尚未将其与文件关联) | re hook claude-code |
| Aider | 通过启发式关联,经过测量 | 是 | OPENAI_API_BASE / ANTHROPIC_API_BASE → re proxy + re watch |
| Codex CLI、OpenAI Agents SDK | 暂不支持(尚未解析 Responses API 输出) | 是 | OPENAI_BASE_URL → re proxy |
| Cursor | 是,通过原生钩子 | 模型:是(钩子会标明模型);令牌和费用:否(Cursor 的模型调用不会经过 re proxy) | re hook cursor |
| Windsurf、Copilot | 仅限 Agent 通过 MCP 自行报告的内容 | 否 | re mcp |
| Cline / Roo、自定义脚本、curl | 如果补全内容包含代码文本,则通过启发式方式关联 | 是 | 基础 URL → re proxy + re watch |
证据分为两类,每项输出都会标明所属类别:
- 声明类(钩子、MCP、
re record):Agent 声明了自己执行的操作。提示词和路径均精确记录。 如果有人在两个钩子事件之间编辑文件,钩子快照会将该编辑纳入下一个 Agent 事件——这是一个已知限制, 正在通过第 1 阶段修复。 - 关联类(代理 + watch):系统会在稍早捕获的补全内容中搜索你插入的代码行。
这是一个分数,而非事实。
examples/real-session/中的对抗性测试框架给出了测量结果:干净写入时为 100 %,经过格式化工具处理后为 50 %, 同一时间窗口内两个提示词修改同一文件时,逐行归属会出错。
所有内容都保留在你的机器上。re proxy 和钩子会将提示词、
补全内容和命令以明文形式存储在 .causari/ 下(已加入 gitignore);对于
可识别格式的凭据——sk-… 密钥、GitHub/GitLab/Slack/npm/PyPI/Hugging
Face 令牌、AWS 和 Google 密钥、Bearer 值、JWT、PEM 私钥——写入前会将其
替换为 [redacted:<kind>],并在记录中注明替换数量。你粘贴的其他任何内容都会按原样保留。
快照会存储每个未被忽略的文件(默认排除 .env*、node_modules、target、dist、build、.git 和其他一些内容)。
请将 .causari/ 视为敏感数据。关于存储和不存储的内容,以及工具防护和不防护的内容:
SECURITY.md 和 docs/threat-model.md。
可供验证的收据,无需依赖我们
Crovia Seals。 re proxy --seal 会为每次完成生成一份
crovia.seal.v1 收据:由 Ed25519 签名、采用哈希链,并承诺请求和响应原始字节的 SHA-256 哈希(内容不会离开本机)。每条记录的交互都带有其 seal_id 和相同的哈希,因此可以将收据与其涵盖的完成记录对应起来。该实现通过了参考一致性测试向量;可使用 Python 参考实现验证 seals,反之亦然。
re proxy --seal # issue a receipt per completion
re seal verify # every signature, whole chain, offline
re seal issuer # your issuer id and public key (read-only)
PNX — 防数据外泄证明。 re proxy --pnx 会让代理成为 TACET 配置文件
crovia.pnx.v1 的出站流量见证:每个请求正文都会经过指纹处理(加盐 winnowing,k-gram 为 32,窗口为 16),并在转发前写入稀疏 Merkle 映射;按下 Ctrl-C 时会签署一份包含根哈希的运行记录。随后,re pnx prove 会针对一组受保护资产,证明它们与该流量没有任何长度达到或超过 47 字节的子串相同;若有,则会记录哪些资产相同。运行记录和证明都不包含流量字节或资产字节,并可使用 re pnx verify 离线验证,也可使用 Python 参考实现 tacet-pnx 验证,两者支持双向验证,判定结果和退出代码相同。运行记录还会说明此次运行连接到了哪里——代理转发到的每个上游及其在按哈希绑定的出站策略下的结果(可达性记录,PNX §4a);策略之外的目标会在正文离开前遭到拒绝。证明能说明和不能说明的内容:docs/pnx.md。
re proxy --pnx --pnx-policy egress-policy.json # witness a session; upstreams outside the policy are refused; Ctrl-C signs the sheet
re pnx prove --asset api_key=.env --assets-dir src/secret/
re pnx verify .causari/pnx/<run>/proof.json --asset api_key=.env --assets-dir src/secret/ --policy egress-policy.json
审计 seals。 re audit --seal 会将审计结果写成同类收据:针对 re audit --json 的原始字节生成 crovia.seal.v1,并绑定到被审计的提交和方法版本;与代理的完成 seals 一样,同一存储库使用同一个签发密钥,并采用哈希链。re seal verify FILE 可离线验证;静态页面 causari.dev/verify 也可以验证,且不会发出网络请求。有效 seal 能证明此密钥为此提交的这些数字签了名,且这些数字此后未被篡改。但它不能证明这些数字属实:请在该提交上重新运行 re audit 并进行比较。(re proof 已弃用,改用此功能;该命令会以 2 退出并指出替代方案。)
re audit --seal --output audit.seal.json
re seal verify audit.seal.json
re audit --diff before.seal.json after.seal.json --summary
实验性
这些命令已实现,可在演示中运行,但尚未达到上述标准。在达到标准之前,它们不会纳入证明体系,也不会出现在首页上。
re skill distill / verify / export / import / pull / trust:带签名的过往工作单元。Ed25519 可检测后续编辑;签名并不为内容背书。verified是在 distill 时冻结的声明信号(由调用方提供的退出代码 0,或声明的写入路径仍位于当前 tip),并非观察到的成功。2× 排名权重代表的是该声明信号,而非测得的可靠性。不会授予proven。旧版 recall 计数不代表执行过。re brief:为模型上下文生成过往工作的 Markdown 简报。re guard:针对近期变更的子串规则;仅在要求时才会阻止构建(--fail-on alert|warning);面向机器的输出可用--json。re churn、re report:根据账本而非 git 衡量存续情况,并依据静态价格表推算成本;支持re churn --json,以及团队可按需指定下限的--fail-below <percent>。re mcp:基于 stdio 的 MCP 服务,提供causari_record、causari_recall、causari_why;re mcp --install会输出客户端配置。
安装
# Linux / macOS
curl -fsSL https://causari.dev/install.sh | sh
# Windows (PowerShell)
irm https://causari.dev/install.ps1 | iex
# Homebrew (macOS, Linux)
brew install croviatrust/tap/causari
# Scoop (Windows)
scoop bucket add causari https://github.com/croviatrust/scoop-bucket && scoop install causari
# crates.io (Rust 1.85+)
cargo install causari --locked
# no install: launchers that fetch the verified binary on first run
npx causari audit
pipx run causari audit
# from source
cargo install --git https://github.com/croviatrust/causari --locked
一个程序有两个名称:causari 是二进制文件,re 是所有示例中使用的简称。每个压缩包都包含这两个名称,安装时也会安装两者。一个静态二进制文件,大小约为 5 MB,适用于 Linux(x86_64、aarch64)、macOS(x86_64、Apple silicon)和 Windows(x86_64),安装到 ~/.local/bin(或 %LOCALAPPDATA%\Programs\causari)。安装程序会将压缩包的 SHA-256 与每次发布时一同发布的 SHA256SUMS.txt 进行校验,若不匹配则拒绝安装。从 v0.2.0 起,每个压缩包和校验和文件都带有发布工作流签署的 SLSA 构建来源证明:
gh attestation verify causari-v0.5.0-x86_64-unknown-linux-gnu.tar.gz --repo croviatrust/causari
手动安装:
VERSION=$(curl -fsSL https://api.github.com/repos/croviatrust/causari/releases/latest | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p')
TARGET=x86_64-unknown-linux-gnu
base="https://github.com/croviatrust/causari/releases/download/$VERSION"
curl -fsSLO "$base/causari-$VERSION-$TARGET.tar.gz" && curl -fsSLO "$base/SHA256SUMS.txt"
sha256sum --ignore-missing -c SHA256SUMS.txt && tar -xzf "causari-$VERSION-$TARGET.tar.gz" && install -m755 causari re ~/.local/bin/
Homebrew tap 和 Scoop bucket 会根据每次发布的 SHA256SUMS.txt 生成清单,并每六小时重新生成一次。该 crate 通过 crates.io Trusted Publishing 从发布标签发布(.github/workflows/publish-crate.yml):不存在长期有效的令牌。
作为 MCP 服务
re mcp 通过 stdio 使用 MCP,并提供 causari_record、causari_recall 和 causari_why;re mcp --install 会打印适用于 Claude Desktop、Cursor、Windsurf 和 Cline 的配置块。该服务根据 server.json 列入 MCP Registry:
- MCP Registry 名称:mcp-name: io.github.croviatrust/causari
- Cursor 一键安装:将 causari 添加到 Cursor
(注册
re mcp;二进制文件必须位于PATH中)
在 Cursor 中
re hook cursor 会将七个命令钩子合并到项目的 .cursor/hooks.json 中(请提交该文件:队友和 Cursor 云端 Agent 会从仓库根目录运行它);--user 则改为合并到 ~/.cursor/hooks.json,仅用于当前机器;--dry-run 会打印结果。该文件中其他人编写的钩子会保留。每个钩子都会运行 re hook-event cursor:<event>,因此 Cursor 进程的 PATH 中必须包含 re(与 Claude Code 钩子的注意事项相同);如果没有 re,或项目未运行 re init,每个钩子都会返回一个中性的 JSON 对象,不记录任何内容。写入日志的内容包括:带附件和模型信息的提示词(beforeSubmitPrompt)、每次 shell 或写入工具调用前的快照(preToolUse)、每个写入文件的一个事件(afterFileEdit)以及每条更改了工作树的命令的一个事件(afterShellExecution)、与提示词相邻的 Agent 回复(afterAgentResponse),以及作为上下文的经验简报(sessionStart)。
作为 Claude Code 插件
该仓库同时也是一个插件市场。在 Claude Code 中:
/plugin marketplace add croviatrust/causari
/plugin install causari@croviatrust
该插件会安装 re hook claude-code 手动写入的四个钩子(提示词、前置状态、后置状态、会话简报)、MCP 服务,以及一个告知模型何时应使用 why、trace、recall 和 record 工具的技能。它需要 PATH 中包含 re 二进制文件;如果没有 re,或项目未运行 re init,每个钩子都会静默地不执行任何操作。
演示:scripts/demo*.sh|ps1(包含模拟 LLM)、examples/real-session/(对抗性测试框架)、scripts/recovery_lab.py(revert/bisect 压力测试实验室)。
工作原理,一段话说明
每个记录的事件都是一个内容寻址对象(BLAKE3),包含前后工作树、Agent、模型和工具、提示词、声明的读取和写入、令牌数与成本,以及一个父对象。会话是引用;分支是隐式的。re why 会在当前链上找到第一个通过前后差异插入该行的事件;re trace 会从该处开始,沿读取和写入关系向后追溯;re impact 则向前追踪。未更改的文件会在快照之间共享 blob。完整设计及其当前限制见 docs/review-2026-09-20/。
未来方向
Causari 不与来源追踪工具(Agent Trace、git-ai、Assisted-by: trailers、Entire 检查点)竞争。它会读取这些工具留下的元数据,使用公开方法进行测量,并为结果签名,以便第三方离线验证。
已在发布的二进制文件 0.5.0、方法 v6(2026-10-21)和本源代码中完成:git blame -w -M -C、每个提交的上限、v4 git-ai 规则、审计封印、v5 的 HEAD 树读取和 git log --numstat -M -z、coverage.copy_capped_lines、签名的 coverage.notes_oid 和 coverage.ignore_revs_sha256、单轴上的 re audit --diff,以及 v6 规则:只对 numstat 统计过的路径运行 blame,因此二进制 blob 不计入任一统计。代理也已完成:PNX 见证模式。对于它看到的请求正文,证明可以表明指定资产与这些流量没有共享任何 47 字节子串。但这并不能证明会话没有建立其他连接。
接下来:Agent Trace 读取器,以及一个软件包版本与方法版本配对一致的发布版本。
阶段和退出标准:ROADMAP.md。
家族
Causari 是 Crovia 的一部分,用三种时态表达同一套语法:TACET 证明模型的公开卡片在被观察的数小时内没有披露训练数据;PNX 显示指定资产与见证者看到的请求正文没有共享任何长子串(并不意味着任务没有建立其他连接);Causari 记录运行时声明了什么,并测量来自 AI 标记提交的代码行是否仍在 HEAD 中。处处遵循同一套规则:结果可复现、不作判断、无需我们的服务器即可验证、先说明限制。
在 Crovia 正典中的角色——同系列产品:git 元数据审计和本地账本。封印用于验证某个提交和某种方法对应的字节;它不验证事实本身,也不验证是谁输入了某一行。它是 Agent 完成结果和审计结果的封印签发方。
许可证
Apache-2.0(见 LICENSE)。“Causari”是 Crovia Trust 的商标;许可证不授予商标权(见 NOTICE)。有关贡献,请参阅 CONTRIBUTING.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。