mcpField
P
pp-context-dev

pp-context-dev

github.com/mvanhorn数据与数据库2.1k51 次安装今天更新
代码仓库

关于 pp-context-dev

pp-context-dev 是供 Agent 和团队从企业网站提取结构化信息的命令行技能,涵盖抓取、爬取、数据提取、品牌资料、竞品研究和变更监测,结果包含来源信息。

主要功能

  1. 01将网站抓取并转为 Markdown
  2. 02使用 JSON Schema 提取类型化数据
  3. 03生成品牌资料和设计规范
  4. 04发现实体并绘制竞品图谱
  5. 05生成带引用的来源包和变更摘要
  6. 06批量补全潜在客户资料

适用场景

  1. 01根据企业网站建立结构化资料
  2. 02在多个样本页面中统一提取字段
  3. 03查看品牌视觉体系与素材
  4. 04比较竞品或追踪网站变化

MCP 相关

README 提到 MCP 二进制不会继承 CLI 参数,并要求通过 MCP 主机配置传递路径迁移设置。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-context-dev

安装后在 Claude Code 中输入/pp-context-dev确认已加载。

详细介绍

Context Dev — Printing Press CLI

前提条件:安装 CLI

此技能使用 context-dev-pp-cli 二进制文件。**调用此技能中的任何命令之前,必须确认已安装该 CLI。**如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。默认情况下,二进制文件安装在 macOS/Linux 上的 $HOME/.local/bin,以及 Windows 上的 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install context-dev --cli-only
    
  2. 验证:context-dev-pp-cli --version
  3. 确保显示的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接通过 Go 安装的方式(需要 Go 1.26.6 或更高版本)。此方式会将程序安装到 $GOPATH/bin(默认为 $HOME/go/bin),因此请将该目录添加到 $PATH:

go install github.com/mvanhorn/printing-press-library/library/ai/context-dev/cmd/context-dev-pp-cli@latest

如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件所在目录。验证成功之前,请勿继续执行技能命令。

面向 Agent 的 Context.dev CLI,可用于网站情报、品牌丰富、抓取、爬取、结构化提取、截图、风格指南、竞争对手地图、来源包和变更摘要。

命令参考

一流工作流——常见 Context.dev 操作任务优先使用这些工作流。

  • context-dev-pp-cli scrape <url> --agent — 抓取单个 URL 并转换为整洁的 Markdown。
  • context-dev-pp-cli crawl <seed> --max-pages 5 --agent — 抓取同一域名下的页面。使用 --estimate;超过 25 个页面时,需要使用 --confirm 或 --yes。
  • context-dev-pp-cli extract <url> --schema schema.json --agent — 使用 JSON Schema 文件提取类型化 JSON。
  • context-dev-pp-cli styleguide <domain|url> --agent — 提取设计系统数据。
  • context-dev-pp-cli screenshot <domain|url> --agent — 捕获截图预览。
  • context-dev-pp-cli entity-discover --type company --name "<name>" --location "<place>" --agent — 按字段发现公开实体,包括搜索、品牌/抓取信息补充、排名和来源溯证。有效类型:company、venue、provider、school、agency、other。
  • context-dev-pp-cli brand-brief <domain|url> --agent — 规范化品牌资料,包含域名、网站、标题、描述、徽标、颜色、字体、社交媒体、联系入口、截图、摘要和来源溯证。
  • context-dev-pp-cli competitor-map --domain <domain|url> --max 5 --agent — 按类别/市场聚类的竞品集合,包含 why_ranked、重合度信号和来源溯证。没有种子域名时使用 --query。
  • context-dev-pp-cli crawl-budget-plan <seed> --max-pages 25 --agent — 估算 urlRegex、最大页面数、积分、风险及建议的抓取命令,不消耗抓取积分。
  • context-dev-pp-cli source-pack --query "<query>" --max-sources 5 --agent — 搜索并抓取带引文的来源包。添加 --schema schema.json,可针对每个来源执行提取。搜索失败时返回非零状态;无结果时返回 status: "no_results"。
  • context-dev-pp-cli website-change-digest <domain|url> --agent — 在 CLI 状态目录中保存抓取、样式指南和截图快照,并与之前的本地快照进行差异比较。
  • context-dev-pp-cli schema-lab --url <url> --url <url> --schema schema.json --agent — 在多个样本上运行提取 Schema,并报告字段填充率、解析失败、遗漏、原始状态和来源溯证。
  • context-dev-pp-cli brand-kit <domain|url> --agent — 按需生成品牌套件(别名:asset-pack):徽标、配色、字体、样式指南、截图、网站图标、社交媒体和来源溯证。
  • context-dev-pp-cli brand-qa <domain|url> --question "What is the return policy?" --agent — 以自然语言询问品牌网站,并获取有依据的回答,以及已分析的 URL 和来源溯证。
  • context-dev-pp-cli email-enrich [email protected] --agent — 将工作邮箱转换为公司资料和注册表单预填字段(公司名称、网站、行业),并提供来源溯证。
  • context-dev-pp-cli ticker-enrich AAPL --agent — 根据股票代码或 ISIN 解析上市公司,获取品牌资料及 NAICS/SIC 行业代码。自动识别股票代码或 ISIN;传入 --exchange 可消除股票代码的歧义。
  • context-dev-pp-cli trust-check <domain|url> --agent — 生成网站、社交媒体、地址、电话、徽标、标题/域名及网络信号的一致性/风险信号报告。不要将输出描述为欺诈判定。
  • context-dev-pp-cli lead-enrich-batch leads.csv --domain-column domain --name-column name --location-column location --output enriched.json --resume --agent — 批量补充 CSV 行的信息,提供逐行成功/错误状态、来源溯证和失败原因。只有在单行错误应导致整个批次失败时,才使用 --strict。

