教程 搜索 / 原生 Mac IDE / 安装并使用 lingcode CLI
📝 文字 ● 中级 更新于 2026-05-13

如何安装并使用 lingcode CLI?

TL;DR:macOS/Linux 用户运行 curl -fsSL https://lingcode.dev/install.sh | sh;Windows 用户从 /cli 页面下载 Bun 压缩包。运行 lingcode 进入交互式 REPL,或使用 lingcode ask --provider deepseek "…" 发起一次性提示。支持全部 13 个提供商,并可复用桌面应用 Keychain 中已保存的密钥。

LingCode IDE 非常适合交互式工作。LingCode CLI 则面向一切非 GUI 场景——脚本、服务器任务、在已有终端中发起一次性提示,以及在 Mac 应用无法触达的地方运行智能体。

听到"AI IDE",你可能会想到一个需要坐在屏幕前、用鼠标点来点去的应用。大多数情况下确实如此。但智能体循环在很多没有前台 GUI 的场景下同样大有用处:每次提交时触发的脚本、在远程服务器上进行的代码审查、每晚汇总昨日差异的定时任务、将智能体能力暴露给内部工具的小型后端。所有这些场景都需要一个终端接口——有时是脚本化运行,有时是交互式操作,但始终不依赖于某个窗口。

lingcode CLI 运行的正是 Mac 应用内部相同的智能体循环,只是呈现方式不同。底层有三条独立的循环——通过 Anthropic SDK 接入 Claude、原生接入 DeepSeek,以及兼容 OpenAI 接口的 13 个提供商——全部通过同一个二进制文件即可调用。用户可使用五种模式:ask 用于一次性提示,repl 用于交互式终端对话,serve 用于启动本地 HTTP API,plugin 用于安装和管理插件,doctor 用于诊断配置问题。同时提供多种权限策略(交互式 TTY 确认、自动接受、全部拒绝),可根据实际场景选择合适的安全级别。

本教程将引导你把二进制文件加入 shell 的 $PATH,介绍日常最常用的几种模式,并深入讲解权限模型——在 CLI 场景下,权限管控比在应用中更为重要,因为 CLI 更容易被用于无人值守的自动化任务。

你将学到

第 1 步:从 Mac 应用安装

1

在 LingCode 内执行一条命令即可

CLI 已随 LingCode .app 包一起发布,位于 Contents/Resources/bin/lingcode,无需单独下载。要将其加入 shell 的 $PATH,请在 Mac 应用中打开命令面板,运行 Install lingcode Shell Command。LingCode 会在 ~/.local/bin/lingcode 处创建一个指向应用包的符号链接。

在终端中验证:which lingcode 应输出 /Users/<you>/.local/bin/lingcodelingcode --version 应输出类似 0.8.x 的版本号。

如果 which lingcode 找不到任何结果,说明你的 shell 没有读取 ~/.local/bin。请在 ~/.zshrc(或 ~/.bashrc)中添加 export PATH="$HOME/.local/bin:$PATH",然后重新打开终端。

第 2 步:使用 ask 发起一次性提示

2

CLI 中摩擦最低的模式

运行 lingcode ask "explain what this script does" -f deploy.sh,智能体将读取 deploy.sh 并将解释输出到 stdout。该命令管道友好:cat error.log | lingcode ask "what's wrong here?" 会将日志通过 stdin 传入并返回诊断结果。

使用 --provider 选择提供商:--provider claude--provider deepseek,或任意 OpenAI 兼容提供商的名称。若不指定该参数,lingcode ask 将使用你配置的默认提供商。

第 3 步:使用 repl 进行交互式对话

3

当一次提示远远不够时

lingcode repl 会在终端中开启一个对话循环。与应用相同的智能体循环、相同的工具调用能力、相同的提供商选择——只是以纯文本的方式交互。

在 REPL 内部,可使用斜杠命令进行控制:/provider claude-opus-4-7 可在对话中途切换提供商(与在应用中切换的方式相同),/model 可选择具体的模型版本,/clear 可重置历史记录,/exit 可退出。Tab 键可补全命令。

第 4 步:使用 serve 启动本地 HTTP 服务器

4

供你自己的工具调用

运行 lingcode serve,CLI 将启动一个 HTTP 服务器(默认端口 7437),通过简洁的 REST 接口暴露智能体能力。主要端点为 POST /v1/agent/ask,会在智能体工作时以 Server-Sent Events 流式返回结果——与 Mac 应用聊天面板的实时输出方式完全相同。

认证方式为首次启动时写入 ~/.lingcode/server.token 的 Bearer 令牌,通过 Authorization: Bearer <token> 传入。该令牌属于你个人,持有该文件的任何人都可以访问你的服务器。

serve 的设计初衷并非将 CLI 暴露到公网(请勿这样做),而是让你自己的脚本、编辑器和临时工具无需重新实现智能体循环即可调用智能体。当你需要构建 Slack 机器人、Raycast 扩展或 CI 步骤来向智能体提问时,这个模式非常实用。

不要将 serve 绑定到 0.0.0.0默认情况下它只监听 127.0.0.1。Bearer 令牌足以保证本地进程的访问安全,但不足以让其在公开网络中安全运行。

第 5 步:权限模式——何时选用哪种

5

CLI 对安全性格外重视,因为你无法时刻盯着它

在应用中,当智能体想要执行危险的工具调用时,你会看到一个确认对话框。而在 CLI 中,对话框并不存在。因此 CLI 内置了三种权限策略,通过 --permission-mode 选择:

  • tty(默认)——当提出危险调用时,CLI 会在终端中提示你输入 y/N。适合交互式场景的安全默认值;不适用于无人值守的自动化任务。
  • deny-all——拒绝所有危险调用。智能体可以读取内容,但无法写入、执行或修改任何东西。适合只需要分析(例如"解释这个代码库")而不希望产生副作用的场景。
  • yolo——自动批准所有调用。仅在环境已经充分隔离的情况下使用(全新容器、临时虚拟机、准备丢弃的 worktree)。这个名字本身就是一个警告。

选择能让任务顺利完成的最小权限策略。大多数 CI 任务适合使用 deny-all,本地探索性任务适合使用 ttyyolo 是一个已知高风险的设置,使用时应有充分意识。

第 6 步:出现问题时——使用 doctor

6

一条命令检查整个依赖栈

lingcode doctor 会逐项检查 CLI 依赖的所有外部组件并报告状态:Node 运行时是否存在及版本号、agent-bridge 子进程能否启动、Keychain 中是否有 API 密钥、当前目录中是否有 CLAUDE.md、MCP 服务器是否已配置、钩子是否已安装。每一项都以绿色/黄色/红色标注,并附有修复建议。

当 CLI 莫名其妙地无法运行时,doctor 是第一个该尝试的命令。同样的诊断也可以在 REPL 中通过 /doctor 运行。

下一步