npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@perdream-cli/know-cli

v1.0.16

Published

AI-powered Code Review CLI Tool

Downloads

885

Readme

🔍 Know CLI

AI-Powered Code Review CLI Tool

npm version license node

基于 Vercel AI SDK 的智能代码评审工具,支持多 LLM Provider 动态配置、多智能体并行评审、MCP 知识服务器集成。

快速开始 · 命令参考 · 配置指南 · CI/CD 集成


✨ 特性

  • 🤖 多 Provider 支持 — 内置 Anthropic / OpenAI / Google / Ollama,支持通过配置文件零代码扩展任意 @ai-sdk/* Provider
  • 🧠 AI 自适应评审策略 — 规划 Agent 根据变更集特征动态决定分块策略和 Agent 数量,非固定模板
  • 多智能体并行评审 — 相关文件智能分组,多 Agent 并行处理,大型 PR 评审效率成倍提升
  • 🔌 MCP 知识服务器 — 通过 Model Context Protocol 连接企业知识库,团队规范集中管理、自动同步
  • 🎯 Skill 按需加载 — 只注入规则目录到 Prompt,LLM 自主判断并按需检索完整规则,上下文窗口利用率提升 ~18 倍
  • 🔒 安全修复应用 — 所有代码修复在隔离的 Git Worktree 沙箱中执行,工作目录零风险
  • 📊 多格式输出 — Terminal(彩色)/ Markdown / JSON / SARIF,原生支持 GitHub Code Scanning
  • 🔄 反馈学习闭环 — 用户反馈自动存储并注入为 few-shot 示例,零训练成本的个性化评审
  • 🔐 OAuth 2.0 鉴权 — MCP 服务器连接支持 OAuth 2.0 + PKCE,Token 自动持久化

📦 安装

# 全局安装
npm install -g @perdream-cli/know-cli

# 或项目级安装
npm install --save-dev @perdream-cli/know-cli

环境要求: Node.js >= 18.0.0,Git


🚀 快速开始

1. 初始化项目

know init

这将在项目根目录创建以下结构:

.know/
├── rules/
│   ├── security.md      # 安全评审规则
│   ├── performance.md   # 性能评审规则
│   └── style.md         # 代码风格规则
└── mcp.json             # MCP 知识服务器配置
.knowrc.yml              # Know CLI 配置文件

2. 配置 LLM Provider

编辑 .knowrc.yml

provider: anthropic
model: claude-sonnet-4-20250514
apiKey: sk-xxx  # 或设置环境变量 ANTHROPIC_API_KEY
language: zh

3. 执行评审

# 评审暂存区变更(默认)
know review

# 评审与 main 分支的差异
know review -b main

# 评审指定文件
know review -f src/app.ts src/utils.ts

# 评审最近 3 次提交
know review -c HEAD~3

# CI 模式,遇到错误返回非零退出码
know review --ci --fail-on error

📋 命令参考

know review — AI 代码评审

核心命令,提取 Git diff 并通过多智能体流水线进行智能评审。

know review [options]

| 参数 | 说明 | 示例 | |------|------|------| | -b, --branch <branch> | 对比目标分支 | know review -b main | | -c, --commit <ref> | 对比提交引用 | know review -c HEAD~3 | | -f, --files <paths...> | 指定评审文件 | know review -f src/a.ts src/b.ts | | --format <fmt> | 输出格式: terminal / markdown / json / sarif | know review --format markdown | | -o, --output <path> | 输出到文件 | know review -o report.md | | --ci | CI 模式(非交互式,问题超阈值返回非零退出码) | know review --ci | | --fail-on <level> | CI 失败阈值: error / warning | know review --ci --fail-on warning | | --provider <id> | 覆盖 LLM Provider | know review --provider openai | | --model <name> | 覆盖模型名称 | know review --model gpt-4o | | --lang <language> | 评审语言: zh / en | know review --lang en | | --concurrency <n> | 最大并发数 | know review --concurrency 5 | | --mcp-config <path> | MCP 配置文件路径 | know review --mcp-config ./mcp.json | | --team <team> | MCP 知识规则团队范围 | know review --team backend | | --project <project> | MCP 知识规则项目范围 | know review --project myapp |

know apply — 安全应用修复

在隔离的 Git Worktree 沙箱中应用 AI 建议的代码修复,确认前可随时安全回滚。

know apply [options]

| 参数 | 说明 | |------|------| | -a, --all | 应用所有可修复的问题 | | -s, --select <indices> | 指定问题索引(从 1 开始,逗号分隔,如 1,3,5) | | --strategy <s> | 合并策略: cherry-pick(默认)/ merge / patch | | --validate <cmds...> | 应用后运行的验证命令(如 npm test) | | -y, --yes | 跳过确认提示 | | --no-preview | 不显示 diff 预览 | | --provider <provider> | 覆盖 LLM Provider | | --model <model> | 覆盖模型名称 |

使用示例:

# 交互式选择修复
know apply

# 应用所有修复并运行验证
know apply --all --validate "npm run build" --validate "npm test"

# 生成补丁而非直接合并
know apply --strategy patch

know feedback — 反馈学习

对评审结果提供反馈,帮助 AI 学习团队偏好,提高未来评审准确性。

know feedback [options]

| 参数 | 说明 | |------|------| | --accept <indices> | 按索引接受建议(如 1,3,5) | | --reject <indices> | 按索引拒绝建议(如 2,4) | | -r, --reason <text> | 拒绝原因 | | --stats | 查看反馈统计 |

# 交互式逐条反馈
know feedback

# 批量接受
know feedback --accept 1,3,5

# 批量拒绝并附带原因
know feedback --reject 2,4 --reason "团队规范不同"

# 查看统计
know feedback --stats

know providers — Provider 管理

查看和管理可用的 LLM Provider。

# 列出所有可用 Provider
know providers

# 查看特定 Provider 的模型列表
know providers --models openai

# 查看配置文件路径
know providers --config

know worktree — Worktree 管理

管理 know apply 创建的 Git Worktree 环境。

# 列出所有活跃的 worktree
know worktree --list

# 清理过期 worktree(超过 24 小时)
know worktree --cleanup

know init — 项目初始化

know init          # 初始化
know init --force  # 强制覆盖已有配置

⚙️ 配置

配置优先级

CLI 参数 > 环境变量 > 项目配置文件 > Provider 全局配置 > 内置默认值
  1. CLI 参数(--provider--model 等)
  2. 环境变量(KNOW_PROVIDERKNOW_MODELKNOW_API_KEY
  3. 项目配置文件(.knowrc.yml.knowrc.jsonknow.config.js
  4. Provider 全局配置(~/.config/know/know.json
  5. 内置默认值(Provider: anthropic,Model: claude-sonnet-4-20250514

环境变量

| 变量 | 说明 | |------|------| | KNOW_PROVIDER | LLM Provider | | KNOW_MODEL | 模型名称 | | KNOW_API_KEY | API Key(通用) | | ANTHROPIC_API_KEY | Anthropic API Key | | OPENAI_API_KEY | OpenAI API Key | | GOOGLE_GENERATIVE_AI_API_KEY | Google AI API Key | | KNOW_MCP_CONFIG | MCP 配置文件路径 | | KNOW_MCP_TEAM | MCP 团队范围 | | KNOW_MCP_PROJECT | MCP 项目范围 |

自定义 Provider

编辑 ~/.config/know/know.json,即可零代码接入任意 @ai-sdk/* 兼容 Provider:

{
  "provider": {
    "bailian-coding-plan": {
      "npm": "@ai-sdk/anthropic",
      "name": "百炼模型服务",
      "options": {
        "baseURL": "https://coding.dashscope.aliyuncs.com/apps/anthropic/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "qwen3.5-plus": {
          "name": "Qwen3.5 Plus",
          "modalities": { "input": ["text", "image"], "output": ["text"] },
          "options": { "thinking": { "type": "enabled", "budgetTokens": 8192 } },
          "limit": { "context": 1000000, "output": 65536 }
        },
        "qwen3-coder-plus": {
          "name": "Qwen3 Coder Plus",
          "modalities": { "input": ["text"], "output": ["text"] },
          "limit": { "context": 1000000, "output": 65536 }
        }
      }
    }
  }
}

使用方式:

know review --provider bailian-coding-plan --model qwen3.5-plus

自定义评审规则

.know/rules/ 目录下创建 Markdown 文件,支持 YAML front matter:

---
name: react-hooks
description: React Hooks 最佳实践检查
severity: warning
glob:
  - "**/*.tsx"
  - "**/*.jsx"
