2026 OpenClaw 前端实战:
远程 Mac 上解析 knip 未使用导出 JSON,生成 PR 可读清理摘要并回传的最小可复现步骤
给要在 TypeScript Monorepo 里收敛未使用导出却不想把整条 JSON 贴进评审的同学:本文固定 knip 配置、CI 产物路径、摘要模板字段与误报处理 FAQ,让 OpenClaw 或评论机器人只回传短 Markdown。延伸阅读 打包图与摇树摘要、构建指标 PR 摘要、Biome 与增量类型检查。首页、资费、帮助、购买均可免登录浏览。
痛点拆解
- 评审噪声。原始 JSON 层级深,Reviewer 难扫,易漏删真正危险的公开 API。
- 路径泄密。stdout 或评论里夹 Runner 家目录,审计不友好。
- 环境漂移。远程本机与 CI 若命令不一致,数字对不齐,回传摘要会被质疑。
壹 knip 配置
先把评审对象钉死为「文件、符号、原因码」三列,再谈删不删。入口必须覆盖真实站点与包边界,否则图缺边 knip 会过激;忽略列表要短而可审,过长往往说明 entry 切错。
| 维度 | 评论内贴整段 JSON | OpenClaw 折叠摘要 |
|---|---|---|
| 可读性 | 差,键多难扫。 | 好,三列表加余量一行。 |
| 安全 | 易夹绝对路径。 | 仅相对仓库路径与符号名。 |
| 复现 | 跟镜像漂。 | 远程 Mac 与 CI 同一条 jq 或 Node 命令。 |
示例(按仓库改路径):
{
"entry": ["apps/web/src/main.tsx", "packages/ui/src/index.ts"],
"project": ["apps/web/src/**/*.tsx", "packages/ui/src/**/*.ts"],
"ignore": ["**/*.stories.tsx", "**/generated/**"],
"ignoreDependencies": ["@playwright/test"],
"reporter": "json"
}
每条 PR 正文表最多二十五行,多出的只报余量个数;全文 JSON 只放制品。
忽略模式尽量少于十条合并写法,再多就拆 workspace 或第二份 config。
贰 CI 产物路径
把 knip 输出永远写到同一相对路径(例如仓库根的 artifacts/knip/unused.json),下游 OpenClaw 与本地脚本都读它,避免按 Runner 标签写 if。Apple Silicon 远程 Mac 上重复跑大仓 knip 时,与 Linux CI 锁同一 Node 次版本,数字才不会打架。
HowTo:最小五步
- CI 与手册用同一
--config路径调用 knip。 - 禁止把整文件打 stdout;只写约定 json。
- 用 jq 或小脚本输出「路径、符号、原因」三列,去掉 shell 元字符。
- 按下一节字段名填 Markdown,并设
risk_label。 - 网关 HMAC 或
gh pr comment,正文用<!-- openclaw-knip:SHA -->锚点做幂等更新。
合前清单
- README 与 Runbook 写明制品相对路径与上传规则。
- 版本化
scripts/knip/pr-summary.sh(或同名)可执行。 - 幂等键形如「拉取请求号冒号提交哈希」可检索。
- 删导出后顺手看 摇树摘要是否异常。
- 类型与格式闸对齐 Biome 增量检查。
叁 摘要模板字段
字段名与 构建指标摘要一样要稳定,值班检索才快;密钥只走进程环境,不进 Markdown。
| 字段 | 含义 | 必填 |
|---|---|---|
issue_count |
过滤后的未使用导出问题数。 | 是 |
top_paths |
命中最多的至多三个目录。 | 是 |
table_md |
三列表格 Markdown,行数受限。 | 是 |
risk_label |
低中高,对应公开 API 风险。 | 是 |
next_action |
一句:阻断合并或仅告知。 | 是 |
artifact_url |
完整 JSON 的 HTTPS 制品地址。 | 建议 |
评论只承载表加一行余量,长文链制品;同一锚点更新胜过刷屏。
肆 误报处理 FAQ
动态 import 被判未使用?
多为可达路径不在当前 project 通配或 barrel 遮边;先补 entry 再考虑极窄 ignore,勿整规则关掉。
Storybook 与 CLI 包搅在一起?
拆两份 knip 配置,CI 开两个 job 各带 --config;只有生产入口那份触发 OpenClaw 摘要。
评论触平台字数上限?
压到「前若干行加余量」;全文走制品。内部审计若还要长文,用第二机器人账号与独立令牌,避免成本洞。
更多文章:博客列表。