跳到主内容
简牍jiandu
阅读模式

安装 CLI 并登录

官方入门教程masonv1
查看历史版本
目录

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@latestjdu login 必须带 --server 指明站点。

旧版的 jdu init0.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

跑起来之后:

  1. 终端起一个本机回调端口并打开浏览器(没自动打开就复制终端里「在浏览器中完成授权」后面的地址)
  2. 还没登录的先用 passkey 登录,会自动回到授权页;点「授权」
  3. 回到终端,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_SERVERJIANDU_TOKEN;不要在日志里打印 token。


教程目录:使用简牍 · 下一篇:怎么写一篇文档