---
检查以下 React Hooks 问题:
1. useEffect 缺少依赖项
2. 在循环或条件中使用 Hook
3. 自定义 Hook 未以 "use" 开头

🔌 MCP 知识服务器

通过 MCP(Model Context Protocol)连接企业知识库,统一管理团队评审规范。

编辑 .know/mcp.json

静态 Token 鉴权

{
  "mcpServers": {
    "knowledge-server": {
      "url": "https://your-server.com/mcp/http",
      "headers": {
        "Authorization": "Bearer your-token"
      }
    }
  }
}

OAuth 2.0 鉴权

支持 Authorization Code + PKCE 流程,首次连接自动打开浏览器授权,Token 持久化到 ~/.config/know/oauth/<server>/

{
  "mcpServers": {
    "knowledge-server": {
      "url": "https://your-server.com/mcp/http",
      "oauth": {
        "clientId": "your-client-id",
        "clientSecret": "your-client-secret",
        "scope": "read write",
        "callbackPort": 8900
      }
    }
  }
}

| 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | clientId | string | 否 | 预注册的 OAuth 客户端 ID | | clientSecret | string | 否 | OAuth 客户端密钥 | | scope | string | 否 | 请求的权限范围(空格分隔) | | callbackPort | number | 否 | 本地回调端口(默认 8900) | | clientName | string | 否 | 动态注册时的客户端名称(RFC 7591) |


🔄 CI/CD 集成

GitHub Actions

name: Code Review
on: [pull_request]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: actions/setup-node@v4
        with:
          node-version: 18
      - run: npm install -g @perdream-cli/know-cli
      - run: know review --branch origin/main --ci --fail-on warning --format sarif --output review.sarif
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
      - uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: review.sarif

GitLab CI

code-review:
  image: node:18
  script:
    - npm install -g @perdream-cli/know-cli
    - know review --branch $CI_MERGE_REQUEST_TARGET_BRANCH_NAME --ci --format json --output review.json
  artifacts:
    paths:
      - review.json
  only:
    - merge_requests

📊 输出格式

| 格式 | 说明 | 适用场景 | |------|------|----------| | terminal | 彩色终端输出,内联 diff 上下文高亮 | 开发者日常使用 | | markdown | 结构化 Markdown 报告 | Pull Request 评论 | | json | 结构化 JSON 数据 | 程序化集成 | | sarif | SARIF 2.1.0 标准格式 | GitHub Code Scanning |


🛠️ 本地开发

# 克隆项目
git clone <repo-url>
cd know-cli

# 安装依赖
npm install

# 开发模式运行
npm run dev -- review -b main

# 构建
npm run build

# 全局链接测试
npm link
know review --help

📄 License

MIT © Perdream