Lore

CLI 参考

@loremem/cli 的命令、参数、环境变量和配置文件。

查阅 npx @loremem/cli 的每个命令、参数和环境变量,以及 CLI 写入的文件。想看完整的操作流程,请从用 Docker 部署开始。

用法

npx @loremem/cli [install|update|uninstall|status] [options]

不带任何参数运行 npx @loremem/cli,会启动交互式安装器,效果与 install 相同。

命令

命令作用
install(别名 connect)把这台机器接入服务器,用 Docker 部署服务器,并安装运行时集成。这是默认命令。
update更新已安装的集成。对于由 Docker 管理的服务器,还会拉取新镜像并重启服务栈。
uninstall移除运行时集成。加上 --purge 还会删除配置和本地 Docker 数据。
status显示已保存的连接、检测到的运行时,以及每个集成的状态。

参数

参数适用命令作用
--base-url URLinstall、update接入已有服务器或 Loremem 云服务。仅作为客户端,不会触碰 Docker。不能与 --docker 同时使用。
--dockerinstall用 Docker Compose 在本机部署 Lore 服务器。会清除已保存的令牌。不能与 --base-url 或 --skip-docker 同时使用。
--api-token TOKENinstall、update服务器令牌,保存到 config.json。它可能会留在 shell 历史记录中。
--channels LISTinstall、update、uninstall以逗号分隔的运行时 ID(参见运行时 ID)。默认值:install 为检测到的运行时;update 为已安装或部分安装的集成;uninstall 为全部七个运行时。
--skip-dockerinstall、update保留已保存的服务器,不管理 Docker。
--forceinstall、update即使发布版本没有变化,也重新安装。
--preinstall、update使用最新的预发布版。镜像使用 pre-latest 标签。不能与 --dev 同时使用。
--devinstall、update使用开发版。镜像使用 dev-latest 标签。
--lang en|zh全部提示和消息的语言。优先于 LORE_INSTALL_LANG。
--allow-insecure-httpinstall、update仅本次运行允许通过明文 HTTP 向非回环主机发送令牌。该参数不会被保存。-y 不会隐含它。
--purgeuninstall同时删除 ~/.lore/config.json 和 ~/.lore/docker。请先停止服务栈。参见更新与卸载。
-y、--yesinstall、uninstall跳过提示。对于 install,未设置的选项采用默认值,服务端必须来自 --base-url、--docker 或已保存的配置。
-h、--help全部打印用法并退出。

--docker 会清除任何已保存的令牌,并忽略 --api-token。传入 --api-token 可能会让令牌留在你的 shell 历史记录中,请按照你平时的密钥管理方式处理。

环境变量

变量默认值作用
LORE_HOME~/.lore保存 config.json、运行时文件和 docker/ 服务栈目录的位置。
LORE_INSTALL_LANGenzh 选择中文,其他任何值都选择英文。设置后会跳过语言选择问题。
LORE_SAAS_BASE_URLhttps://api.loremem.com「连接 Loremem SaaS」使用的 Loremem 云服务 API 地址。只有需要让 CLI 指向其他云服务 API 时才设置。
LORE_CODEX_INSTALL_USER_HOOKS未设置设为 1 时,还会把 Lore 的旧版钩子条目写入 ~/.codex/hooks.json。仅用于需要用户级钩子的旧版 Codex。
LORE_OPENCODE_ALLOW_MCP未设置设为 1 或 true 时,会在 OpenCode 插件旁保留 Lore 通用的 /api/mcp MCP 条目。默认情况下,插件会移除它自己的重复条目。插件在 OpenCode 启动时读取该变量。
LORE_SKILLS_ENABLED由安装器设置1 或 0。安装器根据服务器是否具备技能能力来设置它。0 会在插件中关闭技能。除非服务器声明支持技能,否则技能默认关闭。

文件

~/.lore/config.json 以文件权限 0600 写入。它包含以下字段:

