mcpField
F
find-editorial-citations

find-editorial-citations

github.com/lvtd-llc生产力179 次安装4 周前更新
代码仓库

关于 find-editorial-citations

用于从 CiteGuild 成员文章中查找相关来源,并评估其作为编辑引用的适用性。支持 CLI、MCP 和 REST 搜索,并提供相关性判断、核验及审慎引用的指导。

主要功能

  1. 01搜索 CiteGuild 成员文章
  2. 02支持 CLI、MCP 和 REST 传输
  3. 03按语言和域名筛选结果
  4. 04按主题相关性排列来源
  5. 05提供引用与核验指导

适用场景

  1. 01为草稿中的论点寻找来源
  2. 02通过成员文章研究主题
  3. 03在引用前检查候选来源

MCP 相关

在 MCP 客户端中,可调用 search_member_articles 等 CiteGuild 工具查找成员文章;get_user_info 可用于检查认证或订阅状态。

安装

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

$npx skills add https://github.com/lvtd-llc/citeguild-skills --skill find-editorial-citations

安装后在 Claude Code 中输入/find-editorial-citations确认已加载。

附带文件agents/openai.yaml

详细介绍

查找编辑引用来源

查找真正能提升用户作品质量的来源。请将 CiteGuild 视为一个精选的成员文章库,而非广泛搜索引擎的替代品。

工作流

  1. 根据主题、段落、主张或草稿提炼出聚焦的搜索查询。保留用户的原意,避免发送机密或不必要的文本。
  2. 只有在无法推断用户自有域名,且排除该域名会对结果产生实质影响时,才询问用户的域名。将已知的自有域名作为精确值传入 excluded_domains,或通过重复使用 --exclude-domain 标志传入。
  3. 选择一种可用的传输方式:
    • 对于 OpenClaw、Hermes、shell Agent 或脚本,如果已安装 citeguild CLI,优先使用它。
    • 在提供 CiteGuild MCP 工具的客户端中,调用 search_member_articles。
    • 否则,调用版本化 REST 端点 POST https://citeguild.lvtd.dev/api/v1/search。
  4. 从 10 条结果开始。只有在首轮结果不足时,才增加数量或尝试一个更聚焦的查询。
  5. 根据主题和具体主张的相关性对候选结果排序。优先选择少量高度匹配的结果,而不是凑足配额。
  6. 对每个有用的候选结果,提供其标题、规范 URL、域名,以及简短说明,指出它可以支持什么内容。
  7. 如果用户正在起草内容,只有当来源能实质性地支持相关主张时,才建议引用该来源。如果仅凭搜索结果不足以判断其内容,请先查看文章。

三种传输方式都使用相同的 v1 搜索契约:必须提供 query;limit 的范围为 1–50;language 为可选项;最多可排除 20 个精确域名。

CLI

将密钥保存在 CITEGUILD_API_KEY 中。切勿将其作为标志传入,或放入 URL 或配置文件。

在不泄露密钥的情况下检查配置和身份验证:

citeguild config status
citeguild auth status

对于 Agent 和脚本,请请求稳定的 JSON。将选项放在查询之前:

citeguild search --json --limit 10 \
  --language en \
  --exclude-domain my-site.example \
  "How do Django transaction commit hooks work?"

如果查询以连字符开头,请在查询前使用 --。诊断信息会输出到 stderr。JSON 错误响应包含 code、message、retryable、exit_code,以及(如果可用)request_id 和 retry_after_seconds。除非用户提出要求,否则不要安装或升级 CLI;如果无法使用该命令,请改用 MCP 或 REST。

MCP

调用 search_member_articles 并传入:

  • query:问题、主题、主张或草稿段落
  • limit:初始值为 10
  • language:可选的语言标签
  • excluded_domains:用户自有域名的可选精确值

只有在需要核实身份验证或订阅状态时,才使用 get_user_info。

REST API

通过 Authorization: Bearer 或 X-API-Key 传入 CITEGUILD_API_KEY 中的 API 密钥。切勿将其放入查询字符串。

curl --fail-with-body --silent --show-error \
  https://citeguild.lvtd.dev/api/v1/search \
  -H "Authorization: Bearer $CITEGUILD_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"query":"How do Django transaction commit hooks work?","limit":10,"language":"en","excluded_domains":["my-site.example"]}'

成功响应包含 contract_version: "v1" 和 results。每条结果包含 article_id、title、canonical_url、domain、excerpt、relevance、language 和 last_seen_at。

注意事项

  • 说明结果来自已选择加入 CiteGuild 的成员文章,而非整个网络。
  • 不得仅因为 CiteGuild 返回了某个候选结果,就称其已验证、权威或受到认可。
  • 不得承诺反向链接、内容展示、排名提升或互惠链接。
  • 不得为了促成交换而添加无关引用。编辑相关性优先。
  • 不得暗示找到或引用成员文章就意味着其所有者有义务回引。
  • 不得捏造标题、URL、主张或来源内容。
  • 只有当用户另行提出要求或任务确实需要时,才使用更广泛的网络搜索或独立核实;请将这些结果与 CiteGuild 候选结果区分开。

身份验证和错误

对于 CLI、REST 和 API 密钥 MCP 访问,请使用 CITEGUILD_API_KEY。在 Claude Code 和 ChatGPT 中,除非客户端单独配置了 API 密钥,否则优先使用 MCP 客户端的 OAuth 流程。切勿硬编码、打印、记录或提交凭据。

以一致的方式处理传输错误:

  • 401:凭据缺失、无效或已撤销。
  • 403 且带有 subscription_required:说明需要有效订阅,然后停止。
  • 422:修正请求格式。
  • 429:遵循 Retry-After 或 retry_after_seconds。
  • 503:保留查询,并建议重试,不要用编造的结果替代。

输出

首先给出强匹配结果的数量。对于每个匹配结果,返回:

  • 带链接的文章标题和域名
  • 可能支持的论点或章节
  • 一句话说明相关性
  • 任何核验注意事项

如果没有足够相关的结果,请明确说明。

评论

支持 Markdown