# dsh-namecheck [中文](README.zh.md) | [English](README.md) dsh(DeepSeek Harness)插件,用于对候选软件/品牌名称执行可用性查重。插件向 dsh 注册 `check_name_availability` 工具,模型在对话中识别到取名/验证意图后自动调用,一次性返回域名注册状态与商标近似检索结果。 ## 特性 - **域名查重**:基于 Verisign / RDAP 注册局权威数据,免费、无需 API Key;默认检查 `.com`,可通过参数指定其他后缀 - **商标查重**:支持两种数据源 - 三方商标检索 API(付费/开放平台),返回精确匹配结果 - 未配置 API 时,使用 Bing 启发式网络搜索进行初筛(仅作提示,不构成商标审查结论,需人工复核) - **零第三方运行时依赖**:仅使用 Node.js 原生 `fetch`,核心逻辑可独立测试 ## 工作原理 工具执行两步检查: 1. **域名**:向 RDAP 查询 `.` 的注册状态。`404` 表示未注册(可注册),`200` 表示已注册,并附带注册人、注册/到期时间等元数据。 2. **商标**:若配置了三方商标 API,则调用接口返回精确检索结果;否则执行启发式网络搜索,给出疑似同名品牌的初筛提示。 ## 安装 通过 GitHub 安装: ```bash dsh plugin --profile web add github:HULILI-com/dsh-namecheck ``` 通过 npm 安装(发布后可用): ```bash dsh plugin --profile web add dsh-namecheck ``` 本地调试(link 方式): ```bash dsh plugin --profile web add link:/path/to/dsh-namecheck ``` 安装完成后重启 dsh(`dsh --profile web`),并在浏览器中硬刷新页面。 ## 使用 在 dsh 对话中提出查重请求,例如: > 请检查以下候选名称是否可用:acme、demo、novalink,并分别给出 .com 域名状态与商标初筛结果。 模型将调用 `check_name_availability` 工具,返回结构化结果:每个候选名的域名状态逐条列出、商标检索/初筛结果、以及汇总结论。 工具参数: | 参数 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `name` | string | 是 | 候选英文名/拼音 | | `chineseName` | string | 否 | 候选中文名,用于商标筛查 | | `tlds` | string[] | 否 | 要查询的域名后缀,默认 `["com"]` | ## 配置 在 profile 的用户配置层(`cordis.patch.yml`)中覆盖插件配置: ```yaml - insert: - id: dsh-namecheck name: 'dsh-namecheck' config: trademarkApiUrl: https://api.example-trademark.com trademarkApiKey: '' ``` | 配置项 | 说明 | 默认值 | | --- | --- | --- | | `trademarkApiUrl` | 三方商标检索 API 基础地址 | 空 | | `trademarkApiKey` | 三方商标 API 的 Bearer Token | 空 | 三方商标 API 请求约定(可在 `lib/checks.js` 中按实际服务商文档调整): ``` GET {trademarkApiUrl}/search?keyword=<名称>&type=all Authorization: Bearer ``` 响应约定: ```json { "hits": [ { "name": "acme", "class": 9, "status": "已注册", "applicant": "示例公司" } ] } ``` ## 项目结构 ``` dsh-namecheck/ ├── package.json # 包声明;dsh.bundle.patch 指向 cordis.patch.yml ├── cordis.patch.yml # 将插件挂载进 profile 配置树 ├── index.js # 插件入口:export name + apply(ctx, config),注册工具 ├── lib/checks.js # 核心逻辑(RDAP 域名查重 + 商标筛查),零依赖 ├── test-check.js # 独立测试脚本,无需 dsh/pnpm 环境 ├── README.md # 英文文档(默认) ├── README.zh.md # 中文文档 └── LICENSE ``` ## 本地测试 不启动 dsh 亦可验证核心逻辑: ```bash node test-check.js example demo ``` ## 已知限制 - **域名**:结果以 RDAP 注册局数据为准;已注册但处于停放、在售溢价状态的域名同样返回「已注册」。 - **商标**:国内商标局及公开查询站点均未提供免费开放 API,因此未配置三方 API 时仅返回启发式初筛结果,**不能替代商标审查**。正式使用前应通过三方付费数据源或官方渠道人工复核。 - **版本**:dsh 处于 developer preview 阶段,插件 API 可能随版本变化;升级 dsh 后若插件失效,可通过 `dsh --profile web --dump-config` 检查插件树。 ## License MIT