关于 digline
digline 是供编码 Agent 检查并运行仓库中 LLM 评估套件的 MCP 服务。它仅返回以判定结果为主的数据,并要求运行前明确确认调用次数;不提供提升基线的功能。
主要功能
- 01列出运行记录并查看基线
- 02比较运行结果并解释判定
- 03确认调用次数后运行评估套件
- 04仅返回判定结果
- 05不提供提升基线的工具
适用场景
- 01检查已保存的评估结果
- 02将一次运行与基线比较
- 03确认计划调用次数后测量套件
MCP 相关
该服务提供八种工具,用于读取 digline 运行记录和测量套件。每个实例服务一个仓库,且不提供提升基线的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
digline-mcp
这是 digline 的 MCP 服务:它允许编码 Agent 读取 digline 结果并测量新的结果,但不允许 Agent 晋级基线。
不是因为晋级请求会被拒绝,而是因为根本没有这样的工具。
八种工具
| 工具 | 功能 |
|---|---|
list_runs | 套件存储的所有运行记录,按时间从新到旧排列,并标记基线 |
get_run | 一条存储的运行记录——包含判定结果,不包含载荷 |
get_baseline | 已批准的参考,格式相同 |
log | 查看存储的运行记录,了解哪个模型给出了回答;绝不是门禁 |
compare | 将一条运行记录与基线比较:结果是否变差? |
diff | 比较两条运行记录,二者都不是参考:我应该切换吗? |
explain | 将一条运行记录作为类型化事实读回,并附带退出代码 |
run | 执行套件,执行前先确认调用次数 |
promote 按设计不存在,migrate、view 和 report 也不存在。基线是已批准的参考,而 promote 会写入 .digline/<tenant>/baselines/,该目录会提交到仓库——写入其中的任何内容都会出现在某人的差异中,因此必须由他们主动写入。拒绝请求会变成 Agent 可以争辩的对话;而不存在则不会。
每种工具,包括读取类工具,都会加载其名称所指的套件。对于会执行项目代码的 suite.py,它会在服务端环境中运行。
相关原理见 ADR 0011,它所体现的判断层见 AGENTS.md。
安装和配置
uv pip install digline-mcp
一个服务只服务于一个仓库:边界就是仓库;多项目场景使用 N 个命名服务,而不是注册表。
{
"mcpServers": {
"digline-northwind": {
"command": "digline-mcp",
"args": ["--root", "/Users/you/src/northwind"]
}
}
}
--tenant 和 --env 可以接受,但只用于验证,绝不会覆盖设置。与 digline 的其他地方一样,由套件决定。
run 执行前的成本确认
run 必须传入 acknowledge_calls,其值必须等于计划对目标进行的调用次数。如果未传入,工具会拒绝执行,并返回调用次数:
run(suite="suite.py")
→ refused: this suite plans 100 calls to the target.
20 cases × 5 samples = 100 calls to the target; each answer is judged
3 times by llm_rubric.
Call again with acknowledge_calls=100.
run(suite="suite.py", acknowledge_calls=100) → executes
第一次调用是探测。Agent 不能在未声明调用次数的情况下消耗一百次模型调用——这体现了 AGENTS.md §7 的契约,而非建议。
绝不外泄的内容
MCP 响应会进入模型的上下文,继而进入无人控制的对话记录和缓存。因此,运行工具只返回仅含判定结果的投影:名称、标识、状态、分数、阈值、容差、测量区间,以及套件披露的元数据。
绝不返回裁判的 reason——裁判会引用输出,因此原因就是输出。绝不返回解释暂停原因的句子、未披露的元数据、用例输入,也绝不返回提示词或其摘要,除非套件声明了 Disclosure(artifacts=True)。
运行时会拒绝位于边界之外的已声明文件;允许文件越界的命令则会拒绝位于 .digline 或 .git 下的文件。两者都不会被悄悄丢弃。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。