SummerSec/semantic-linter ↗★ 2
semantic-linter
Semantic-Linter plugin and CLI for narrowing wide-boundary wording in LLM instruction files.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:SummerSec/semantic-linter说明文档
阅读完整 README ↗Semantic-Linter
Semantic-Linter 是一个面向 LLM 指令文件的插件与 CLI,用来收窄语义边界过宽的表达。它主要用于 SKILL.md、AGENTS.md、CLAUDE.md、prompt 文档、command 文档等指令资产,帮助减少因为措辞过宽带来的幻觉和范围漂移。
当前架构
Semantic-Linter 现在使用分层设计,不再是旧的 pointer-only 方案:
SessionStart注入一条紧凑的STL:规则指针,指向当前生效的semantic-rules.mdSubagentStart把同样的规则指针传播给子代理UserPromptSubmit可以在提示词进入模型前提醒宽边界表达PreToolUse会在Write和Edit修改指令文件前给出预警PostToolUse会在写入后再次检查结果,并记录升级状态bin/scan.js仍然保留为显式 CLI 扫描入口,可扫描单文件、目录或当前工作区
默认运行模式是 guarded:
off:关闭 semantic-linterpointer:只保留轻量规则指针guarded:规则指针 + 写入期检查strict:规则指针 + 写入期检查 + prompt 扫描
规则来源策略
默认使用 project-first 规则解析策略:
- 从当前编辑文件或工作区开始,向上查找最近的
semantic-rules.md - 如果项目内没有,则回退到插件自带的
semantic-rules.md
你也可以通过 .semantic-linter.json 强制使用 plugin-only。
安装
Claude Code
claude plugin marketplace add SummerSec/semantic-linter
claude plugin install semantic-linter@summersec-semantic-linter
/reload-plugins
Codex
codex plugin marketplace add SummerSec/semantic-linter
codex plugin add semantic-linter@semantic-linter
Codex 不直接消费 Claude 的 hook manifest。它的项目级接入方式是把受管规则块写入 AGENTS.md。
DeepSeek Harness
安装官方 DSH CLI,并把本仓库作为 bundle 加入需要使用的 profile:
npm install -g @deepseek-ai/dsh@0.1.0-rc.6
dsh plugin --profile headless add github:SummerSec/semantic-linter
dsh plugin --profile web add github:SummerSec/semantic-linter
本地开发时可以在仓库根目录执行:
dsh plugin --profile headless add .
如果 pnpm 返回 ERR_PNPM_ADDING_TO_ROOT,在命令末尾追加 --ignore-workspace-root-check 后重试。
这个 DSH bundle 会把仓库根目录 下的四个 Skill 注册到 。DSH 还会读取工作区中的 或 ;调用 后,项目可以通过受管规则块按需读取 。