{"code":404,"msg":"<!DOCTYPE html><html lang=\"zh-CN\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1,viewport-fit=cover\"><meta name=\"theme-color\" content=\"#050810\"><link rel=\"icon\" type=\"image/svg+xml\" href=\"/logo.svg\"><link rel=\"apple-touch-icon\" href=\"/logo.svg\"><link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\"><link href=\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&amp;family=Inter+Tight:wght@400;500;600&amp;display=swap\" rel=\"stylesheet\"><title>BorderCollie // AI code reviewer</title><script type=\"module\" async=\"\" crossorigin=\"\" src=\"/assets/app-Dk3e1fEt.js\"></script><link rel=\"stylesheet\" crossorigin=\"\" href=\"/assets/app-CX3uDRw4.css\"><link rel=\"modulepreload\" crossorigin=\"\" href=\"/assets/index-By6AzlH-.js\"><link rel=\"stylesheet\" href=\"/assets/index-K8l2tQFr.css\"><link rel=\"modulepreload\" crossorigin=\"\" href=\"/assets/CliApiSection-DuQCxGf4.js\"><link rel=\"stylesheet\" href=\"/assets/CliApiSection-HMdc1PE5.css\"></head><body><div id=\"app\" data-server-rendered=\"true\"><!--[--><header class=\"nav\" data-v-40de7abf=\"\"><div class=\"wrap nav__row\" data-v-40de7abf=\"\"><a aria-current=\"page\" href=\"/\" class=\"router-link-active router-link-exact-active logo\" data-v-40de7abf=\"\"><span class=\"bc-logo\" style=\"width:28px;height:28px\" aria-hidden=\"true\" data-v-40de7abf=\"\" data-v-ca8e747a=\"\"><svg viewBox=\"0 0 64 64\" xmlns=\"http://www.w3.org/2000/svg\" data-v-ca8e747a=\"\"><defs data-v-ca8e747a=\"\"><linearGradient id=\"bcLogoBg\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\" data-v-ca8e747a=\"\"><stop offset=\"0%\" stop-color=\"#3D6FFF\" data-v-ca8e747a=\"\"></stop><stop offset=\"100%\" stop-color=\"#1F44C2\" data-v-ca8e747a=\"\"></stop></linearGradient></defs><rect width=\"64\" height=\"64\" rx=\"14\" fill=\"url(#bcLogoBg)\" data-v-ca8e747a=\"\"></rect><circle cx=\"22\" cy=\"24\" r=\"5.2\" fill=\"#FFFFFF\" data-v-ca8e747a=\"\"></circle><circle cx=\"42\" cy=\"24\" r=\"5.2\" fill=\"#FFFFFF\" data-v-ca8e747a=\"\"></circle><path d=\"M16 36 L32 50 L48 36\" stroke=\"#FFFFFF\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\" data-v-ca8e747a=\"\"></path></svg></span><span data-v-40de7abf=\"\">BorderCollie&nbsp;<small data-v-40de7abf=\"\">v1.8.0</small></span></a><nav class=\"nav__links\" aria-label=\"primary\" data-v-40de7abf=\"\"><a href=\"/features\" class=\"\" data-v-40de7abf=\"\">特性</a><a aria-current=\"page\" href=\"/#how\" class=\"router-link-active router-link-exact-active\" data-v-40de7abf=\"\">工作流</a><a aria-current=\"page\" href=\"/#cli\" class=\"router-link-active router-link-exact-active\" data-v-40de7abf=\"\">CLI 与 API</a><a aria-current=\"page\" href=\"/#integrations\" class=\"router-link-active router-link-exact-active\" data-v-40de7abf=\"\">集成</a><a href=\"/pricing\" class=\"\" data-v-40de7abf=\"\">定价</a><a href=\"/news\" class=\"\" data-v-40de7abf=\"\">公告</a></nav><div class=\"nav__cta\" data-v-40de7abf=\"\"><button class=\"loc\" title=\"Switch to English\" data-v-40de7abf=\"\" data-v-21008f48=\"\"><span class=\"active\" data-v-21008f48=\"\">中</span><span class=\"sep\" data-v-21008f48=\"\">/</span><span class=\"\" data-v-21008f48=\"\">EN</span></button><!--[--><a class=\"btn nav-btn\" href=\"https://review.woofcloud.com/admin/#/login\" data-v-40de7abf=\"\">登录</a><a href=\"/register\" class=\"btn btn--primary nav-btn\" data-v-40de7abf=\"\"><span class=\"prompt\" data-v-40de7abf=\"\">$</span> 开始评审 <span class=\"arrow\" data-v-40de7abf=\"\">→</span></a><!--]--></div></div></header><main><!--[--><!--[--><section class=\"hero\" data-v-9cdb5284=\"\"><div class=\"wrap hero__grid\" data-v-9cdb5284=\"\"><div class=\"hero__intro\" data-v-9cdb5284=\"\"><span class=\"eyebrow\" data-v-9cdb5284=\"\">// v1.8.0 — May 2026 build</span><h1 class=\"hero__title\" data-v-9cdb5284=\"\">更快发布，<br data-v-9cdb5284=\"\"><span class=\"strike\" data-v-9cdb5284=\"\">不再发布</span><br data-v-9cdb5284=\"\"><span class=\"accent\" data-v-9cdb5284=\"\">bug</span><span class=\"blink\" data-v-9cdb5284=\"\">_</span></h1><p class=\"hero__lede\" data-v-9cdb5284=\"\">BorderCollie 是一只 24/7 在线的 <b>AI 代码评审员</b>，在每一次 <code>git push</code> 后用资深工程师的脑回路读 diff，把 SQL 注入、密钥泄露、依赖许可冲突、低级 bug 全部拦在 merge 之前——平均 <code>2.8s</code> 给出可应用的修复建议。</p><div class=\"hero__ctas\" data-v-9cdb5284=\"\"><a href=\"/register\" class=\"btn btn--primary\" data-v-9cdb5284=\"\"><span class=\"prompt\" data-v-9cdb5284=\"\">$</span> bc init &amp;&amp; bc review <span class=\"arrow\" data-v-9cdb5284=\"\">→</span></a><a class=\"btn\" href=\"#how\" data-v-9cdb5284=\"\"><span class=\"prompt\" data-v-9cdb5284=\"\">→</span> 阅读文档</a></div><div class=\"hero__stats\" data-v-9cdb5284=\"\"><div class=\"stat\" data-v-9cdb5284=\"\"><div class=\"stat__num\" data-v-9cdb5284=\"\">2.8<em data-v-9cdb5284=\"\">s</em></div><div class=\"stat__lab\" data-v-9cdb5284=\"\">/ 1k diff</div></div><div class=\"stat\" data-v-9cdb5284=\"\"><div class=\"stat__num\" data-v-9cdb5284=\"\">99.9<em data-v-9cdb5284=\"\">%</em></div><div class=\"stat__lab\" data-v-9cdb5284=\"\">uptime SLA</div></div><div class=\"stat\" data-v-9cdb5284=\"\"><div class=\"stat__num\" data-v-9cdb5284=\"\">7<em data-v-9cdb5284=\"\">llm</em></div><div class=\"stat__lab\" data-v-9cdb5284=\"\">providers</div></div></div></div><div class=\"hero__visual\" data-v-9cdb5284=\"\"><div class=\"ambient\" data-v-9cdb5284=\"\"></div><div class=\"tui\" data-v-9cdb5284=\"\"><div class=\"tui__bar\" data-v-9cdb5284=\"\"><div class=\"tui__bar-l\" data-v-9cdb5284=\"\"><span class=\"tui__dots\" data-v-9cdb5284=\"\"><span data-v-9cdb5284=\"\"></span><span data-v-9cdb5284=\"\"></span><span data-v-9cdb5284=\"\"></span></span><span class=\"tui__path\" data-v-9cdb5284=\"\">~/app/<b data-v-9cdb5284=\"\">api/auth/login.ts</b> &nbsp;·&nbsp; PR #847</span></div><div class=\"tui__bar-r\" data-v-9cdb5284=\"\"><span data-v-9cdb5284=\"\">diff +12 −3</span><span class=\"reviewed\" data-v-9cdb5284=\"\">● reviewed 2.8s</span></div></div><div class=\"tui__body\" data-v-9cdb5284=\"\"><div class=\"tui__gutter\" data-v-9cdb5284=\"\">42<br data-v-9cdb5284=\"\">43<br data-v-9cdb5284=\"\">44<br data-v-9cdb5284=\"\">45<br data-v-9cdb5284=\"\">46<br data-v-9cdb5284=\"\">47<br data-v-9cdb5284=\"\">48<br data-v-9cdb5284=\"\">49<br data-v-9cdb5284=\"\">50</div><pre class=\"tui__code\" data-v-9cdb5284=\"\"><span class=\"row\" data-v-9cdb5284=\"\"><span class=\"kw\" data-v-9cdb5284=\"\">export async function</span> <span class=\"fn\" data-v-9cdb5284=\"\">login</span>(<span class=\"var\" data-v-9cdb5284=\"\">req</span>, <span class=\"var\" data-v-9cdb5284=\"\">res</span>) {</span><span class=\"row\" data-v-9cdb5284=\"\">  <span class=\"kw\" data-v-9cdb5284=\"\">const</span> { email, password } = <span class=\"var\" data-v-9cdb5284=\"\">req</span>.body;</span><span class=\"row del\" data-v-9cdb5284=\"\">  <span class=\"kw\" data-v-9cdb5284=\"\">const</span> user = <span class=\"kw\" data-v-9cdb5284=\"\">await</span> db.query(</span><span class=\"row del\" data-v-9cdb5284=\"\">    <span class=\"str\" data-v-9cdb5284=\"\">`SELECT * FROM users WHERE email = '${email}'`</span></span><span class=\"row del\" data-v-9cdb5284=\"\">  );</span><span class=\"row add\" data-v-9cdb5284=\"\">  <span class=\"kw\" data-v-9cdb5284=\"\">const</span> user = <span class=\"kw\" data-v-9cdb5284=\"\">await</span> db.query(</span><span class=\"row add\" data-v-9cdb5284=\"\">    <span class=\"str\" data-v-9cdb5284=\"\">'SELECT * FROM users WHERE email = ?'</span>, [email]</span><span class=\"row add\" data-v-9cdb5284=\"\">  );</span><span class=\"row\" data-v-9cdb5284=\"\">  <span class=\"cm\" data-v-9cdb5284=\"\">// next: hash comparison + session</span></span><span class=\"row\" data-v-9cdb5284=\"\">  <span class=\"kw\" data-v-9cdb5284=\"\">return</span> res.<span class=\"fn\" data-v-9cdb5284=\"\">json</span>({ ok: <span class=\"num\" data-v-9cdb5284=\"\">1</span> });</span></pre></div><div class=\"tui__panel\" data-v-9cdb5284=\"\"><div class=\"tui__panel-avatar\" data-v-9cdb5284=\"\">B</div><div class=\"tui__panel-body\" data-v-9cdb5284=\"\"><b data-v-9cdb5284=\"\">BorderCollie</b> <span style=\"color:var(--fg-3)\" data-v-9cdb5284=\"\">· senior-reviewer agent</span><br data-v-9cdb5284=\"\">第 44 行把 <code data-v-9cdb5284=\"\">email</code> 拼进 SQL 字符串，存在 <b data-v-9cdb5284=\"\">SQL 注入</b>。建议改用参数化查询（右侧已自动生成 patch）。</div><div class=\"tui__panel-tag\" data-v-9cdb5284=\"\">SQLi</div></div></div><div class=\"float float--a\" data-v-9cdb5284=\"\"><div class=\"float__hd\" data-v-9cdb5284=\"\">throughput · 24h</div><div class=\"spark\" data-v-9cdb5284=\"\"><span style=\"height:22%\" data-v-9cdb5284=\"\"></span><span style=\"height:48%\" data-v-9cdb5284=\"\"></span><span style=\"height:36%\" data-v-9cdb5284=\"\"></span><span style=\"height:72%\" data-v-9cdb5284=\"\"></span><span style=\"height:55%\" data-v-9cdb5284=\"\"></span><span style=\"height:90%\" data-v-9cdb5284=\"\"></span><span style=\"height:64%\" data-v-9cdb5284=\"\"></span><span style=\"height:78%\" data-v-9cdb5284=\"\"></span><span style=\"height:42%\" data-v-9cdb5284=\"\"></span><span style=\"height:88%\" data-v-9cdb5284=\"\"></span><span style=\"height:60%\" data-v-9cdb5284=\"\"></span><span style=\"height:96%\" data-v-9cdb5284=\"\"></span></div><div class=\"spark-meta\" data-v-9cdb5284=\"\"><span data-v-9cdb5284=\"\">12.4k diffs</span><b data-v-9cdb5284=\"\">+18%</b></div></div><div class=\"float float--b findings\" data-v-9cdb5284=\"\"><div class=\"float__hd\" data-v-9cdb5284=\"\">findings · PR #847</div><div class=\"findings__row\" data-v-9cdb5284=\"\"><b data-v-9cdb5284=\"\">SQL injection</b><span class=\"sev sev--c\" data-v-9cdb5284=\"\">critical</span></div><div class=\"findings__row\" data-v-9cdb5284=\"\"><b data-v-9cdb5284=\"\">weak session</b><span class=\"sev sev--h\" data-v-9cdb5284=\"\">high</span></div><div class=\"findings__row\" data-v-9cdb5284=\"\"><b data-v-9cdb5284=\"\">missing rate-limit</b><span class=\"sev sev--m\" data-v-9cdb5284=\"\">medium</span></div></div></div></div></section><div class=\"strip\" data-v-14d62078=\"\"><div class=\"wrap strip__inner\" data-v-14d62078=\"\"><span class=\"strip__label\" data-v-14d62078=\"\">// supports</span><div class=\"strip__viewport\" data-v-14d62078=\"\"><div class=\"strip__track\" data-v-14d62078=\"\"><!--[--><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">GitHub</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">GitLab</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Gitee</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">CNB</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><b data-v-14d62078=\"\">DeepSeek</b></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">OpenAI</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Anthropic</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Qwen</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Google Gemini</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Ollama</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">钉钉</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">飞书</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">企业微信</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">GitHub</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">GitLab</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Gitee</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">CNB</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><b data-v-14d62078=\"\">DeepSeek</b></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">OpenAI</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Anthropic</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Qwen</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Google Gemini</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">Ollama</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">钉钉</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">飞书</span></span><span data-v-14d62078=\"\"><i class=\"glyph\" data-v-14d62078=\"\"></i><span data-v-14d62078=\"\">企业微信</span></span><!--]--></div></div></div></div><section class=\"section\" id=\"how\" data-v-68a07f20=\"\"><div class=\"wrap\" data-v-68a07f20=\"\"><div class=\"section__head\" data-v-68a07f20=\"\"><div data-v-68a07f20=\"\"><span class=\"eyebrow\" data-v-68a07f20=\"\">// protocol</span><h2 class=\"section__title\" data-v-68a07f20=\"\">从 <span class=\"accent\" data-v-68a07f20=\"\">push</span><br data-v-68a07f20=\"\">到 merge，三步落地。</h2></div><p class=\"section__intro\" data-v-68a07f20=\"\">BorderCollie 接管的是「PR / commit / 分支推送 → 安全审查 → 合并门禁」整段流水线。你只需要决定哪些建议要采纳，剩下的——配置、扫描、评论、写回状态、推送通知——它都做。</p></div><div class=\"steps\" data-v-68a07f20=\"\"><div class=\"steps__arrow steps__arrow--1\" aria-hidden=\"true\" data-v-68a07f20=\"\"><svg viewBox=\"0 0 14 14\" data-v-68a07f20=\"\"><path d=\"M2 7 H12 M8 3 L12 7 L8 11\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-v-68a07f20=\"\"></path></svg></div><div class=\"steps__arrow steps__arrow--2\" aria-hidden=\"true\" data-v-68a07f20=\"\"><svg viewBox=\"0 0 14 14\" data-v-68a07f20=\"\"><path d=\"M2 7 H12 M8 3 L12 7 L8 11\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-v-68a07f20=\"\"></path></svg></div><div class=\"step brackets\" data-v-68a07f20=\"\"><div class=\"step__head\" data-v-68a07f20=\"\"><span class=\"step__no\" data-v-68a07f20=\"\"><b data-v-68a07f20=\"\">01</b> / connect</span><span class=\"step__tag\" data-v-68a07f20=\"\">webhook</span></div><h3 class=\"step__title\" data-v-68a07f20=\"\">挂上 repo。</h3><p class=\"step__body\" data-v-68a07f20=\"\">GitHub / GitLab / Gitee / CNB 任意平台。填 token，BorderCollie 自动注册 webhook，~60 秒上岗。</p><div class=\"step__demo\" data-v-68a07f20=\"\"><span class=\"dim\" data-v-68a07f20=\"\">$</span> <span class=\"p\" data-v-68a07f20=\"\">bc</span> repo add <span class=\"ok\" data-v-68a07f20=\"\">acme/web</span><br data-v-68a07f20=\"\"><span class=\"dim\" data-v-68a07f20=\"\">→</span> webhook installed <span class=\"ok\" data-v-68a07f20=\"\">✓</span><br data-v-68a07f20=\"\"><span class=\"dim\" data-v-68a07f20=\"\">→</span> first scan in <span class=\"am\" data-v-68a07f20=\"\">23s</span></div></div><div class=\"step brackets\" data-v-68a07f20=\"\"><div class=\"step__head\" data-v-68a07f20=\"\"><span class=\"step__no\" data-v-68a07f20=\"\"><b data-v-68a07f20=\"\">02</b> / review</span><span class=\"step__tag\" data-v-68a07f20=\"\">ai pipeline</span></div><h3 class=\"step__title\" data-v-68a07f20=\"\">读 diff，给评论。</h3><p class=\"step__body\" data-v-68a07f20=\"\">每一次 push 触发：风险评级 + 密钥扫描 + 依赖许可比对 + AI 评审；产出一份带可点击建议的报告，写回 PR。</p><div class=\"step__demo\" data-v-68a07f20=\"\"><span class=\"dim\" data-v-68a07f20=\"\">PR #847</span> · <span class=\"p\" data-v-68a07f20=\"\">login.ts</span><br data-v-68a07f20=\"\"><span class=\"rd\" data-v-68a07f20=\"\">✕</span> sql injection &nbsp;<span class=\"dim\" data-v-68a07f20=\"\">(line 44)</span><br data-v-68a07f20=\"\"><span class=\"am\" data-v-68a07f20=\"\">!</span> weak session &nbsp;<span class=\"dim\" data-v-68a07f20=\"\">(line 73)</span><br data-v-68a07f20=\"\"><span class=\"ok\" data-v-68a07f20=\"\">✓</span> 12 nits auto-fixed</div></div><div class=\"step brackets\" data-v-68a07f20=\"\"><div class=\"step__head\" data-v-68a07f20=\"\"><span class=\"step__no\" data-v-68a07f20=\"\"><b data-v-68a07f20=\"\">03</b> / gate</span><span class=\"step__tag\" data-v-68a07f20=\"\">merge policy</span></div><h3 class=\"step__title\" data-v-68a07f20=\"\">超阈值 = 不合。</h3><p class=\"step__body\" data-v-68a07f20=\"\">风险等级和你的策略对比，结果写到 commit status；高风险直接拦掉 merge，并把告警广播给钉钉 / 飞书 / 企业微信群。</p><div class=\"step__demo\" data-v-68a07f20=\"\">status: <span class=\"rd\" data-v-68a07f20=\"\">failure</span><br data-v-68a07f20=\"\">policy: <span class=\"dim\" data-v-68a07f20=\"\">block on ≥ high</span><br data-v-68a07f20=\"\">notify: <span class=\"p\" data-v-68a07f20=\"\">#frontend-oncall</span> <span class=\"ok\" data-v-68a07f20=\"\">sent ✓</span></div></div></div></div></section><section class=\"shots\" id=\"screenshots\" data-v-dd91f38f=\"\"><div class=\"wrap\" data-v-dd91f38f=\"\"><span class=\"eyebrow\" data-v-dd91f38f=\"\">// inside the console</span><h2 class=\"shots__h\" data-v-dd91f38f=\"\">不是 <span class=\"accent\" data-v-dd91f38f=\"\">CLI-only</span>——配套的控制台才是日常入口。</h2><p class=\"shots__sub\" data-v-dd91f38f=\"\">BorderCollie 的真正使用场景在浏览器里：仪表盘、审查报告、Agent 编排、风险扫描，所有事情都能在一处闭环。下方截图直接来自 review.woofcloud.com/admin。</p><nav class=\"tabs\" role=\"tablist\" data-v-dd91f38f=\"\"><!--[--><button class=\"active\" role=\"tab\" data-v-dd91f38f=\"\"><span class=\"num\" data-v-dd91f38f=\"\">01</span><span class=\"lbl\" data-v-dd91f38f=\"\">概览仪表盘</span></button><button class=\"\" role=\"tab\" data-v-dd91f38f=\"\"><span class=\"num\" data-v-dd91f38f=\"\">02</span><span class=\"lbl\" data-v-dd91f38f=\"\">审查报告</span></button><button class=\"\" role=\"tab\" data-v-dd91f38f=\"\"><span class=\"num\" data-v-dd91f38f=\"\">03</span><span class=\"lbl\" data-v-dd91f38f=\"\">Agent 编排</span></button><button class=\"\" role=\"tab\" data-v-dd91f38f=\"\"><span class=\"num\" data-v-dd91f38f=\"\">04</span><span class=\"lbl\" data-v-dd91f38f=\"\">项目接入</span></button><button class=\"\" role=\"tab\" data-v-dd91f38f=\"\"><span class=\"num\" data-v-dd91f38f=\"\">05</span><span class=\"lbl\" data-v-dd91f38f=\"\">安全扫描</span></button><!--]--></nav><figure class=\"frame brackets\" style=\"aspect-ratio:16/10\" data-v-dd91f38f=\"\"><img src=\"https://img.snackcloud.cn/woofcloud/bordercollie/dashboard.png\" alt=\"概览仪表盘\" loading=\"lazy\" data-v-dd91f38f=\"\"><figcaption data-v-dd91f38f=\"\">/admin/#/codeReview/dashboard — 风险趋势、近期评审、配额用量一屏看完</figcaption></figure></div></section><section class=\"section\" id=\"features\" style=\"padding-top:0\" data-v-b263da78=\"\"><div class=\"wrap\" data-v-b263da78=\"\"><div class=\"section__head\" data-v-b263da78=\"\"><div data-v-b263da78=\"\"><span class=\"eyebrow\" data-v-b263da78=\"\">// capabilities</span><h2 class=\"section__title\" data-v-b263da78=\"\">不只是 <span class=\"accent\" data-v-b263da78=\"\">linting</span>。一个真的 reviewer。</h2></div><p class=\"section__intro\" data-v-b263da78=\"\">把过去分散在 SonarQube + Snyk + 人工 review 里的事情合到一条流水线，结果直接挂在 PR 上——团队不用换工具，不用学新流程。</p></div><div class=\"features\" data-v-b263da78=\"\"><article class=\"feat feat--span-7\" data-v-b263da78=\"\"><div class=\"feat__head\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><span class=\"ix\" data-v-b263da78=\"\">01</span> / risk-scoring</span><span class=\"kbd\" data-v-b263da78=\"\">policy.yml</span></div><h3 class=\"feat__title\" data-v-b263da78=\"\">每条 PR 都打分，<em data-v-b263da78=\"\">越线即拦</em>。</h3><p class=\"feat__body\" data-v-b263da78=\"\">每条 AI 建议都打一个 severity；汇总折算成 PR 的总体风险等级。管理员只配一条策略「critical / high 不允许合并」，从此 reviewer 不再背锅。</p><div class=\"gauge feat__pad\" data-v-b263da78=\"\"><div class=\"gauge__row\" data-v-b263da78=\"\"><span data-v-b263da78=\"\">low</span><div class=\"gauge__rail\" data-v-b263da78=\"\"><div class=\"gauge__fill\" data-v-b263da78=\"\"></div><div class=\"gauge__needle\" data-v-b263da78=\"\"></div></div><span style=\"text-align:right;color:var(--bad)\" data-v-b263da78=\"\">critical</span></div><div class=\"gauge__legend\" data-v-b263da78=\"\"><span data-v-b263da78=\"\">policy threshold: high</span><span data-v-b263da78=\"\">PR #847 → blocked</span></div></div></article><article class=\"feat feat--span-5\" data-v-b263da78=\"\"><div class=\"feat__head\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><span class=\"ix\" data-v-b263da78=\"\">02</span> / secrets</span><span class=\"kbd\" data-v-b263da78=\"\">pre-merge</span></div><h3 class=\"feat__title\" data-v-b263da78=\"\"><em data-v-b263da78=\"\">密钥</em>留在仓库外。</h3><p class=\"feat__body\" data-v-b263da78=\"\">AWS Key / SSH 私钥 / token / 自定义正则一并扫，命中立即阻断并给出处理建议。</p><div class=\"feat__demo\" data-v-b263da78=\"\"><div data-v-b263da78=\"\"><span class=\"ok\" data-v-b263da78=\"\">✓</span> .env.example</div><div data-v-b263da78=\"\"><span class=\"rd\" data-v-b263da78=\"\">✕</span> src/aws.ts<span class=\"dim\" data-v-b263da78=\"\"> — AKIA…<i data-v-b263da78=\"\">redacted</i></span></div><div data-v-b263da78=\"\"><span class=\"am\" data-v-b263da78=\"\">!</span> docs/README.md <span class=\"dim\" data-v-b263da78=\"\">— possible bearer token</span></div><div data-v-b263da78=\"\"><span class=\"ok\" data-v-b263da78=\"\">✓</span> 142 files clean</div></div></article><article class=\"feat feat--span-4\" data-v-b263da78=\"\"><div class=\"feat__head\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><span class=\"ix\" data-v-b263da78=\"\">03</span> / license</span><span class=\"kbd\" data-v-b263da78=\"\">deps</span></div><h3 class=\"feat__title\" data-v-b263da78=\"\">依赖<em data-v-b263da78=\"\">合规</em>自动核对。</h3><p class=\"feat__body\" data-v-b263da78=\"\">每个新依赖都对照白/黑名单。GPL 泄露到商业产品的事故再不会发生。</p><div class=\"scan\" data-v-b263da78=\"\"><div class=\"h\" data-v-b263da78=\"\">#</div><div class=\"h\" data-v-b263da78=\"\">package</div><div class=\"h\" data-v-b263da78=\"\">license</div><div data-v-b263da78=\"\">1</div><div data-v-b263da78=\"\">lodash@4.17</div><div class=\"ok\" data-v-b263da78=\"\">MIT ✓</div><div data-v-b263da78=\"\">2</div><div data-v-b263da78=\"\">strapi@5.2</div><div class=\"am\" data-v-b263da78=\"\">SSPL ?</div><div data-v-b263da78=\"\">3</div><div data-v-b263da78=\"\">linux-tools</div><div class=\"rd\" data-v-b263da78=\"\">GPL-3.0 ✕</div></div></article><article class=\"feat feat--span-4\" data-v-b263da78=\"\"><div class=\"feat__head\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><span class=\"ix\" data-v-b263da78=\"\">04</span> / agents</span><span class=\"kbd\" data-v-b263da78=\"\">orchestration</span></div><h3 class=\"feat__title\" data-v-b263da78=\"\">多<em data-v-b263da78=\"\">角色</em>协同。</h3><p class=\"feat__body\" data-v-b263da78=\"\">安全 / 性能 / 风格 / SQL 各跑一条 agent，结果合并成一份评审摘要。</p><div class=\"agents\" data-v-b263da78=\"\"><div class=\"agent\" data-v-b263da78=\"\"><div class=\"ix\" data-v-b263da78=\"\">→</div><div class=\"nm\" data-v-b263da78=\"\"><b data-v-b263da78=\"\">security</b> <span class=\"ct\" data-v-b263da78=\"\">/ scan + cve</span></div><div class=\"rd\" data-v-b263da78=\"\">2 findings</div></div><div class=\"agent\" data-v-b263da78=\"\"><div class=\"ix\" data-v-b263da78=\"\">→</div><div class=\"nm\" data-v-b263da78=\"\"><b data-v-b263da78=\"\">perf</b> <span class=\"ct\" data-v-b263da78=\"\">/ big-O hints</span></div><div class=\"am\" data-v-b263da78=\"\">1 hint</div></div><div class=\"agent\" data-v-b263da78=\"\"><div class=\"ix\" data-v-b263da78=\"\">→</div><div class=\"nm\" data-v-b263da78=\"\"><b data-v-b263da78=\"\">style</b> <span class=\"ct\" data-v-b263da78=\"\">/ project rules</span></div><div class=\"ok\" data-v-b263da78=\"\">4 auto-fix</div></div></div></article><article class=\"feat feat--span-4\" data-v-b263da78=\"\"><div class=\"feat__head\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><span class=\"ix\" data-v-b263da78=\"\">05</span> / brain</span><span class=\"kbd\" data-v-b263da78=\"\">multi-llm</span></div><h3 class=\"feat__title\" data-v-b263da78=\"\">你的<em data-v-b263da78=\"\">模型</em>，你来定。</h3><p class=\"feat__body\" data-v-b263da78=\"\">云端 / 自托管模型自由切换，按项目、角色、预算独立配置。</p><div class=\"models\" data-v-b263da78=\"\"><div class=\"model\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><b data-v-b263da78=\"\">deepseek-r1</b> <span class=\"role\" data-v-b263da78=\"\">/ default</span></span><span class=\"badge badge--default\" data-v-b263da78=\"\">primary</span><span class=\"badge badge--off\" data-v-b263da78=\"\">42%</span></div><div class=\"model\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><b data-v-b263da78=\"\">qwen2.5-72b</b> <span class=\"role\" data-v-b263da78=\"\">/ fallback</span></span><span class=\"badge badge--alt\" data-v-b263da78=\"\">backup</span><span class=\"badge badge--off\" data-v-b263da78=\"\">12%</span></div><div class=\"model\" data-v-b263da78=\"\"><span data-v-b263da78=\"\"><b data-v-b263da78=\"\">ollama / local</b> <span class=\"role\" data-v-b263da78=\"\">/ internal</span></span><span class=\"badge badge--off\" data-v-b263da78=\"\">on-prem</span><span class=\"badge badge--off\" data-v-b263da78=\"\">46%</span></div></div></article></div></div></section><section class=\"section\" id=\"cli\" style=\"padding-top:0\" data-v-48ef19fc=\"\"><div class=\"wrap\" data-v-48ef19fc=\"\"><div class=\"section__head\" data-v-48ef19fc=\"\"><div data-v-48ef19fc=\"\"><span class=\"eyebrow\" data-v-48ef19fc=\"\">// developer-first</span><h2 class=\"section__title\" data-v-48ef19fc=\"\">CLI 与 HTTP API。<br data-v-48ef19fc=\"\"><span class=\"accent\" data-v-48ef19fc=\"\">scriptable</span>端到端可脚本化。</h2></div><p class=\"section__intro\" data-v-48ef19fc=\"\">所有 UI 能做的事，bc CLI 都能做。所有 CLI 能做的事，HTTP API 都能做——把 BorderCollie 嵌进你已有的 CI 链路，零摩擦。</p></div><div class=\"cli\" data-v-48ef19fc=\"\"><div class=\"cli__grid\" data-v-48ef19fc=\"\"><div class=\"cli__panel\" data-v-48ef19fc=\"\"><div class=\"cli__lab\" data-v-48ef19fc=\"\">// CLI</div><h3 class=\"cli__h\" data-v-48ef19fc=\"\">在<em data-v-48ef19fc=\"\">本地</em>跑一次评审。</h3><p class=\"cli__sub\" data-v-48ef19fc=\"\">不用等 PR，先在本地把差异审一遍，避免被打回。</p><div class=\"term\" data-v-48ef19fc=\"\"><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\">$</span> <span class=\"c\" data-v-48ef19fc=\"\">brew install bordercollie/tap/bc</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\">$</span> <span class=\"c\" data-v-48ef19fc=\"\">bc login</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"cm\" data-v-48ef19fc=\"\"># review current branch vs main</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\">$</span> <span class=\"c\" data-v-48ef19fc=\"\">bc review --base main --model deepseek-r1</span></span><br data-v-48ef19fc=\"\"><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"cm\" data-v-48ef19fc=\"\">› scanning 12 files, 487 lines…</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"ok\" data-v-48ef19fc=\"\">✓</span> <span class=\"c\" data-v-48ef19fc=\"\">passed</span> <span class=\"cm\" data-v-48ef19fc=\"\">— 0 critical, 1 high, 4 nits</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"am\" data-v-48ef19fc=\"\">!</span> <span class=\"c\" data-v-48ef19fc=\"\">login.ts:73</span> <span class=\"cm\" data-v-48ef19fc=\"\">— session id not rotated on auth</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"ok\" data-v-48ef19fc=\"\">✓</span> <span class=\"c\" data-v-48ef19fc=\"\">apply patch?</span> <span class=\"cm\" data-v-48ef19fc=\"\">[Y/n]</span> <span class=\"p\" data-v-48ef19fc=\"\">_</span></span></div></div><div class=\"cli__panel\" data-v-48ef19fc=\"\"><div class=\"cli__lab\" data-v-48ef19fc=\"\">// HTTP API</div><h3 class=\"cli__h\" data-v-48ef19fc=\"\">在<em data-v-48ef19fc=\"\">CI</em>里调用。</h3><p class=\"cli__sub\" data-v-48ef19fc=\"\">所有功能都暴露成 REST + webhook。带 OpenAPI schema 和官方 TS / Go / Python SDK。</p><div class=\"term\" data-v-48ef19fc=\"\"><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\">$</span> <span class=\"c\" data-v-48ef19fc=\"\">curl -X POST https://api.bordercollie.com/v1/review \\</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\"></span> <span class=\"c\" data-v-48ef19fc=\"\">-H <span class=\"str\" data-v-48ef19fc=\"\">\"Authorization: Bearer $BC_TOKEN\"</span> \\</span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\"></span> <span class=\"c\" data-v-48ef19fc=\"\">-d <span class=\"str\" data-v-48ef19fc=\"\">'{</span></span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\"></span> <span class=\"c\" data-v-48ef19fc=\"\"><span class=\"str\" data-v-48ef19fc=\"\">\"repo\": \"acme/web\",</span></span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\"></span> <span class=\"c\" data-v-48ef19fc=\"\"><span class=\"str\" data-v-48ef19fc=\"\">\"diff_url\": \"…\",</span></span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\"></span> <span class=\"c\" data-v-48ef19fc=\"\"><span class=\"str\" data-v-48ef19fc=\"\">\"profile\": \"strict\"</span></span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"p\" data-v-48ef19fc=\"\"></span> <span class=\"c\" data-v-48ef19fc=\"\"><span class=\"str\" data-v-48ef19fc=\"\">}'</span></span></span><br data-v-48ef19fc=\"\"><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"cm\" data-v-48ef19fc=\"\">› HTTP/1.1 <span class=\"ok\" data-v-48ef19fc=\"\">200</span></span></span><span class=\"row\" data-v-48ef19fc=\"\"><span class=\"c\" data-v-48ef19fc=\"\">{ <span class=\"cm\" data-v-48ef19fc=\"\">\"id\": <span class=\"str\" data-v-48ef19fc=\"\">\"rev_8x4f\"</span>, \"risk\": <span class=\"rd\" data-v-48ef19fc=\"\">\"critical\"</span>, \"findings\": <span class=\"num\" data-v-48ef19fc=\"\">3</span></span> }</span></span></div></div></div></div></div></section><section class=\"section\" id=\"integrations\" style=\"padding-top:0\" data-v-00b1f7db=\"\"><div class=\"wrap\" data-v-00b1f7db=\"\"><div class=\"section__head\" data-v-00b1f7db=\"\"><div data-v-00b1f7db=\"\"><span class=\"eyebrow\" data-v-00b1f7db=\"\">// platforms</span><h2 class=\"section__title\" data-v-00b1f7db=\"\">在<span class=\"accent\" data-v-00b1f7db=\"\">你已经用的</span>仓库平台里跑。</h2></div><p class=\"section__intro\" data-v-00b1f7db=\"\">不需要迁仓库。不需要换流水线。BorderCollie 原生支持所有主流 Git 平台的 webhook + REST API；AI 部分通过统一适配层接 8 家 LLM provider，云端和私有部署都行。</p></div><div class=\"ints\" data-v-00b1f7db=\"\"><!--[--><div class=\"int\" data-v-00b1f7db=\"\"><div class=\"int__mark\" data-v-00b1f7db=\"\">G</div><div class=\"int__name\" data-v-00b1f7db=\"\">GitHub</div><div class=\"int__hint\" data-v-00b1f7db=\"\">cloud · enterprise · pat / app</div><div class=\"int__status\" data-v-00b1f7db=\"\">live</div></div><div class=\"int\" data-v-00b1f7db=\"\"><div class=\"int__mark\" data-v-00b1f7db=\"\">L</div><div class=\"int__name\" data-v-00b1f7db=\"\">GitLab</div><div class=\"int__hint\" data-v-00b1f7db=\"\">cloud · self-managed</div><div class=\"int__status\" data-v-00b1f7db=\"\">live</div></div><div class=\"int\" data-v-00b1f7db=\"\"><div class=\"int__mark\" data-v-00b1f7db=\"\">e</div><div class=\"int__name\" data-v-00b1f7db=\"\">Gitee</div><div class=\"int__hint\" data-v-00b1f7db=\"\">cloud · enterprise</div><div class=\"int__status\" data-v-00b1f7db=\"\">live</div></div><div class=\"int\" data-v-00b1f7db=\"\"><div class=\"int__mark\" data-v-00b1f7db=\"\">C</div><div class=\"int__name\" data-v-00b1f7db=\"\">CNB</div><div class=\"int__hint\" data-v-00b1f7db=\"\">cloud · 国内私域</div><div class=\"int__status\" data-v-00b1f7db=\"\">live</div></div><!--]--></div></div></section><section class=\"cta\" id=\"register-cta\" data-v-e0a75783=\"\"><div class=\"wrap cta__inner\" data-v-e0a75783=\"\"><span class=\"eyebrow\" data-v-e0a75783=\"\">// start the trial</span><h2 class=\"cta__h\" data-v-e0a75783=\"\">给你的 repo<span class=\"accent\" data-v-e0a75783=\"\">配一只 collie</span>。</h2><p class=\"cta__sub\" style=\"white-space:pre-line\" data-v-e0a75783=\"\">个人账号永久免费 · 团队 14 天试用 · 无需信用卡。 从注册到第一份评审报告，平均用时 3 分钟。</p><div class=\"cta__ctas\" data-v-e0a75783=\"\"><a href=\"/register\" class=\"btn btn--primary\" data-v-e0a75783=\"\"><span class=\"prompt\" data-v-e0a75783=\"\">$</span> create free account <span class=\"arrow\" data-v-e0a75783=\"\">→</span></a><a href=\"/contact\" class=\"btn\" data-v-e0a75783=\"\"><span class=\"prompt\" data-v-e0a75783=\"\">→</span> talk to sales</a></div><div class=\"cta__terminal\" data-v-e0a75783=\"\"><span class=\"cm\" data-v-e0a75783=\"\"># or, just one line in your CI</span><br data-v-e0a75783=\"\"><span class=\"p\" data-v-e0a75783=\"\">$</span> npx bordercollie review --token $BC_TOKEN</div></div></section><!--]--><!--]--></main><footer class=\"foot\" data-v-d7b17696=\"\"><div class=\"wrap\" data-v-d7b17696=\"\"><div class=\"foot__grid\" data-v-d7b17696=\"\"><div data-v-d7b17696=\"\"><a aria-current=\"page\" href=\"/\" class=\"router-link-active router-link-exact-active logo\" data-v-d7b17696=\"\"><span class=\"bc-logo\" style=\"width:28px;height:28px\" aria-hidden=\"true\" data-v-d7b17696=\"\" data-v-ca8e747a=\"\"><svg viewBox=\"0 0 64 64\" xmlns=\"http://www.w3.org/2000/svg\" data-v-ca8e747a=\"\"><defs data-v-ca8e747a=\"\"><linearGradient id=\"bcLogoBg\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\" data-v-ca8e747a=\"\"><stop offset=\"0%\" stop-color=\"#3D6FFF\" data-v-ca8e747a=\"\"></stop><stop offset=\"100%\" stop-color=\"#1F44C2\" data-v-ca8e747a=\"\"></stop></linearGradient></defs><rect width=\"64\" height=\"64\" rx=\"14\" fill=\"url(#bcLogoBg)\" data-v-ca8e747a=\"\"></rect><circle cx=\"22\" cy=\"24\" r=\"5.2\" fill=\"#FFFFFF\" data-v-ca8e747a=\"\"></circle><circle cx=\"42\" cy=\"24\" r=\"5.2\" fill=\"#FFFFFF\" data-v-ca8e747a=\"\"></circle><path d=\"M16 36 L32 50 L48 36\" stroke=\"#FFFFFF\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\" data-v-ca8e747a=\"\"></path></svg></span><span data-v-d7b17696=\"\">BorderCollie</span></a><p class=\"foot__about\" data-v-d7b17696=\"\">一只 24/7 在线的 AI 代码评审员，为每小时都在发布的团队而造。基于 Rust。</p><span class=\"pill\" data-v-d7b17696=\"\"><span class=\"dot\" data-v-d7b17696=\"\"></span> all systems operational</span></div><div data-v-d7b17696=\"\"><h4 data-v-d7b17696=\"\">// product</h4><ul data-v-d7b17696=\"\"><li data-v-d7b17696=\"\"><a href=\"/features\" class=\"\" data-v-d7b17696=\"\">特性</a></li><li data-v-d7b17696=\"\"><a aria-current=\"page\" href=\"/#how\" class=\"router-link-active router-link-exact-active\" data-v-d7b17696=\"\">工作流</a></li><li data-v-d7b17696=\"\"><a aria-current=\"page\" href=\"/#cli\" class=\"router-link-active router-link-exact-active\" data-v-d7b17696=\"\">CLI 与 API</a></li><li data-v-d7b17696=\"\"><a aria-current=\"page\" href=\"/#integrations\" class=\"router-link-active router-link-exact-active\" data-v-d7b17696=\"\">集成</a></li><li data-v-d7b17696=\"\"><a href=\"/pricing\" class=\"\" data-v-d7b17696=\"\">定价</a></li><li data-v-d7b17696=\"\"><a href=\"/changelog\" class=\"\" data-v-d7b17696=\"\">更新日志</a></li></ul></div><div data-v-d7b17696=\"\"><h4 data-v-d7b17696=\"\">// resources</h4><ul data-v-d7b17696=\"\"><li data-v-d7b17696=\"\"><a href=\"/news\" class=\"\" data-v-d7b17696=\"\">公告</a></li><li data-v-d7b17696=\"\"><a href=\"/docs\" class=\"\" data-v-d7b17696=\"\">文档</a></li><li data-v-d7b17696=\"\"><a href=\"/api-reference\" class=\"\" data-v-d7b17696=\"\">API 参考</a></li><li data-v-d7b17696=\"\"><a href=\"/status\" class=\"\" data-v-d7b17696=\"\">系统状态</a></li></ul></div><div data-v-d7b17696=\"\"><h4 data-v-d7b17696=\"\">// company</h4><ul data-v-d7b17696=\"\"><li data-v-d7b17696=\"\"><a href=\"/contact\" class=\"\" data-v-d7b17696=\"\">联系我们</a></li><li data-v-d7b17696=\"\"><a href=\"/legal/privacy\" class=\"\" data-v-d7b17696=\"\">隐私政策</a></li><li data-v-d7b17696=\"\"><a href=\"/legal/terms\" class=\"\" data-v-d7b17696=\"\">服务条款</a></li></ul></div></div><div class=\"foot__base\" data-v-d7b17696=\"\"><span data-v-d7b17696=\"\">© 2026 BorderCollie · 为认真写代码的工程师准备</span><span class=\"status\" data-v-d7b17696=\"\">/api</span></div></div></footer><!--]--></div></body></html>","trace_id":"19e4a797943xdrtep9s"}