# @the-librarian/cli 中文文档

规范地址：https://npmcn.com/package/%40the-librarian/cli/

版本：1\.38\.0
npm 元数据更新时间：2026-11-02T16:07:43.431Z
中文译文更新时间：2026-11-02T16:20:36.957Z
软件包许可：Apache-2\.0

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40the-librarian/cli
原文对照：https://npmcn.com/package/%40the-librarian/cli/?lang=original
项目主页：https://github.com/code-ministry-ltd/the-librarian/tree/main/packages/installer-cli
源码仓库：https://github.com/code-ministry-ltd/the-librarian

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：714 kB，178 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-06-13T19:49:45.530Z
- 最新版本发布：2026-11-02T16:07:42.919Z
- 已发布版本数：101（近 12 个月 101 个）

## 中文简介

Librarian CLI: 自行托管服务器并将其安装到您的AI编码代理 (Claude Code、Codex、OpenCode、Hermes、Pi) 中。

## 安装

```sh
npm install @the-librarian/cli
```

也可以使用：`pnpm add @the-librarian/cli`、`yarn add @the-librarian/cli`、`bun add @the-librarian/cli`

## README

# `@the-librarian/cli` - - - `librarian` 安装程序

一个小的CLI，为 [图书馆员](https://github.com/code-ministry-ltd/the-librarian): it **把它连接到 你的人工智能代理** （为所有线束安装/更新该集成） 你的机器)和 **自托管服务器** 他们交谈 (`server up` / `update`）. 可以把它看作是library设置的包管理器：一个工具 你继续，驾驶每个安全带 **本地的** 安装路径，而不是手工编辑 五种配置格式。

利用它管理： **Claude代码，Codex，OpenCode，Hermes，Pi.** 为 服务器端，参见 [自行托管服务器](https://npmcn.com/package/%40the-librarian/cli/#readme-self-host-the-server).

## 安装

直接从npm中运行 `npx` -不需要全局安装：

```sh
npx @the-librarian/cli install
```

更喜欢持久性命令？全局安装一次并调用 `librarian` 直接:

```sh
npm i -g @the-librarian/cli
librarian install
```

就是这样——你要安装的任何线束都已经有Node了，所以没有 引导脚本。 `librarian install` 不带参数打开交互 针对您的MCP URL令牌进行多选并提示一次; 将线束id传递给 针对特定的。随时重新运行它以添加线束。

## 命令

```
librarian install   [harness…]   Install into one or more harnesses
                                  (no args → interactive multi-select; prompts
                                  for MCP URL + token once)
librarian uninstall [harness…]   Remove The Librarian from each harness
librarian update    [harness…]   Update the integration to the current version
librarian status                 Live table: harness · installed · version
librarian doctor                 Token set? server reachable? which harness CLIs?
librarian config                 Show or set MCP URL, token, server URL
librarian self-update            Update the CLI itself (coming in a later release)
librarian report                 Push this machine's state to the server
                                  (coming in a later release)

librarian server up              Self-host the server with Docker; prints the
                                  MCP URL + agent token to paste into `install`
librarian server update          Upgrade the server to the latest release
                                  (pulls before stop; data/config are preserved)
librarian server down|status|logs  Stop / inspect / tail the running server
```

有用的标志： `--mcp-url <url>`， `--token <token>` (从来没有印刷), `--shell <bash|zsh|fish>` 要覆盖外壳检测， `-h/--help`， `-v/--version`． 利用id: `claude`， `codex`， `opencode`， `hermes`， `pi`． 一个 报告未安装CLI的线束 `not-detected` 并跳过-不 一个错误。

## 自行托管服务器

图书馆员需要一个服务器来交谈。 `server up` 与Docker站在一起- 它解析最新的稳定版本，提取并验证准确发布的版本 图像，运行其不可变的消化，铸币你的秘密，等待健康，并打印 MCP URL +要粘贴的代理令牌 `librarian install`． 稳定安装需求 Docker而不是Git；通过 `--ref main` （或其他发展参考）使用 Git支持的源检出和本地构建路径:

```sh
npx @the-librarian/cli server up
```

要关闭自动全新安装的第一所有者设置窗口，请arm a 创建时的一次性所有者声明:

```sh
LIBRARIAN_BOOTSTRAP_CLAIM_SECRET="$(openssl rand -base64 48)" \
  npx @the-librarian/cli server up
librarian server admin auth mint-claim --email owner@example.com
```

该秘密将被验证并仅存储在托管中 `0600` 部署env-file; `server update` 保存它。看到 [self-host指南](https://librarian-docs.codeministry.net/deploy-and-operate/self-host/#scripted-first-owner-bootstrap) 完整的索赔和赔偿仪式。

默认情况下，仓库位于docker管理的命名卷(`librarian_data`）。 将数据保存在路径中 **你** 选择，这样你就可以备份，把它放在 特定磁盘，或在主机之间移动它-通过 `--data-dir`：

```sh
npx @the-librarian/cli server up --data-dir /srv/librarian
```

与 `--data-dir`，服务器绑定挂载该目录 `/data` 并运行 容器 **作为目录的所有者**,所以金库归-和 可写的-你，而不是一个容器用户。如果没有，则创建目录 存在, `server update` 自动重用它。（`--data-dir` 和 `--data-volume` 是相互排斥的。)

如果策展人的法学硕士只能通过网络访问，则不通过 `--dns 100.100.100.100` 在 `server up` 或者 `server update` (后者的作品，即使当图像 已经电流)。名称服务器以部署状态记录，以便以后更新 留着吧。Compose堆栈使用 `LIBRARIAN_DNS` 代替。

其他服务器命令: `server update` 在停止旧的之前提取并验证 容器，保存存储，端口，凭证，重启策略，操作器DNS （`--dns`) 和部署状态。一个失败的替换恢复和健康检查以前的可执行文件； 如果迁移开始，则会显式显示持久性数据更改 **不** 声称为 回滚。 `server status` 将部署标记为已发布 (带有简短的 摘要)、源或遗留。 `server down` / `logs` 和 `server enable-boot` (Linux systemd) 完成生命周期。在专用网络/后面运行它 VPN，或使用auth公开它-请参阅 [部署指南](https://github.com/code-ministry-ltd/the-librarian/blob/main/DEPLOYMENT.md).

托管服务器文件位于 `~/.librarian/server` 默认情况下: `deploy.env` 是保护模式 `0600`，而 `deploy-state.json` 只包含 非秘密配置和图像来源。稳定的注册中心/网络/认证/ 架构失败是教学错误，永远不会触发源代码构建 回退。的部署时，将保留现有的源签出 已发布的图像。

## 它向您的环境写入的内容

命令行可以控制一切 `~/.librarian/`：

-   **`~/.librarian/env`** -一个POSIX环境文件 (`chmod 600`（仅由所有者持有） 你的两个秘密:
    
    ```sh
    export LIBRARIAN_MCP_URL="…"
    export LIBRARIAN_AGENT_TOKEN="…"
    ```
    
-   **`~/.librarian/machine-id`** -第一次运行时生成的UUID，因此相同 不同计算机上的设置在仪表板中保持不同。
    

它增加了 **一个** 到shell rc (`~/.bashrc` / `~/.zshrc`) 来源的env文件:

```sh
# >>> librarian >>>
[ -f "$HOME/.librarian/env" ] && . "$HOME/.librarian/env"
# <<< librarian <<<
```

Fish无法获取POSIX文件，所以它只能获取本地文件 `~/.config/fish/conf.d/librarian.fish` 与 `set -gx`。重新运行任何命令 替换块-它永远不会重复。 `librarian config` 重写 `~/.librarian/env`.

## 安全

您的代理令牌是凭据。CLI对待它像一个:

-   这是写 **只有** 来 `~/.librarian/env`，也就是 `chmod 600` （所有者只读/写）-永远不会提交或全球可读的文件。
-   它是 **从未打印过** (不在 `status`， `doctor`， `config`（或日志）和 从不放入URL-持有者令牌在标头中传播到配置的 服务器，通过配置的URL，而不是其他任何地方。

如果你需要旋转它，重新运行 `librarian config --token <new>` (或编辑 `~/.librarian/env` 直接地）。

> **避免 `--token <value>` 在共享或审核的计算机上。** 传递的值 命令行对任何可以运行 `ps` 当命令运行时， 它落在你的贝壳历史中。更喜欢在输入令牌 交互式提示- `librarian install` 读它的回声 **柔和的**,所以 它永远不会出现在屏幕上，在 `ps`，或在历史-或编辑 `chmod 600` `~/.librarian/env` 直接文件。

## 常见问题

### @the-librarian/cli 是什么？

Librarian CLI: 自行托管服务器并将其安装到您的AI编码代理 \(Claude Code、Codex、OpenCode、Hermes、Pi\) 中。

### 如何安装 @the-librarian/cli？

在项目目录运行 npm install @the-librarian/cli，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 librarian，可以用 npx librarian 直接运行。

### @the-librarian/cli 支持 TypeScript 吗？

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

### @the-librarian/cli 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @the-librarian/cli 可以商用吗？

@the-librarian/cli 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @the-librarian/cli 还在维护吗？

最新版本 1\.38\.0 发布于 2026/11/03（今天）；至今共发布 101 个版本，其中过去 12 个月发布了 101 个；首次发布于 2026/06/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