对于第二阶段工作流,优先使用 --agent 获取机器稳定的 JSON。支持多积分的命令支持 --estimate;所有工作流都支持 --dry-run。估算和试运行响应包含 estimated_credits 和 planned_requests,且不会消耗积分。website-change-digest 会将快照保存在解析后的 CLI 状态目录中,而不会保存在代码仓库中。entity-discover 会拒绝自由格式文本块以及敏感/可识别个人身份的上下文;只传入公开字段值。

brand — 管理品牌

  • context-dev-pp-cli brand create — 表示你可能很快会获取特定域名的品牌数据,以降低延迟。
  • context-dev-pp-cli brand create-ai — 根据单个 URL 判断它是否为产品页面,并提取产品信息。
  • context-dev-pp-cli brand create-ai-2 — 从品牌网站提取产品信息。
  • context-dev-pp-cli brand create-ai-3 — 使用 AI 从品牌网站提取特定数据点。
  • context-dev-pp-cli brand create-prefetchbyemail — 表示你可能很快会获取特定域名的品牌数据,以降低延迟。
  • context-dev-pp-cli brand list — 从任意域名获取徽标、背景图、颜色、行业、描述等信息
  • context-dev-pp-cli brand list-retrievebyemail — 使用电子邮件地址获取品牌信息,同时检测一次性和免费电子邮件地址。
  • context-dev-pp-cli brand list-retrievebyisin — 使用 ISIN(国际证券识别码)获取品牌信息。
  • context-dev-pp-cli brand list-retrievebyname — 使用公司名称获取品牌信息。
  • context-dev-pp-cli brand list-retrievesimplified — 返回简化版品牌数据,仅包含域名、标题、颜色和徽标等基本信息
  • context-dev-pp-cli brand list-retrieveticker — 使用股票代码获取品牌信息。
  • context-dev-pp-cli brand list-transactionidentifier — 专为希望通过交易标题识别交易数据的平台设计的端点。

people — 管理人员

  • context-dev-pp-cli people — 根据标识符获取并规范化人员资料。

