@civitai/cybertipline-tools

中文文档
0.1.0发布于 2025/09/09MITTypeScriptESM + CJS近 30 天下载 1.2万

与CyberTipline API合作的非官方类型和公用事业

中文使用文档
文档目录8 节
  1. 安装
  2. 快速启动
  3. 所需资源
  4. 特征
  5. 处理错误
  6. 发展状况
  7. 许可证
  8. 资源

网络Tipline工具

A 类 非正式 收集与失踪和被剥削儿童国家中心互动的工具 CyberTipline 报告 API。 。 。 .

安装

# Using pnpm
pnpm add cybertipline-tools

# Using npm
npm install cybertipline-tools

# Using yarn
yarn add cybertipline-tools

快速启动

import { Client, Environment, IncidentType } from 'cybertipline-tools';

// Create a new client
const client = new Client({
  environment: Environment.Testing, // Use Testing for development
  credentials: {
    username: 'your-username',
    password: 'your-password',
  },
});

// Test your connection
const status = await client.getStatus();
console.log('Connected:', status.data.responseDescription);

// Submit a report
const report = await client.submitReport({
  incidentSummary: {
    incidentType: IncidentType.ChildSexTourism,
    // ... other required fields
  },
  reporter: {
    reportingPerson: {
      email: '[email protected]',
      // ... other required fields
    },
  },
});
console.log('Report ID:', report.data.reportId);

// Upload a file
const fileUpload = await client.uploadFile({
  id: report.data.reportId,
  file: new File(['...'], 'evidence.jpg'),
});
console.log('File ID:', fileUpload.data.fileId);

// Add file details
await client.submitFileDetails({
  reportId: Number(report.data.reportId),
  fileId: fileUpload.data.fileId,
  fileName: 'evidence.jpg',
  // ... other optional fields
});

// Mark report as complete
await client.finishReport({
  id: report.data.reportId,
});

所需资源

  • 节点.js 22.x 或后期(类型定义为TypeScript 5.x)
    • 旧版本可能可行,但未经官方核实.
  • 无害环境管理模块支持
    • CommunityJS被导出,但没有正式测试. 我们欢迎为改善这种情况而作的贡献.

特征

✨ 类型安全

  • 包含详细类型定义的完整类型脚本支持
  • 包含 JSDoc 注释的内置文档
    • 允许所有 API 的 IDE 自动补全

🐛 处理错误

  • 请求提取所有操作的ID
  • 处理详细信件出错

🛠️ API 支持

  • GET /status - 测试API连接

  • POST /submit - 提交新报告

  • POST /upload - 上传证据文件

  • POST /fileinfo - 添加文件元数据

  • POST /finish - 完整报告

  • POST /retract - 取消报告

  • 你提供JSON,我们把它转换成XML和回,所以不需要担心XML!

处理错误

客户端包括内置错误处理 :

try {
  await client.getStatus();
} catch (error) {
  // All API errors include the Request-ID for troubleshooting
  console.error('API Error:', error.message);
  // Example: "Authentication failed (Request-ID: abc-123)"
}

发展状况

🚧 待办

  • Schema 验证(佐德?)
  • 实例和演示
  • 文件改进
  • 业绩优化
  • 稳定开发者的经验

🔮 未来可能的计划

  • E2E 针对运行的CyberTipline测试环境的测试
  • 批次报告支持
  • XSD 计划到 TypeScript 生成

许可证

麻省理工学院的执照 - 看 自由主义 详细文件.

资源

版本与发布记录

@civitai/cybertipline-tools 共发布 1 个版本,首次发布于 2025/09/09;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.1.0latest2025/09/091.2 年前

关于 @civitai/cybertipline-tools 的常见问题

@civitai/cybertipline-tools 是什么?

与CyberTipline API合作的非官方类型和公用事业

如何安装 @civitai/cybertipline-tools?

在项目目录运行 npm install @civitai/cybertipline-tools,或使用 pnpm add / yarn add / bun add。

@civitai/cybertipline-tools 支持 TypeScript 吗?

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

@civitai/cybertipline-tools 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@civitai/cybertipline-tools 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.18.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@civitai/cybertipline-tools 可以商用吗?

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

@civitai/cybertipline-tools 的下载量有多少?

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

@civitai/cybertipline-tools 还在维护吗?

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