mcpField
D
digline

digline

本地服务
digline.dev开发工具9今天更新

关于 digline

digline 是供编码 Agent 检查并运行仓库中 LLM 评估套件的 MCP 服务。它仅返回以判定结果为主的数据,并要求运行前明确确认调用次数;不提供提升基线的功能。

主要功能

  1. 01列出运行记录并查看基线
  2. 02比较运行结果并解释判定
  3. 03确认调用次数后运行评估套件
  4. 04仅返回判定结果
  5. 05不提供提升基线的工具

适用场景

  1. 01检查已保存的评估结果
  2. 02将一次运行与基线比较
  3. 03确认计划调用次数后测量套件

MCP 相关

该服务提供八种工具,用于读取 digline 运行记录和测量套件。每个实例服务一个仓库,且不提供提升基线的工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"dev-digline-digline": {
"command": "uvx",
"args": [
"digline-mcp"
]
}
}
}
启动命令uvx digline-mcp

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

安装包
pypidigline-mcp0.7.0

工具

还没有获取到工具列表

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

详细介绍

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 下的文件。两者都不会被悄悄丢弃。

评论

支持 Markdown

第一次接触 MCP?

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

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