web — 管理 Web

  • context-dev-pp-cli web create — 从给定 URL 开始抓取网页,并将页面内容提取为 Markdown
  • context-dev-pp-cli web create-extract — 抓取网站,使用提供的 JSON Schema 和说明优先选择相关的站内链接
  • context-dev-pp-cli web create-search — 搜索 Web,并可选择在一次往返中将每条结果抓取为 Markdown。
  • context-dev-pp-cli web list — 分析公司的落地页和 Web 搜索证据,返回同一产品或市场的直接竞争对手。
  • context-dev-pp-cli web list-fonts — 抓取网站上的字体信息,包括字体系列、使用统计、回退字体以及元素/字数。
  • context-dev-pp-cli web list-naics — 根据域名或名称,将任意品牌归类到 2022 年 NAICS 行业代码。
  • context-dev-pp-cli web list-scrape — 抓取给定 URL,并返回页面的原始 HTML 内容。
  • context-dev-pp-cli web list-scrape-2 — 从网页提取图像资源,包括标准 URL、内联 SVG、数据 URI 和响应式图像源
  • context-dev-pp-cli web list-scrape-3 — 将给定 URL 抓取为大模型可用的 Markdown。
  • context-dev-pp-cli web list-scrape-4 — 抓取整个网站的站点地图,并返回所有发现的页面 URL。
  • context-dev-pp-cli web list-screenshot — 截取网站屏幕截图。
  • context-dev-pp-cli web list-sic — 根据域名或名称,将任意品牌归类到标准行业分类(SIC)代码。
  • context-dev-pp-cli web list-styleguide — 从网站提取全面的设计系统,包括颜色、排版、间距、阴影和 UI 组件。
查找合适的命令

如果你知道要做什么,但不知道该用哪个命令,可以直接向 CLI 提问:

context-dev-pp-cli which "<capability in your own words>"

which 会根据此 CLI 精选的功能索引,将自然语言能力查询匹配到最合适的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有足够可靠的匹配项,此时请使用 --help 或尝试更具体的查询。

身份验证设置

运行 context-dev-pp-cli auth setup,获取用于获取令牌的网址和步骤(添加 --launch 可打开该网址)。然后存储令牌:

context-dev-pp-cli auth set-token YOUR_TOKEN_HERE

也可以将 CONTEXT_DEV_API_KEY 设置为环境变量。若未设置 CONTEXT_DEV_API_KEY,则会将 CONTEXT_API_KEY 用作备用项;为保持兼容性,仍支持旧版生成的 CONTEXT_DEV_BEARER_AUTH 变量。

运行 context-dev-pp-cli doctor 验证设置。

Agent 模式

为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可用于管道 — JSON 输出到 stdout,错误输出到 stderr

  • 可筛选 — --select 可保留部分字段。点分隔路径可深入嵌套结构;数组会逐元素遍历。在响应冗长的 API 中,这对控制上下文大小至关重要:

    context-dev-pp-cli brand list --domain example-value --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不会发送

  • 便于离线使用 — 在本地 SQLite 存储可用时,同步/搜索命令可使用该存储

  • 非交互式 — 从不提示输入;所有输入都通过标志指定

  • 显式重试 — 仅当已存在的创建结果也应视为成功时,才使用 --idempotent

响应封装

从本地存储或 API 读取的命令,会将输出封装在一个来源信息封套中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,并查看 .meta.source 以确认数据来自实时来源还是本地。当且仅当 stdout 是终端,且未设置机器可读格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会向 stderr 输出人类可读的 N results (live) 摘要;通过管道传输的/Agent 消费者以及显式指定格式的运行都会在 stdout 输出纯 JSON。

路径和状态

