Skip to content
LintLang · 简体中文 核对

LintLang 简体中文快速上手

英文文档是权威版本:本页只是精简的中文入门,若与英文内容不一致,以英文为准。

English: /lintlang · GitHub · PyPI

本页不写版本号:已发布版本以 PyPI 页面和 lintlang --version 的输出为准。命令与标识符保持原样,不翻译。

LintLang 是一个本地运行、结果确定的静态检查工具,检查对象是交给 AI 智能体的指令和工具接口。它会在智能体运行之前,指出工具选择有歧义、输出格式混杂、schema 缺口、缺少边界约束等配置问题。

它能在你已有的文件里找到受支持的、面向智能体的内容,包括:

  • JSON/YAML 中嵌套的 MCP 和 function-tool 工具描述,以及参数 schema
  • 系统提示词、messages、输出约定,以及 AGENTS.md、CLAUDE.md、GEMINI.md、SKILL.md
  • 受支持的 Python 提示词代码

典型问题包括:

  • 工具描述有歧义:同级工具功能重叠,模型没有明确理由选其一
  • 缺少边界:重试、循环或工具调用没有明确的停止或进展条件
  • schema 不匹配:缺少必填字段、参数含义不清
  • 输出格式混杂与优先级缺失:一个提示词里提到不止一种输出格式(只要识别到两种格式就会报告,即使各自限定了适用场景),以及较长的指令列表没有说明优先级;LintLang 不检测两条指令之间的语义矛盾,例如「总是做 X」与「绝不做 X」并存
  • SKILL.md 缺陷:元数据缺失或无效、使用条件不清、技能名与目录名不一致
  • 上下文与消息错误:过期的项目引用、无限期持久化、角色格式错误、工具消息顺序断裂
  • 内嵌逻辑:受支持的 Python 提示词、字面量工具定义、部分流水线阈值
  • 不做运行时评估,不做动态的智能体测试,不运行模型,也不观察运行时的工具选择
  • 不能证明智能体在生产环境中是安全的
  • 不判断内容真伪,不保证任意文本语义正确,不保证与各模型提供方兼容
  • 扫描期间不调用 LLM、不拉取远程规则、不发送遥测或网络请求(安装软件包本身,以及宿主集成自己的模型调用,不在此约定之内)

需要 Python 3.10+。

不安装,直接运行一次:

uvx lintlang scan .

用 pip 安装:

pip install lintlang
lintlang scan .

macOS 上用 Homebrew:

brew install hermes-labs-ai/tap/lintlang
lintlang scan .

在项目目录下运行上面的 uvx lintlang scan .,或指定单个配置来源:

uvx lintlang scan AGENTS.md
uvx lintlang scan SKILL.md
uvx lintlang scan agent.yaml

如何解读结果:

  • 每条结果都会说明 LintLang 实际检查了什么。
  • 没有识别到任何面向智能体的结构的文件不会被计为 PASS:目录扫描会把它列为已跳过,单个文件扫描会报错,并提示可用 --allow-uninspected。Markdown 文件会被当作指令文本来检查。
  • 工具之间的比较只发生在同一个被解析的输入内;扫描目录时,不会把不同文件里的工具合并到同一个选择命名空间。
  • 默认情况下,检查结果仅供参考,不会让命令失败。
  • 扫描干净只表示:所选的静态检查在被识别的内容中没有发现所覆盖的缺陷。

遇到 HIGH 或 CRITICAL 级别的发现时让命令失败:

lintlang scan . --fail-on fail

把 MEDIUM 级别也纳入门禁:

lintlang scan . --fail-on review

生成固定版本的 GitHub Actions 工作流,扫描整个仓库目录:

lintlang init --github --path .

生成的 Action 默认对 HIGH 或 CRITICAL 级别的发现设置门禁。如果 CI 只需检查某一个配置来源,请改用更窄的路径。请在仓库根目录运行该命令:工作流文件会写到所在 Git 仓库的根目录。

对于已有历史发现的仓库,可以先记录一份经过评审的基线:

lintlang scan . --write-baseline .lintlang-baseline.json

之后只对新增或变更的发现设置门禁:

lintlang scan . --baseline .lintlang-baseline.json --fail-on review

更多细节见英文文档:GitHub CI and Code Scanning、baseline adoption、GitLab CI guide。

  • 这是静态检查:只检查仓库里可以在运行前审阅的、承载语言的文件。
  • 检查结果是提示你去查看某个文件的依据,不代表模型一定会出错,也不代表某段文字一定有错。
  • 没有发现问题,并不说明不受支持的结构被分析过。
  • 它与 schema 校验、运行时评估以及领域和安全评审是互补关系,不能替代它们。
  • preflight 是独立于仓库扫描的有限能力,其状态和退出语义与仓库扫描的结论分开,详见技术参考。
  • 发现误报或对某条发现有异议,欢迎按 CONTRIBUTING.md 反馈;安全漏洞请遵循 SECURITY.md。