字段含义
base_url服务器地址(来源),末尾没有斜杠
api_token服务器令牌。未设置时不存在该字段。
installed_version集成安装所用的发布版本。只有当所有选中的运行时都成功后才会写入。
docker_managedtrue 表示 CLI 管理本地 Docker 服务栈,false 表示由你自己管理。
server_profileinstall 和 update 记录的服务器基础地址、版本类型和能力(例如技能)

只有当服务器地址保持不变时,才会复用已保存的令牌。如果改了服务器地址,但没有传入 --api-token,令牌会被清除。

其他文件:

  • ~/.lore/docker/:CLI 管理的本地服务栈所使用的 Compose 文件和 .env。
  • ~/.lore/<运行时>/:每个运行时的文件,例如 ~/.lore/hermes/lore_memory。

运行时 ID

ID运行时安装器使用的宿主 CLI
claudecodeClaude Codeclaude
codexCodexcodex
piPipi
openclawOpenClawopenclaw
hermesHermes无
opencodeOpenCodeopencode
zcodeZCodezcode
dshDeepSeek Harnessdsh,或已存在的 ~/.dsh
  • 宿主 CLI 未安装的运行时会被标记为跳过,而不是标记为已配置。dsh 在 ~/.dsh 已存在时也算作已安装,因为 dsh 常通过 npx @deepseek-ai/dsh 运行而没有全局二进制。

  • Hermes 安装时不需要它的 CLI。只有当 PATH 中存在 hermes 命令时,它才会被默认选中;否则请传入 --channels hermes。安装后请自行链接文件:

    ln -s ~/.lore/hermes/lore_memory ~/.hermes/skills/lore_memory

交互式与非交互式使用

命令在终端中使用 -y,或不在终端中
install打开安装器,参数会预先填入答案按参数直接运行。如果既没有参数又没有终端,会以退出码 2 失败。
update按参数运行,不提问相同
uninstall询问 Uninstall these channels? [y/N]不询问
status打印状态相同

明文 HTTP

  • CLI 只会通过 HTTPS 发送令牌。使用明文 HTTP 时,只向回环主机发送令牌:localhost、127.0.0.1 和 ::1。
  • 对于其他主机,如果使用明文 HTTP,CLI 会拒绝发送令牌,除非你为本次运行传入 --allow-insecure-http。
  • 该参数不会被保存,-y 也不会隐含它。交互式安装器会改为提出一个单独的是非问题,默认选项为否。
  • 没有令牌时,不适用这条规则。

退出码

退出码含义
0成功。对于 install,只要至少有一个运行时安装成功,被跳过的运行时不会导致本次运行失败。
1失败。例如:某个运行时失败;对于 update,发布版本无法解析,或选中的运行时被跳过;Docker 服务栈在 3 分钟内未通过健康检查;或你拒绝了卸载。
2用法错误。例如:未知参数、使用 -y 时缺少服务器、使用 -y 时未检测到运行时,或者既没有参数又没有终端。
130你取消了交互式提示,例如按下了 Ctrl+C。

示例

# 交互式安装器
npx @loremem/cli

# 不提示,直接用 Docker 部署本地服务器
npx @loremem/cli install -y --docker

# 把这台机器接入 Loremem 云服务
npx @loremem/cli install --base-url https://api.loremem.com --api-token lm_your_token

# 仅本次运行,通过明文 HTTP 接入局域网服务器
npx @loremem/cli install -y --base-url http://192.168.1.10:18901 --api-token lm_your_token --allow-insecure-http

# 从预发布渠道更新 Claude Code 和 Codex
npx @loremem/cli update --pre --channels claudecode,codex

# 接入 Codex 时启用旧版用户级钩子
LORE_CODEX_INSTALL_USER_HOOKS=1 npx @loremem/cli install -y --base-url https://api.loremem.com --api-token lm_your_token --channels codex

# 不提示,移除两个运行时
npx @loremem/cli uninstall --channels claudecode,pi -y

# 全部移除,包括配置和本地 Docker 数据
npx @loremem/cli uninstall --purge -y