把 jdu 装到本机,并连上简牍站点。做完就可以 jdu push。
安装
需要 Node.js 22 或更高(node -v 看版本)。
npm i -g @monoedge/jdu-cli
jdu --version
需要 0.4.0 或更高。已经装过旧版的执行 npm i -g @monoedge/jdu-cli@latest。jdu login 必须带 --server 指明站点。
旧版的
jdu init自0.4.0起已删除(不留 alias)。老脚本里的jdu init …直接换成jdu login …,参数不变。
更省事的做法是不装全局命令,下面一律用 npx @monoedge/jdu-cli(会拿到最新版)。装过全局的,把开头换成 jdu 即可,参数相同。
登录本站
本站是 password 鉴权:浏览器端用 passkey,CLI 端用 token。token 不用手抄——jdu login 会打开浏览器,你在 passkey 会话里点一次「授权」,server 签一枚新 token 直接写进本机配置:
npx @monoedge/jdu-cli login --server https://docs.mszhou.com
跑起来之后:
- 终端起一个本机回调端口并打开浏览器(没自动打开就复制终端里「在浏览器中完成授权」后面的地址)
- 还没登录的先用 passkey 登录,会自动回到授权页;点「授权」
- 回到终端,stdout 打印配置文件路径(一般是
~/.config/jiandu/config.json)并提示「凭据就绪」
登录一次即可。之后 push / list 都读这份配置。换机器再跑一次上面那条 jdu login,每台机器一枚独立 token;jdu token list 或站内的 CLI token 页 能看到,jdu token rm <id> 与页面上的「撤销」都能吊销。
配置放哪
文件是 ~/.config/jiandu/config.json(若设了 XDG_CONFIG_HOME,则在那下面的 jiandu/config.json)。权限 600。
环境变量会盖过文件,适合 CI 或临时切站点:
| 变量 | 作用 |
|---|---|
JIANDU_SERVER | 站点根地址,不要尾斜杠 |
JIANDU_TOKEN | 访问 token(CI 或临时切站点,不落文件) |
JIANDU_SERVER=https://docs.mszhou.com jdu list
确认登录成功
npx @monoedge/jdu-cli list
npx @monoedge/jdu-cli widget list
list 打出你的文档表(还没有就是空表头)。报「未配置 jiandu server 地址」或 401,把上面那条 jdu login --server … 再跑一遍。
让 agent 自己接
上面几步也可以不自己敲。把下面这段整块粘给 Claude Code / codex / dsh,它会自己走完安装、登录、接 MCP,并回报每步结果:
把这台机器接到我的简牍站点:https://docs.mszhou.com
按顺序做,某一步失败就停下来告诉我原因,不要跳过也不要猜替代命令:
1. 装 CLI:先 `jdu --version`,装过且不低于 0.4.0 就跳过,否则 `npm i -g @monoedge/jdu-cli`。需要 Node 22+
2. 登录:`jdu login --server https://docs.mszhou.com`。它会起一个本机回调端口并打开浏览器等我点「授权」——
你启动之后就告诉我,我点完你再继续。这台机器没有浏览器(CI、SSH 远端)就改用
`jdu login --server https://docs.mszhou.com --token <我给你的 token>`
3. 接 MCP:`claude mcp add jiandu -- jdu mcp`。codex / dsh 换成它们各自的 stdio server 配置写法,命令都是 `jdu mcp`
4. 验证:重连 MCP 后调一次 list_docs,把文档数报给我;再调一次 get_syntax 并记住这个站点的写作语法
5. 之后我说「发到简牍」就用 push_doc(可以直接传正文,也可以传本机 .md 路径)。写含图表或组件的文档前先 get_syntax,
要某个组件的完整入参就 get_syntax widget=<名字>,别凭印象拼 fence;push_doc 响应里的 lint 非空就按提示改稿再发一次
6. 写同类文档前先 list_templates 看有没有现成模板;站上已有几篇同类文章时,可以用 distill 模板反推出一份新模板
第 2 步需要你在浏览器里点一次授权,agent 替不了——它会停下来等你。把站点地址换成你实际用的那个即可;接好之后 agent 能读、能发、能改可见性、能回评论,具体见 jdu 命令速查。
常见问题
浏览器没有自动打开
: 复制终端里「在浏览器中完成授权」后面的地址手动打开。3 分钟内没点授权会报「等待浏览器授权超时」,重跑 jdu login --server <url> 即可。
授权页让我先登录 : 用 passkey 登录后会自动回到授权页,再点「授权」。
SSH 到远端机器上登录
: 浏览器在另一台设备,loopback 回跳回不来。用 jdu login --server <url> --token <token>;device code 模式见 #67。
--token 的 token 从哪来
: 向站点管理员申领。不要写进仓库、issue 或日志。
同时用好几台简牍
: jdu login --server <url> --alias <别名> 各存一格,互不覆盖。jdu site list 看清单、jdu site use <别名> 切默认目标、
单条命令加 --site <别名> 只管这一次(见 jdu 命令速查的「多站点」一节)。临时切一次也可以用下面的环境变量。
CI 里怎么登录
: 不跑 jdu login,直接设 JIANDU_SERVER 和 JIANDU_TOKEN;不要在日志里打印 token。