add 命令

把站点注册到远程 docdoc 服务器。

语法

docdoc add (--remote docdoc://host:port | --config <path>) <src> --name <name> [--domain <domain>] [--ref <ref>] [--docs <names>] [--token <token>]

参数

参数 说明 必填 缺省
--remote <remote> 远程地址,形如 docdoc://docs.example.com:10001 与 --config 二选一 —
--config <path> 本地服务配置文件路径,端点与服务 token 从配置解析;TLS 模式走管理端口(managementPort,缺省 tls.httpPort),非 TLS 走 service.port 与 --remote 二选一 —
<src> 本地目录或 git 仓库地址 是 —
--name <name> 站点名,须匹配 ^[a-z][a-z0-9-]*$,全局唯一;缺省读本地源 docdoc.json 的 name 本地源可缺省,git 源必填 清单声明值
--domain <domain> 绑定域名,绑定后该域名请求直接落在此站点;缺省读本地源 docdoc.json 的 domain 否 仅路径前缀访问
--ref <ref> git 分支或标签(仅 git 源有效) 否 默认分支
--path <dir> 站点源在仓库内的子目录(仅 git 源有效,docdoc.json 所在目录;相对路径,不允许 ..) 否 仓库根目录
--docs <names> 仅部署的子文档,逗号分隔,取值为源 docdoc.json 中 docs 数组各条目的 name;本地源在本地构建时筛选,git 源作为 docs 字段提交给服务器端构建 否 全部子文档
--token <token> 认证令牌(脚本场景非交互传入) 否 读取缓存,缓存无则交互询问

行为说明

  • 本地源:CLI 在本地完成构建,把产物打包上传到服务器;终端先打印 本地源:构建产物…。站点名/域名的取值顺序为「命令行参数 → 源目录 docdoc.json 的 name / domain」,命令行参数优先,可在发布时同步覆盖清单声明
  • git 源:CLI 把仓库地址提交给服务器,由服务器克隆并构建
  • --docs 筛选不影响站点名与域名;被筛掉的子文档不出现在站内 Tab 栏、导航与搜索中,站点落地页落在筛选结果的首个文档;名单中出现 docdoc.json 未声明的子文档名时报错终止
  • --path 用于站点源在仓库子目录的场景(服务器克隆后进入该目录构建);仓库内不存在该子目录时报错;本地目录源使用 --path 报错——直接把该目录作为 <src> 传入即可
  • --config 与 --remote 互斥,同时指定报错;管理 token 直接取配置中的 service.token,无需 --token(显式 --token 优先级更高)
  • 首次接入某台服务器时若返回 401,CLI 会提示输入令牌并缓存,之后复用
  • 同名站点已注册时返回 409「站点名已存在」

输出示例

注册成功:docs,57 页,构建于 2026-09-24T12:15:27.686Z

成功后站点立即可访问:绑定了域名用 http(s)://<域名>/,否则用 http(s)://host:port/<站点名>/。