@doubleagent-so/agent-detector

中文文档
0.4.1发布于 2026/10/06MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 3.4万

双代理检测引擎:将浏览器会话分类为人,bot或AI代理,完全为客户端.

中文使用文档
文档目录6 节
  1. 安装
  2. 快开始
  3. 如何运作
  4. 试试看
  5. 捐款
  6. 支助

Double Agent

特工探测器

@doubleagent-so/agent-detector

将浏览器会话分类为人,bot或AI代理,完全在页面内.

网站 • 妇女 文档 • 妇女 无 • 妇女 更改日志 • 妇女 报告问题 • 妇女 麻省理工学院许可证

npm CI License: MIT Types Dependencies Size Catalog

后面的探测引擎 双面代理。它将浏览器会话分类为 人类, (中文(简体) ), 机器人 或者说 AI 代理人 (Claude in Chrome, ChatGPT Atlas, 彗星, 浏览器使用, Playwright, 无头 Chrome...) 完全 在页面中。 没有依赖性,没有网络请求: 您决定如何处理判决.

文档 • 妇女 开始 • 妇女 如何运作 • 妇女 API 密码 • 妇女 扩展 • 妇女 信号 • 妇女 目录 • 妇女 捐款

需要原始引擎时直接使用. 对于一个有分析与广告集成和插件的即用脚本, 使用情况 @doubleagent-so/js。 。 。 .

安装

npm install @doubleagent-so/agent-detector

快开始

import { createEngine } from '@doubleagent-so/agent-detector';

const engine = createEngine(window, {
  profile: 'ecommerce',                 // optional; detected from the page when omitted
  onVerdict: (v) => console.log(v.class, v.probability),
});

const v = await engine.ready;           // after the async probes (WebGL, workers, client hints)
v.class;           // 'human' | 'bot' | 'agent'
v.probability;     // { human: 0.03, bot: 0.05, agent: 0.92 }
v.agent;           // { family: 'claude', id: 'anthropic.claude-in-chrome', verified: false, method: 'marker.claude_active' }
v.recommendation;  // 'allow' | 'tag' | 'challenge' | 'step_up' | 'rate_limit' | 'deny'
v.reasons;         // [{ code: 'marker.claude_active', weight: 6.2 }, …]

engine.score('checkout');   // re-score for a specific action
engine.stop();              // remove listeners and timers

引擎持续观察输入(指针,密钥,卷轴,计时)并每2 s重分. onVerdict 只有在 类别、推荐、代理、舞台或概率波段变化.

服务器侧助手没有 DOM 操作 :

import { matchUserAgent, CATALOG } from '@doubleagent-so/agent-detector';

matchUserAgent('Mozilla/5.0 … ChatGPT-User/1.0; +https://openai.com/bot')?.entry.id; // 'openai.chatgpt-user'

如何运作

探测和输入事件 信号,在封顶中,每个记录相比 组。 。 。 . 组合 加入他们 每张相片的前科和软马克思 超过人类,机器人和代理。 A 类 政策 将结果和动作映射到 a 建议。 每一个重量都生活在一个版本的物体中, DEFAULT_SIGNATURES细节 : 如何运作。 。 。 .

engine.payload() 是一个压缩 JSON 摘要,您可以发送到自己的后端。 以证据重新计分 客户端不能伪造 : 实例/服务器.ts。 。 。 .

试试看

git clone https://github.com/doubleagent-so/agent-detector && cd agent-detector && npm ci
npm run example     # live verdict at http://127.0.0.1:8123 — try a real browser, a headless one and an agent
npm run bench       # confusion matrix on labelled synthetic sessions

捐款

发现更多眼睛会更好 开始的好地方:

  • 报告误读会话:一个真正的被标记为自动化的浏览器,或者一个作为人经过的代理. 打开错误的分类。 。 。 .
  • 添加代理或机器人 及其操作员的文档. 请求一 或者说 自己加进去。 。 。 .
  • 更难测试. 合成的痕迹 test/traces.ts 今天很容易,现实的 npm run bench 有意义的.
  • 标有标签的问题 不错的第一期 财务报告和审定财务报表 需要帮助。 。 。 .

读取 捐款额 一:先是测试,假阳性是最差的bug,重量需要证据. 私下举报(警卫),不是在公共问题上.


支助

维护者 双面代理 • 妇女 捐款 • 妇女 行为守则 • 妇女 警卫 • 妇女 麻省理工学院许可证

版本与发布记录

@doubleagent-so/agent-detector 共发布 3 个版本,首次发布于 2026/10/02;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.1latest2026/10/061 个月前
0.4.02026/10/041 个月前
0.3.02026/10/021 个月前

关于 @doubleagent-so/agent-detector 的常见问题

@doubleagent-so/agent-detector 是什么?

双代理检测引擎:将浏览器会话分类为人,bot或AI代理,完全为客户端.

如何安装 @doubleagent-so/agent-detector?

在项目目录运行 npm install @doubleagent-so/agent-detector,或使用 pnpm add / yarn add / bun add。

@doubleagent-so/agent-detector 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@doubleagent-so/agent-detector 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@doubleagent-so/agent-detector 可以商用吗?

@doubleagent-so/agent-detector 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@doubleagent-so/agent-detector 的下载量有多少?

根据 npm 官方下载统计,@doubleagent-so/agent-detector 在 2026/10/13 – 2026/11/11 这 30 天内被下载 33,683 次,日均约 1,123 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@doubleagent-so/agent-detector 还在维护吗?

最新版本 0.4.1 发布于 2026/10/06(1 个月前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/10/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。