Agent 应将 CLI 的路径解析器视为运行时契约的一部分:

  • 使用 --home <dir> 为单次调用指定目录,或设置 CONTEXT_DEV_HOME=<dir>,将所有四种路径类型迁移到同一根目录下。

  • 仅在某种路径类型需要单独设置时,才使用对应类型的环境变量:CONTEXT_DEV_CONFIG_DIR、CONTEXT_DEV_DATA_DIR、CONTEXT_DEV_STATE_DIR、CONTEXT_DEV_CACHE_DIR。

  • 解析顺序依次为:对应类型的环境变量、--home、CONTEXT_DEV_HOME、XDG(XDG_CONFIG_HOME、XDG_DATA_HOME、XDG_STATE_HOME、XDG_CACHE_HOME),然后是平台默认值。

  • config 存放 config.toml 和配置档案等设置。data 存放 credentials.toml、data.db、Cookie 和身份验证附属文件。state 存放持久化查询、作业和 teach.log。cache 存放可重新生成的 HTTP/缓存文件。

  • 存储的机密信息位于 data 目录下的 credentials.toml 中。为保持兼容性,仍会读取现有旧版 config.toml 中的机密信息,并在首次写入身份验证信息时将其移出 config.toml。

  • 运行 context-dev-pp-cli doctor --fail-on warn,以显示路径和凭据位置警告。对于需要已解析目录的 Agent,agent-context 会提供 schema v4 的 paths 块。

  • 对于 MCP,请通过 MCP 主机配置传递路径重定位设置。MCP 二进制文件不会继承 CLI 标志:

    {
      "mcpServers": {
        "context-dev": {
          "command": "context-dev-pp-mcp",
          "env": {
            "CONTEXT_DEV_HOME": "/srv/context-dev"
          }
        }
      }
    }
    

集群优先级:继承的对应类型环境变量会覆盖该类型显式指定的 --home。将 CONTEXT_DEV_HOME 或对应类型的变量用作持久的集群控制选项;--home 仅用于单次调用。取消设置环境变量无法撤销路径重定位;清除 CONTEXT_DEV_HOME 前,请手动移动文件,否则 doctor 将找不到原根目录下的凭据。

Agent 反馈

当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:

context-dev-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
context-dev-pp-cli feedback --stdin < notes.txt
context-dev-pp-cli feedback list --json --limit 10

条目会以 feedback.jsonl 的形式存储在解析后的 data 目录下。除非设置了 CONTEXT_DEV_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 CONTEXT_DEV_FEEDBACK_AUTO_SEND=true,否则不会执行 POST。默认行为仅在本地保存。

记录让你感到_意外_的地方,而不是提交错误报告。简短、具体、写成一行:这种反馈会不断积累价值。

输出交付

每条命令都接受 --deliver <sink>。除了(或替代)stdout,输出还会发送到指定的 sink,因此 Agent 无需手动通过管道传递,就能路由命令结果。支持三种 sink:

Sink效果
stdout默认;仅写入 stdout
file:<path>将输出以原子方式写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 --compact 时为 application/json 或 application/x-ndjson)

对于未知的 scheme,系统会拒绝请求并返回结构化错误,列出受支持的 scheme。Webhook 失败时会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置是保存的一组标志值,可在多次调用中重复使用。如果计划任务中的 Agent 每次运行都以相同配置调用同一命令,就可以使用配置——这就是 HeyGen 的“Beacon”模式。

context-dev-pp-cli profile save briefing --json
context-dev-pp-cli --profile briefing brand list --domain example-value
context-dev-pp-cli profile list --json
context-dev-pp-cli profile show briefing
context-dev-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,以便能够进行自省的 Agent 在运行时发现它们。

退出代码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7速率受限(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 context-dev-pp-cli --help 的输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 请参阅上文的先决条件
  3. 其他任何内容 → 直接使用(作为 CLI 命令执行并附带 --agent)

安装 MCP 服务

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/ai/context-dev/cmd/context-dev-pp-mcp@latest
    
  2. 向 Claude Code 注册:
    claude mcp add context-dev-pp-mcp -- context-dev-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which context-dev-pp-cli 如果未找到,请提供安装选项(请参阅本技能顶部的先决条件)。
  2. 根据用户查询,从上文的独特功能和命令参考中匹配最合适的命令。
  3. 使用 --agent 标志执行:
    context-dev-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果存在歧义,请查看子命令帮助:context-dev-pp-cli <command> --help。

评论

支持 Markdown