跳到主要内容

CLI 命令参考

本页介绍从 shell 运行的终端命令

关于聊天内斜杠命令,请参阅 斜杠命令参考

全局入口

aigenlabs [global-options] <command> [subcommand/options]

全局选项

选项说明
--version, -V显示版本并退出。
--profile <name>, -p <name>选择本次调用使用的 AigenLabs profile(配置文件)。覆盖 aigenlabs profile use 设置的粘性默认值。
--resume <session>, -r <session>通过 ID 或标题恢复之前的会话。
--continue [name], -c [name]恢复最近的会话,或恢复最近一个匹配标题的会话。
--worktree, -w在隔离的 git worktree 中启动,用于并行 agent 工作流。
--yolo跳过危险命令的审批提示。
--pass-session-id在 agent 的 system prompt(系统提示词)中包含会话 ID。
--ignore-user-config忽略 ~/.aigenlabs/config.yaml,回退到内置默认值。.env 中的凭据仍会加载。
--ignore-rules跳过 AGENTS.mdSOUL.md.cursorrules、memory(记忆)和预加载 skill 的自动注入。
--tui启动 TUI 而非经典 CLI。等同于 AIGENLABS_TUI=1
--dev--tui 配合使用:通过 tsx 直接运行 TypeScript 源码而非预构建包(供 TUI 贡献者使用)。

顶级命令

命令用途
aigenlabs chat与 agent 进行交互式或单次聊天。
aigenlabs model交互式选择默认 provider 和模型。
aigenlabs fallback管理主模型出错时依次尝试的 fallback provider。
aigenlabs gateway运行或管理消息 gateway 服务。
aigenlabs proxy本地 OpenAI 兼容代理,附加 OAuth provider 凭据。参见 订阅代理
aigenlabs lsp管理 Language Server Protocol 集成(为 write_file/patch 提供语义诊断)。
aigenlabs setup全部或部分配置的交互式设置向导。
aigenlabs whatsapp配置并配对 WhatsApp 桥接。
aigenlabs slackSlack 辅助工具(当前功能:生成将每条命令注册为原生斜杠命令的 app manifest)。
aigenlabs auth管理凭据——添加、列出、删除、重置、设置策略。处理 Codex/Nous/Anthropic 的 OAuth 流程。
aigenlabs login / logout已弃用 — 请改用 aigenlabs auth
aigenlabs status显示 agent、auth 和平台状态。
aigenlabs cron检查并触发 cron 调度器。
aigenlabs kanban多 profile 协作看板(任务、链接、调度器)。
aigenlabs webhook管理用于事件驱动激活的动态 webhook 订阅。
aigenlabs hooks检查、审批或删除 config.yaml 中声明的 shell 脚本 hook。
aigenlabs doctor诊断配置和依赖问题。
aigenlabs security audit对 venv、plugin 依赖和固定 MCP 服务器进行按需供应链审计(OSV.dev)。
aigenlabs dump可直接复制粘贴的设置摘要,用于支持/调试。
aigenlabs debug调试工具——上传日志和系统信息以获取支持。
aigenlabs backup将 AigenLabs 主目录备份为 zip 文件。
aigenlabs checkpoints检查/修剪/清除 ~/.aigenlabs/checkpoints//rollback 使用的影子存储)。不带参数运行可查看状态概览。
aigenlabs import从 zip 文件恢复 AigenLabs 备份。
aigenlabs logs查看、跟踪和过滤 agent/gateway/错误日志文件。
aigenlabs config显示、编辑、迁移和查询配置文件。
aigenlabs pairing审批或撤销消息配对码。
aigenlabs skills浏览、安装、发布、审计和配置 skill。
aigenlabs bundles将多个 skill 归组到单个 /<name> 斜杠命令下。参见 Skill Bundles
aigenlabs curator后台 skill 维护——状态、运行、暂停、固定。参见 Curator
aigenlabs memory配置外部 memory provider。当对应 provider 激活时,特定于 plugin 的子命令(如 aigenlabs honcho)会自动注册。
aigenlabs acp将 AigenLabs 作为 ACP 服务器运行,用于编辑器集成。
aigenlabs mcp管理 MCP 服务器配置,并将 AigenLabs 作为 MCP 服务器运行。
aigenlabs plugins管理 AigenLabs Agent plugin(安装、启用、禁用、删除)。
aigenlabs portalNous Portal 状态、订阅链接和 Tool Gateway 路由。参见 Tool Gateway
aigenlabs tools按平台配置已启用的工具。
aigenlabs computer-use安装或检查 cua-driver 后端(macOS Computer Use)。
aigenlabs sessions浏览、导出、修剪、重命名和删除会话。
aigenlabs insights显示 token/费用/活动分析。
aigenlabs clawOpenClaw 迁移辅助工具。
aigenlabs dashboard启动用于管理配置、API 密钥和会话的 Web 控制台。
aigenlabs profile管理 profile——多个隔离的 AigenLabs 实例。
aigenlabs completion打印 shell 补全脚本(bash/zsh/fish)。
aigenlabs version显示版本信息。
aigenlabs update拉取最新代码并重新安装依赖(git 安装),或检查 PyPI 并执行 pip install --upgrade(pip 安装)。--check 预览而不安装;--backup 在拉取前对 AIGENLABS_HOME 进行快照。
aigenlabs uninstall从系统中删除 AigenLabs。

aigenlabs chat

aigenlabs chat [options]

常用选项:

选项说明
-q, --query "..."单次非交互式 prompt。
-m, --model <model>覆盖本次运行的模型。
-t, --toolsets <csv>启用逗号分隔的 toolset 集合。
--provider <provider>强制指定 provider:autoopenrouternousopenai-codexcopilot-acpcopilotanthropicgeminigoogle-gemini-clihuggingfacenovita(别名 novita-ainovitaai)、openai-apizaikimi-codingkimi-coding-cnminimaxminimax-cnminimax-oauthkilocodexiaomiarceegmialibabaalibaba-coding-plan(别名 alibaba_coding)、deepseeknvidiaollama-cloudxai(别名 grok)、xai-oauth(别名 grok-oauth)、qwen-oauthbedrockopencode-zenopencode-goazure-foundrylmstudiostepfuntencent-tokenhub(别名 tencenttokenhub)。
-s, --skills <name>为会话预加载一个或多个 skill(可重复或逗号分隔)。
-v, --verbose详细输出。
-Q, --quiet程序化模式:抑制横幅/spinner/工具预览。
--image <path>为单次查询附加本地图片。
--resume <session> / --continue [name]直接从 chat 恢复会话。
--worktree为本次运行创建隔离的 git worktree。
--checkpoints在破坏性文件变更前启用文件系统 checkpoint。
--yolo跳过审批提示。
--pass-session-id将会话 ID 传入 system prompt。
--ignore-user-config忽略 ~/.aigenlabs/config.yaml,使用内置默认值。.env 中的凭据仍会加载。适用于隔离的 CI 运行、可复现的 bug 报告和第三方集成。
--ignore-rules跳过 AGENTS.mdSOUL.md.cursorrules、持久 memory 和预加载 skill 的自动注入。与 --ignore-user-config 组合可实现完全隔离的运行。
--source <tag>用于过滤的会话来源标签(默认:cli)。对于不应出现在用户会话列表中的第三方集成,使用 tool
--max-turns <N>每个对话轮次的最大工具调用迭代次数(默认:90,或 config 中的 agent.max_turns)。

示例:

aigenlabs
aigenlabs chat -q "Summarize the latest PRs"
aigenlabs chat --provider openrouter --model anthropic/claude-sonnet-4.6
aigenlabs chat --toolsets web,terminal,skills
aigenlabs chat --quiet -q "Return only JSON"
aigenlabs chat --worktree -q "Review this repo and open a PR"
aigenlabs chat --ignore-user-config --ignore-rules -q "Repro without my personal setup"

aigenlabs -z <prompt> — 脚本化单次调用

对于程序化调用方(shell 脚本、CI、cron、通过管道传入 prompt 的父进程),aigenlabs -z 是最纯粹的单次入口:单个 prompt 输入,最终响应文本输出,stdout 和 stderr 上不输出任何其他内容。 无横幅、无 spinner、无工具预览、无 Session: 行——只有 agent 的最终回复纯文本。

aigenlabs -z "What's the capital of France?"
# → Paris.

# 父脚本可以干净地捕获响应:
answer=$(aigenlabs -z "summarize this" < /path/to/file.txt)

单次运行覆盖(不修改 ~/.aigenlabs/config.yaml):

标志等效环境变量用途
-m / --model <model>AIGENLABS_INFERENCE_MODEL覆盖本次运行的模型
--provider <provider>(无)覆盖本次运行的 provider
aigenlabs -z "…" --provider openrouter --model openai/gpt-5.5
# 或:
AIGENLABS_INFERENCE_MODEL=anthropic/claude-sonnet-4.6 aigenlabs -z "…"

相同的 agent、相同的工具、相同的 skill——只是剥离了所有交互式/装饰性层。如果你还需要在记录中包含工具输出,请改用 aigenlabs chat -q-z 专门用于"我只需要最终答案"的场景。

aigenlabs model

交互式 provider + 模型选择器。这是添加新 provider、设置 API 密钥和运行 OAuth 流程的命令。 从终端运行——不要在活跃的 AigenLabs 聊天会话内部运行。

aigenlabs model

在以下情况使用此命令:

  • 添加新 provider(OpenRouter、Anthropic、Copilot、DeepSeek、自定义等)
  • 登录基于 OAuth 的 provider(Anthropic、Copilot、Codex、Nous Portal)
  • 输入或更新 API 密钥
  • 从 provider 特定的模型列表中选择
  • 配置自定义/自托管端点
  • 将新默认值保存到 config
aigenlabs model 与 /model——了解区别

aigenlabs model(从终端运行,在任何 AigenLabs 会话外部)是完整的 provider 设置向导。它可以添加新 provider、运行 OAuth 流程、提示输入 API 密钥并配置端点。

/model(在活跃的 AigenLabs 聊天会话中输入)只能在已设置好的 provider 和模型之间切换。它无法添加新 provider、运行 OAuth 或提示输入 API 密钥。

如果需要添加新 provider: 先退出 AigenLabs 会话(Ctrl+C/quit),然后从终端提示符运行 aigenlabs model

/model 斜杠命令(会话中途)

无需离开会话即可在已配置的模型之间切换:

/model                              # 显示当前模型和可用选项
/model claude-sonnet-4 # 切换模型(自动检测 provider)
/model zai:glm-5 # 切换 provider 和模型
/model custom:qwen-2.5 # 在自定义端点上使用模型
/model custom # 从自定义端点自动检测模型
/model custom:local:qwen-2.5 # 使用命名的自定义 provider
/model openrouter:anthropic/claude-sonnet-4 # 切换回云端

默认情况下,/model 的更改仅对当前会话生效。添加 --global 可将更改持久化到 config.yaml

/model claude-sonnet-4 --global     # 切换并保存为新默认值
如果我只看到 OpenRouter 模型怎么办?

如果你只配置了 OpenRouter,/model 将只显示 OpenRouter 模型。要添加其他 provider(Anthropic、DeepSeek、Copilot 等),请退出会话并从终端运行 aigenlabs model

Provider 和 base URL 的更改会自动持久化到 config.yaml。从自定义端点切换走时,过时的 base URL 会被清除,以防止其泄漏到其他 provider。

aigenlabs gateway

aigenlabs gateway <subcommand>

子命令:

子命令说明
run在前台运行 gateway。推荐用于 WSL、Docker 和 Termux。
start启动已安装的 systemd/launchd 后台服务。
stop停止服务(或前台进程)。
restart重启服务。
status显示服务状态。
list列出所有 profile 及每个 profile 的 gateway 当前是否运行(有 PID 时显示)。当你并行运行多个 profile 并需要单一概览时很方便。
install安装为 systemd(Linux)或 launchd(macOS)后台服务。
uninstall删除已安装的服务。
setup交互式消息平台设置。

选项:

选项说明
--allstart / restart / stop 时:对每个 profile 的 gateway 执行操作,而不仅限于活跃的 AIGENLABS_HOME。当你并行运行多个 profile 并希望在 aigenlabs update 后全部重启时很有用。
--no-superviserun 时:在 s6-overlay Docker 镜像内部,跳过 s6 自动监管,退回到 pre-s6 前台语义——gateway 作为容器主进程运行,无自动重启。在 s6 镜像之外为空操作。等同于设置 AIGENLABS_GATEWAY_NO_SUPERVISE=1
WSL 用户

使用 aigenlabs gateway run 而非 aigenlabs gateway start——WSL 的 systemd 支持不稳定。用 tmux 包裹以保持持久运行:tmux new -s aigenlabs 'aigenlabs gateway run'。详见 WSL FAQ

aigenlabs lsp

aigenlabs lsp <subcommand>

管理 Language Server Protocol 集成。LSP 在后台运行真实的语言服务器(pyright、gopls、rust-analyzer 等),并将其诊断信息输入 write_filepatch 使用的写后检查。受 git 工作区检测限制——仅当 cwd 或编辑的文件位于 git worktree 内时,LSP 才会运行。

子命令:

子命令说明
status显示服务状态、已配置的服务器、安装状态。
list打印支持的服务器注册表。传入 --installed-only 可跳过缺失的服务器。
install <id>主动安装某个服务器的二进制文件。
install-all安装所有具有已知自动安装方案的服务器。
restart关闭正在运行的客户端,以便下次编辑时重新启动。
which <id>打印某个服务器的已解析二进制路径。

完整指南、支持的语言和配置项,请参阅 LSP — 语义诊断

aigenlabs setup

aigenlabs setup [model|tts|terminal|gateway|tools|agent] [--non-interactive] [--reset] [--quick] [--reconfigure] [--portal]

首次运行: 启动首次使用向导。

已配置用户: 直接进入完整重新配置向导——每个提示都以当前值作为默认值,按 Enter 保留或输入新值。无菜单。

跳转到某个部分而非完整向导:

部分说明
modelProvider 和模型设置。
terminal终端后端和沙箱设置。
gateway消息平台设置。
tools按平台启用/禁用工具。
agentAgent 行为设置。

选项:

选项说明
--quick在已配置用户运行时:仅提示缺失或未设置的项目,跳过已配置的项目。
--non-interactive使用默认值/环境变量,不显示提示。
--reset在设置前将配置重置为默认值。
--reconfigure向后兼容别名——在已有安装上裸运行 aigenlabs setup 现在默认执行此操作。
--portal一键 Nous Portal 设置:通过 OAuth 登录,将 Nous 设为推理 provider,并选择加入 Tool Gateway。跳过向导其余部分。

aigenlabs portal

aigenlabs portal [status|open|tools]

检查 Nous Portal 认证、Tool Gateway 路由,并访问订阅页面。不带子命令时运行 status

子命令说明
status(默认)Portal 认证状态 + 每个工具的 Tool Gateway 路由摘要。不带子命令时也会显示。
open在默认浏览器中打开 portal.nousresearch.com/manage-subscription
tools列出每个 Tool Gateway 合作伙伴(Firecrawl、FAL、OpenAI TTS、Browser Use、Modal)及哪些通过 Nous 路由。

关于 gateway 本身的配置,请参阅 Tool Gateway。关于一键设置路径,请参阅上方的 aigenlabs setup --portal

aigenlabs whatsapp

aigenlabs whatsapp

运行 WhatsApp 配对/设置流程,包括模式选择和二维码配对。

aigenlabs slack

aigenlabs slack manifest              # 将 manifest 打印到 stdout
aigenlabs slack manifest --write # 写入 ~/.aigenlabs/slack-manifest.json
aigenlabs slack manifest --slashes-only # 仅输出 features.slash_commands 数组

生成一个 Slack app manifest,将 COMMAND_REGISTRY 中的每条 gateway 命令(/btw/stop/model 等)注册为一等公民 Slack 斜杠命令——与 Discord 和 Telegram 保持一致。将输出粘贴到你的 Slack app 配置中:https://api.slack.com/apps → 你的 app → Features → App Manifest → Edit,然后点击 Save。如果 scope 或斜杠命令有变化,Slack 会提示重新安装。

标志默认值用途
--write [PATH]stdout写入文件而非 stdout。裸 --write 写入 $AIGENLABS_HOME/slack-manifest.json
--name NAMEAigenLabsSlack 中的机器人显示名称。
--description DESC默认简介Slack app 目录中显示的机器人描述。
--slashes-only关闭仅输出 features.slash_commands,用于合并到手动维护的 manifest 中。

aigenlabs update 后重新运行 aigenlabs slack manifest --write 以获取新增命令。

aigenlabs login / aigenlabs logout (已弃用)

警告

aigenlabs login 已被移除。请使用 aigenlabs auth 管理 OAuth 凭据,使用 aigenlabs model 选择 provider,或使用 aigenlabs setup 进行完整的交互式设置。

aigenlabs auth

管理同一 provider 的密钥轮换凭据池。完整文档请参阅 凭据池

aigenlabs auth                                              # 交互式向导
aigenlabs auth list # 显示所有池
aigenlabs auth list openrouter # 显示特定 provider
aigenlabs auth add openrouter --api-key sk-or-v1-xxx # 添加 API 密钥
aigenlabs auth add anthropic --type oauth # 添加 OAuth 凭据
aigenlabs auth remove openrouter 2 # 按索引删除
aigenlabs auth reset openrouter # 清除冷却时间
aigenlabs auth status anthropic # 显示某 provider 的认证状态
aigenlabs auth logout anthropic # 登出并清除已存储的认证状态
aigenlabs auth spotify # 通过 PKCE 将 AigenLabs 与 Spotify 认证

子命令:addlistremoveresetstatuslogoutspotify。不带子命令调用时,启动交互式管理向导。

aigenlabs status

aigenlabs status [--all] [--deep]
选项说明
--all以可分享的脱敏格式显示所有详情。
--deep运行可能耗时更长的深度检查。

aigenlabs cron

aigenlabs cron <list|create|edit|pause|resume|run|remove|status|tick>
子命令说明
list显示已调度的任务。
create / add从 prompt 创建调度任务,可通过重复 --skill 附加一个或多个 skill。
edit更新任务的调度、prompt、名称、投递方式、重复次数或附加的 skill。支持 --clear-skills--add-skill--remove-skill
pause暂停任务而不删除。
resume恢复已暂停的任务并计算下次未来运行时间。
run在下次调度器 tick 时触发任务。
remove删除调度任务。
status检查 cron 调度器是否正在运行。
tick运行到期任务一次后退出。

aigenlabs kanban

aigenlabs kanban [--board <slug>] <action> [options]

多 profile、多项目协作看板。每个安装可托管多个看板(每个项目、仓库或领域一个);每个看板是独立的队列,拥有自己的 SQLite 数据库和调度器作用域。新安装从名为 default 的单个看板开始,其数据库为 ~/.aigenlabs/kanban.db(向后兼容);其他看板位于 ~/.aigenlabs/kanban/boards/<slug>/kanban.db。嵌入在 gateway 中的调度器每次 tick 扫描所有看板。

全局标志(适用于以下所有操作):

标志用途
--board <slug>操作特定看板。默认为当前看板(通过 aigenlabs kanban boards switchAIGENLABS_KANBAN_BOARD 环境变量或 default 设置)。

这是人工/脚本操作界面。 调度器生成的 agent worker 通过专用的 kanban_* toolsetkanban_showkanban_completekanban_blockkanban_createkanban_linkkanban_commentkanban_heartbeat;编排器 profile 还可使用 kanban_listkanban_unblock)驱动看板,而非调用 aigenlabs kanban。Worker 的环境中固定了 AIGENLABS_KANBAN_BOARD,因此物理上无法看到其他看板。

操作用途
init如果缺少则创建 kanban.db。幂等操作。
boards list / boards ls列出所有看板及任务数量。支持 --json--all(包含已归档)。
boards create <slug>创建新看板。标志:--name--description--icon--color--switch(设为活跃)。Slug 为 kebab-case,自动转小写。
boards switch <slug> / boards use<slug> 持久化为活跃看板(写入 ~/.aigenlabs/kanban/current)。
boards show / boards current打印当前活跃看板的名称、数据库路径和任务数量。
boards rename <slug> "<name>"更改看板的显示名称。Slug 不可变。
boards rm <slug>归档(默认)或硬删除看板。--delete 跳过归档步骤。已归档看板移至 boards/_archived/<slug>-<ts>/default 看板拒绝此操作。
create "<title>"在活跃看板上创建新任务。标志:--body--assignee--parent(可重复)、--workspace scratch|worktree|dir:<path>--tenant--priority--triage--idempotency-key--max-runtime--max-retries--skill(可重复)。
list / ls列出活跃看板上的任务。可用 --mine--assignee--status--tenant--archived--json 过滤。
show <id>显示任务及其评论和事件。--json 用于机器输出。
assign <id> <profile>分配或重新分配。使用 none 取消分配。任务运行时拒绝此操作。
link <parent> <child>添加依赖关系。检测循环依赖。两个任务必须在同一看板上。
unlink <parent> <child>删除依赖关系。
claim <id>原子性地认领就绪任务。打印已解析的工作区路径。
comment <id> "<text>"追加评论。下一个认领该任务的 worker 会在其 kanban_show() 响应中读取到它。
complete <id>将任务标记为完成。标志:--result--summary--metadata
block <id> "<reason>"将任务标记为等待人工输入。同时将原因追加为评论。
schedule <id> "<reason>"将时间延迟/后续工作停放到 scheduled 状态,使其不显示为人工阻塞项。
unblock <id>将已阻塞或已调度的任务返回就绪状态(如果依赖仍未完成则返回 todo)。
archive <id>从默认列表中隐藏。gc 将删除 scratch 工作区。
tail <id>跟踪任务的事件流。
dispatch对活跃看板执行一次调度器扫描。标志:--dry-run--max N--failure-limit N--json
context <id>打印 worker 将看到的完整上下文(标题 + 正文 + 父任务结果 + 评论)。
specify <id> / specify --all通过辅助 LLM 将 triage 列中的任务细化为具体规格(标题 + 包含目标、方案、验收标准的正文),然后将其提升到 todo。标志:--tenant(将 --all 限定到一个 tenant)、--author--json。在 config.yamlauxiliary.triage_specifier 下配置模型。
decompose <id> / decompose --all将 triage 列中的任务按描述拆分为子任务图,路由到专业 profile(编排器驱动路径)。当 LLM 判断任务不适合拆分时,回退到 specify 风格的单任务提升。与 specify 相同的标志。在 config.yamlauxiliary.kanban_decomposer 下配置模型。当 kanban.auto_decompose: true(默认)时,每次调度器 tick 也会自动运行。参见 自动与手动编排
gc删除已归档任务的 scratch 工作区。

示例:

# 创建第二个看板并在不切换的情况下向其添加任务。
aigenlabs kanban boards create atm10-server --name "ATM10 Server" --icon 🎮
aigenlabs kanban --board atm10-server create "Restart server" --assignee ops

# 切换活跃看板以供后续调用使用。
aigenlabs kanban boards switch atm10-server
aigenlabs kanban list # 显示 atm10-server 的任务

# 归档看板(可恢复)或硬删除。
aigenlabs kanban boards rm atm10-server
aigenlabs kanban boards rm atm10-server --delete

看板解析顺序(优先级从高到低):--board <slug> 标志 → AIGENLABS_KANBAN_BOARD 环境变量 → ~/.aigenlabs/kanban/current 文件 → default

所有操作也可作为 gateway 中的斜杠命令使用(/kanban …),参数界面相同——包括 boards 子命令和 --board 标志。

完整设计——与 Cline Kanban / Paperclip / NanoClaw / Gemini Enterprise 的对比、八种协作模式、四个用户故事、并发正确性证明——请参阅仓库中的 docs/aigenlabs-kanban-v1-spec.pdfKanban 用户指南

aigenlabs webhook

aigenlabs webhook <subscribe|list|remove|test>

管理用于事件驱动 agent 激活的动态 webhook 订阅。需要在 config 中启用 webhook 平台——如未配置,将打印设置说明。

子命令说明
subscribe / add创建 webhook 路由。返回要在你的服务上配置的 URL 和 HMAC 密钥。
list / ls显示所有 agent 创建的订阅。
remove / rm删除动态订阅。不影响 config.yaml 中的静态路由。
test发送测试 POST 以验证订阅是否正常工作。

aigenlabs webhook subscribe

aigenlabs webhook subscribe <name> [options]
选项说明
--prompt带有 {dot.notation} payload 引用的 prompt 模板。
--events要接受的逗号分隔事件类型(如 issues,pull_request)。为空则接受所有。
--description人类可读的描述。
--skills为 agent 运行加载的逗号分隔 skill 名称。
--deliver投递目标:log(默认)、telegramdiscordslackgithub_comment
--deliver-chat-id跨平台投递的目标聊天/频道 ID。
--secret自定义 HMAC 密钥。省略时自动生成。
--deliver-only跳过 agent——将渲染后的 --prompt 作为字面消息投递。零 LLM 成本,亚秒级投递。要求 --deliver 为真实目标(非 log)。

订阅持久化到 ~/.aigenlabs/webhook_subscriptions.json,webhook 适配器无需重启 gateway 即可热重载。

aigenlabs doctor

aigenlabs doctor [--fix]
选项说明
--fix尽可能尝试自动修复。

aigenlabs dump

aigenlabs dump [--show-keys]

输出整个 AigenLabs 设置的紧凑纯文本摘要。专为复制粘贴到 Discord、GitHub issue 或 Telegram 寻求支持而设计——无 ANSI 颜色、无特殊格式,只有数据。

选项说明
--show-keys显示脱敏的 API 密钥前缀(首尾各 4 个字符),而非仅显示 set/not set

包含内容

部分详情
HeaderAigenLabs 版本、发布日期、git commit hash
Environment操作系统、Python 版本、OpenAI SDK 版本
Identity活跃 profile 名称、AIGENLABS_HOME 路径
Model已配置的默认模型和 provider
Terminal后端类型(local、docker、ssh 等)
API keys所有 22 个 provider/工具 API 密钥的存在性检查
Features已启用的 toolset、MCP 服务器数量、memory provider
ServicesGateway 状态、已配置的消息平台
WorkloadCron 任务数量、已安装 skill 数量
Config overrides与默认值不同的所有 config 值

示例输出

--- aigenlabs dump ---
version: 0.8.0 (2026.4.8) [af4abd2f]
os: Linux 6.14.0-37-generic x86_64
python: 3.11.14
openai_sdk: 2.24.0
profile: default
aigenlabs_home: ~/.aigenlabs
model: anthropic/claude-opus-4.6
provider: openrouter
terminal: local

api_keys:
openrouter set
openai not set
anthropic set
nous not set
firecrawl set
...

features:
toolsets: all
mcp_servers: 0
memory_provider: built-in
gateway: running (systemd)
platforms: telegram, discord
cron_jobs: 3 active / 5 total
skills: 42

config_overrides:
agent.max_turns: 250
compression.threshold: 0.85
display.streaming: True
--- end dump ---

使用场景

  • 在 GitHub 上报告 bug——将 dump 粘贴到 issue 中
  • 在 Discord 中寻求帮助——在代码块中分享
  • 与他人对比设置
  • 出现问题时快速进行健全性检查
提示

aigenlabs dump 专为分享而设计。交互式诊断请使用 aigenlabs doctor。可视化概览请使用 aigenlabs status

aigenlabs debug

aigenlabs debug share [options]

将调试报告(系统信息 + 近期日志)上传到粘贴服务并获取可分享的 URL。适用于快速支持请求——包含帮助者诊断问题所需的一切信息。

选项说明
--lines <N>每个日志文件包含的日志行数(默认:200)。
--expire <days>粘贴过期天数(默认:7)。
--local在本地打印报告而非上传。

报告包含系统信息(操作系统、Python 版本、AigenLabs 版本)、近期 agent 和 gateway 日志(每文件 512 KB 限制)以及脱敏的 API 密钥状态。密钥始终脱敏——不会上传任何密钥。

依次尝试的粘贴服务:paste.rs、dpaste.com。

示例

aigenlabs debug share              # 上传调试报告,打印 URL
aigenlabs debug share --lines 500 # 包含更多日志行
aigenlabs debug share --expire 30 # 粘贴保留 30 天
aigenlabs debug share --local # 在终端打印报告(不上传)

aigenlabs backup

aigenlabs backup [options]

创建 AigenLabs 配置、skill、会话和数据的 zip 归档。备份不包含 aigenlabs-agent 代码库本身。

选项说明
-o, --output <path>zip 文件的输出路径(默认:~/aigenlabs-backup-<timestamp>.zip)。
-q, --quick快速快照:仅包含关键状态文件(config.yaml、state.db、.env、auth、cron 任务)。比完整备份快得多。
-l, --label <name>快照标签(仅与 --quick 配合使用)。

备份使用 SQLite 的 backup() API 进行安全复制,因此即使 AigenLabs 正在运行也能正确工作(WAL 模式安全)。

zip 中排除的内容:

  • *.db-wal*.db-shm*.db-journal — SQLite 的 WAL/共享内存/日志附属文件。*.db 文件已通过 sqlite3.backup() 获得一致快照;将活跃附属文件一并打包会导致恢复时看到半提交状态。
  • checkpoints/ — 每会话轨迹缓存。以 hash 为键,每次会话重新生成;无论如何都无法干净地移植到其他安装。
  • aigenlabs-agent 代码本身(这是用户数据备份,不是仓库快照)。

示例

aigenlabs backup                           # 完整备份到 ~/aigenlabs-backup-*.zip
aigenlabs backup -o /tmp/aigenlabs.zip # 完整备份到指定路径
aigenlabs backup --quick # 仅状态快速快照
aigenlabs backup --quick --label "pre-upgrade" # 带标签的快速快照

aigenlabs checkpoints

aigenlabs checkpoints [COMMAND]

检查和管理 ~/.aigenlabs/checkpoints/ 处的影子 git 存储——会话内 /rollback 命令的存储层。可随时安全运行;不需要 agent 正在运行。

子命令说明
status(默认)显示总大小、项目数量和每个项目的详情。裸 aigenlabs checkpoints 等同于此。
liststatus 的别名。
prune强制执行清理——删除孤立和过期项目,GC 存储,强制执行大小上限。忽略 24 小时幂等性标记。
clear删除整个 checkpoint 基础存储。不可逆;除非使用 -f 否则要求确认。
clear-legacy仅删除 v1→v2 迁移产生的 legacy-<timestamp>/ 归档。

选项

选项子命令说明
--limit Nstatuslist最多列出的项目数(默认 20)。
--retention-days Nprune删除 last_touch 早于 N 天的项目(默认 7)。
--max-size-mb Nprune在孤立/过期清理后,删除每个项目最旧的 commit,直到总存储大小 ≤ N MB(默认 500)。
--keep-orphansprune跳过删除工作目录不再存在的项目。
-f, --forceclearclear-legacy跳过确认提示。

示例

aigenlabs checkpoints                                  # 状态概览
aigenlabs checkpoints prune --retention-days 3 # 激进清理
aigenlabs checkpoints prune --max-size-mb 200 # 一次性收紧大小上限
aigenlabs checkpoints clear-legacy -f # 删除 v1 归档目录
aigenlabs checkpoints clear -f # 清除所有内容

完整架构和会话内命令,请参阅 Checkpoints 与 /rollback

aigenlabs import

aigenlabs import <zipfile> [options]

将之前创建的 AigenLabs 备份恢复到 AigenLabs 主目录。归档中的所有文件会覆盖 AigenLabs 主目录中的现有文件;--force 仅跳过当目标已有 AigenLabs 安装时触发的确认提示。

选项说明
-f, --force跳过已有安装的确认提示。
注意

导入前请停止 gateway,以避免与正在运行的进程冲突。

示例

aigenlabs import ~/aigenlabs-backup-20260423.zip           # 覆盖现有配置前提示确认
aigenlabs import ~/aigenlabs-backup-20260423.zip --force # 不提示直接覆盖

aigenlabs logs

aigenlabs logs [log_name] [options]

查看、跟踪和过滤 AigenLabs 日志文件。所有日志存储在 ~/.aigenlabs/logs/(非默认 profile 存储在 <profile>/logs/)。

日志文件

名称文件记录内容
agent(默认)agent.log所有 agent 活动——API 调用、工具调度、会话生命周期(INFO 及以上)
errorserrors.log仅警告和错误——agent.log 的过滤子集
gatewaygateway.log消息 gateway 活动——平台连接、消息调度、webhook 事件

选项

选项说明
log_name要查看的日志:agent(默认)、errorsgateway,或 list 以显示可用文件及大小。
-n, --lines <N>显示的行数(默认:50)。
-f, --follow实时跟踪日志,类似 tail -f。按 Ctrl+C 停止。
--level <LEVEL>显示的最低日志级别:DEBUGINFOWARNINGERRORCRITICAL
--session <ID>过滤包含会话 ID 子字符串的行。
--since <TIME>显示相对时间之前的行:30m1h2d 等。支持 s(秒)、m(分钟)、h(小时)、d(天)。
--component <NAME>按组件过滤:gatewayagenttoolsclicron

示例

# 查看 agent.log 的最后 50 行(默认)
aigenlabs logs

# 实时跟踪 agent.log
aigenlabs logs -f

# 查看 gateway.log 的最后 100 行
aigenlabs logs gateway -n 100

# 仅显示最近一小时的警告和错误
aigenlabs logs --level WARNING --since 1h

# 按特定会话过滤
aigenlabs logs --session abc123

# 从 30 分钟前开始跟踪 errors.log
aigenlabs logs errors --since 30m -f

# 列出所有日志文件及其大小
aigenlabs logs list

过滤

过滤器可以组合使用。当多个过滤器同时激活时,日志行必须通过所有过滤器才会显示:

# 最近 2 小时内包含会话 "tg-12345" 的 WARNING+ 行
aigenlabs logs --level WARNING --since 2h --session tg-12345

--since 激活时,没有可解析时间戳的行会被包含(它们可能是多行日志条目的续行)。当 --level 激活时,没有可检测级别的行会被包含。

日志轮转

AigenLabs 使用 Python 的 RotatingFileHandler。旧日志会自动轮转——查找 agent.log.1agent.log.2 等。aigenlabs logs list 子命令显示所有日志文件,包括已轮转的。

aigenlabs config

aigenlabs config <subcommand>

子命令:

子命令说明
show显示当前 config 值。
edit在编辑器中打开 config.yaml
set <key> <value>设置 config 值。
path打印 config 文件路径。
env-path打印 .env 文件路径。
check检查缺失或过期的 config。
migrate交互式添加新引入的选项。

aigenlabs pairing

aigenlabs pairing <list|approve|revoke|clear-pending>
子命令说明
list显示待处理和已审批的用户。
approve <platform> <code>审批配对码。
revoke <platform> <user-id>撤销用户的访问权限。
clear-pending清除待处理的配对码。

aigenlabs skills

aigenlabs skills <subcommand>

子命令:

子命令说明
browse分页浏览 skill 注册表。
search搜索 skill 注册表。
install安装 skill。
inspect预览 skill 而不安装。
list列出已安装的 skill。
check检查已安装的 hub skill 是否有上游更新。
update在有上游变更时重新安装 hub skill。
audit重新扫描已安装的 hub skill。
uninstall删除通过 hub 安装的 skill。
reset通过清除 manifest 条目,取消将捆绑 skill 标记为 user_modified 的状态。使用 --restore 时,还会将用户副本替换为捆绑版本。
publish将 skill 发布到注册表。
snapshot导出/导入 skill 配置。
tap管理自定义 skill 来源。
config按平台交互式启用/禁用 skill 配置。

常用示例:

aigenlabs skills browse
aigenlabs skills browse --source official
aigenlabs skills search react --source skills-sh
aigenlabs skills search https://mintlify.com/docs --source well-known
aigenlabs skills inspect official/security/1password
aigenlabs skills inspect skills-sh/vercel-labs/json-render/json-render-react
aigenlabs skills install official/migration/openclaw-migration
aigenlabs skills install skills-sh/anthropics/skills/pdf --force
aigenlabs skills install https://sharethis.chat/SKILL.md # 直接 URL(单文件 SKILL.md)
aigenlabs skills install https://example.com/SKILL.md --name my-skill # frontmatter 无名称时覆盖名称
aigenlabs skills check
aigenlabs skills update
aigenlabs skills config
aigenlabs skills reset google-workspace
aigenlabs skills reset google-workspace --restore --yes

注意:

  • --force 可以覆盖第三方/社区 skill 的非危险性策略阻止。
  • --force 不覆盖 dangerous 扫描结论。
  • --source skills-sh 搜索公共 skills.sh 目录。
  • --source well-known 允许你将 AigenLabs 指向暴露 /.well-known/skills/index.json 的站点。
  • --source browse-sh 搜索 browse.sh 包含 200+ 站点特定浏览器自动化 skill 的目录。标识符形如 browse-sh/airbnb.com/search-listings-ddgioa
  • 传入 http(s)://…/*.md URL 可直接安装单文件 SKILL.md。当 frontmatter 没有 name: 且 URL slug 不是有效标识符时,交互式终端会提示输入名称;非交互式界面(TUI 内的 /skills install、gateway 平台)需要改用 --name <x>

aigenlabs bundles

aigenlabs bundles <subcommand>

Skill bundle 将多个 skill 归组到一个 /<bundle-name> 斜杠命令下。调用 bundle 会将每个引用的 skill 加载到单个合并的用户消息中。存储位置:~/.aigenlabs/skill-bundles/<slug>.yaml。YAML schema 和行为请参阅 Skill Bundles

子命令:

子命令说明
list列出已安装的 bundle(不带子命令时的默认行为)
show <name>显示某个 bundle 的名称、描述、skill 和文件路径
create <name>创建新 bundle。传入 --skill <id>(可重复)或省略以进行交互式输入。支持 --description--instruction--force
delete <name>删除 bundle 文件
reload重新扫描 ~/.aigenlabs/skill-bundles/ 并报告新增/删除的 bundle

示例:

aigenlabs bundles create backend-dev \
--skill github-code-review \
--skill test-driven-development \
--skill github-pr-workflow \
-d "Backend feature work"

aigenlabs bundles list
aigenlabs bundles show backend-dev
aigenlabs bundles delete backend-dev

在聊天会话中,/bundles 列出已安装的 bundle,/<bundle-name> 加载某个 bundle。

aigenlabs curator

aigenlabs curator <subcommand>

Curator 是一个辅助模型后台任务,定期审查 agent 创建的 skill,修剪过期的,合并重叠的,并归档过时的。捆绑和通过 hub 安装的 skill 不会被触及。归档可恢复;不会发生自动删除。

子命令说明
status显示 curator 状态和 skill 统计
run立即触发 curator 审查(阻塞直到 LLM 处理完成)
run --background在后台线程中启动 LLM 处理并立即返回
run --dry-run仅预览——生成审查报告但不进行任何修改
backup手动对 ~/.aigenlabs/skills/ 进行 tar.gz 快照(curator 在每次真实运行前也会自动快照)
rollback从快照恢复 ~/.aigenlabs/skills/(默认使用最新快照)
rollback --list列出可用快照
rollback --id <ts>按 id 恢复特定快照
rollback -y跳过确认提示
pause暂停 curator 直到恢复
resume恢复已暂停的 curator
pin <skill>固定 skill,使 curator 永不自动转换其状态
unpin <skill>取消固定 skill
restore <skill>恢复已归档的 skill
archive <skill>手动归档 skill
prune手动修剪 curator 通常会清理的 skill
list-archived列出已归档的 skill(可通过 restore 恢复)

在全新安装时,第一次计划运行会延迟一个完整的 interval_hours(默认 7 天)——gateway 不会在 aigenlabs update 后的第一次 tick 时立即执行 curator。使用 aigenlabs curator run --dry-run 在此之前预览。

行为和配置请参阅 Curator

aigenlabs fallback

aigenlabs fallback <subcommand>

管理 fallback provider 链。当主模型因速率限制、过载或连接错误而失败时,按顺序尝试 fallback provider。

子命令说明
list(别名:ls显示当前 fallback 链(不带子命令时的默认行为)
add选择 provider + 模型(与 aigenlabs model 相同的选择器)并追加到链末尾
remove(别名:rm选择要从链中删除的条目
clear删除所有 fallback 条目

参见 Fallback Providers

aigenlabs hooks

aigenlabs hooks <subcommand>

检查 ~/.aigenlabs/config.yaml 中声明的 shell 脚本 hook,针对合成 payload 测试它们,并管理 ~/.aigenlabs/shell-hooks-allowlist.json 处的首次使用同意许可名单。

子命令说明
list(别名:ls列出已配置的 hook 及其匹配器、超时和同意状态
test <event>针对合成 payload 触发匹配 <event> 的所有 hook
revoke(别名:removerm删除某个命令的许可名单条目(下次重启后生效)
doctor检查每个已配置的 hook:可执行位、许可名单、mtime 漂移、JSON 有效性和合成运行计时

事件签名和 payload 格式请参阅 Hooks

aigenlabs memory

aigenlabs memory <subcommand>

设置和管理外部 memory provider plugin。可用 provider:honcho、openviking、mem0、hindsight、holographic、retaindb、byterover、supermemory。同一时间只能有一个外部 provider 处于活跃状态。内置 memory(MEMORY.md/USER.md)始终处于活跃状态。

子命令:

子命令说明
setup交互式 provider 选择和配置。
status显示当前 memory provider 配置。
off禁用外部 provider(仅使用内置)。
Provider 特定子命令

当外部 memory provider 处于活跃状态时,它可能会注册自己的顶级 aigenlabs <provider> 命令用于 provider 特定管理(例如 Honcho 激活时的 aigenlabs honcho)。未激活的 provider 不暴露其子命令。运行 aigenlabs --help 查看当前已连接的命令。

aigenlabs acp

aigenlabs acp

将 AigenLabs 作为 ACP(Agent Client Protocol)stdio 服务器启动,用于编辑器集成。

相关入口:

aigenlabs-acp
python -m acp_adapter

首先安装支持:

pip install -e '.[acp]'

参见 ACP 编辑器集成ACP 内部原理

aigenlabs mcp

aigenlabs mcp <subcommand>

管理 MCP(Model Context Protocol)服务器配置,并将 AigenLabs 作为 MCP 服务器运行。

子命令说明
serve [-v|--verbose]将 AigenLabs 作为 MCP 服务器运行——向其他 agent 暴露对话。
add <name> [--url URL] [--command CMD] [--args ...] [--auth oauth|header]添加 MCP 服务器并自动发现工具。
remove <name>(别名:rm从 config 中删除 MCP 服务器。
list(别名:ls列出已配置的 MCP 服务器。
test <name>测试与 MCP 服务器的连接。
configure <name>(别名:config切换服务器的工具选择。
login <name>强制重新认证基于 OAuth 的 MCP 服务器。

参见 MCP 配置参考在 AigenLabs 中使用 MCPMCP 服务器模式

aigenlabs plugins

aigenlabs plugins [subcommand]

统一的 plugin 管理——通用 plugin、memory provider 和 context engine 集于一处。不带子命令运行 aigenlabs plugins 会打开包含两个部分的复合交互界面:

  • General Plugins — 多选复选框,用于启用/禁用已安装的 plugin
  • Provider Plugins — 单选配置,用于 Memory Provider 和 Context Engine。在某个类别上按 ENTER 打开单选选择器。
子命令说明
(无)复合交互界面——通用 plugin 切换 + provider plugin 配置。
install <identifier> [--force]从 Git URL 或 owner/repo 安装 plugin。
update <name>拉取已安装 plugin 的最新变更。
remove <name>(别名:rmuninstall删除已安装的 plugin。
enable <name>启用已禁用的 plugin。
disable <name>禁用 plugin 而不删除。
list(别名:ls列出已安装的 plugin 及启用/禁用状态。

Provider plugin 选择保存到 config.yaml

  • memory.provider — 活跃 memory provider(为空 = 仅内置)
  • context.engine — 活跃 context engine("compressor" = 内置默认值)

通用 plugin 禁用列表存储在 config.yamlplugins.disabled 下。

参见 Plugins构建 AigenLabs Plugin

aigenlabs tools

aigenlabs tools [--summary]
选项说明
--summary打印当前已启用工具摘要并退出。

不带 --summary 时,启动交互式按平台工具配置界面。

aigenlabs computer-use

aigenlabs computer-use <subcommand>

子命令:

子命令说明
install运行上游 cua-driver 安装程序(仅 macOS)。
install --upgrade即使 cua-driver 已在 PATH 中也重新运行安装程序。上游脚本始终拉取最新版本,因此这会执行原地升级。
status打印 cua-driver 是否在 $PATH 中以及已安装的版本。

aigenlabs computer-use install 是安装 computer_use toolset 使用的 cua-driver 二进制文件的稳定入口。它运行与首次启用 Computer Use 时 aigenlabs tools 调用的相同上游安装程序,因此如果 toolset 切换未触发安装(例如在已配置用户的设置中),可以安全地用于重新运行安装。

aigenlabs update 在更新结束时,如果 cua-driver 在 PATH 中,会自动重新运行上游安装程序,因此大多数用户不需要手动调用 --upgrade。当上游发布了你现在就想要的修复,而不想等待下次 AigenLabs 更新时,使用此选项。

aigenlabs sessions

aigenlabs sessions <subcommand>

子命令:

子命令说明
list列出最近的会话。
browse带搜索和恢复功能的交互式会话选择器。
export <output> [--session-id ID]将会话导出为 JSONL。
delete <session-id>删除单个会话。
prune删除旧会话。
stats显示会话存储统计信息。
rename <session-id> <title>设置或更改会话标题。

aigenlabs insights

aigenlabs insights [--days N] [--source platform]
选项说明
--days <n>分析最近 n 天(默认:30)。
--source <platform>按来源过滤,如 clitelegramdiscord

aigenlabs claw

aigenlabs claw migrate [options]

将 OpenClaw 设置迁移到 AigenLabs。从 ~/.openclaw(或自定义路径)读取并写入 ~/.aigenlabs。自动检测旧版目录名(~/.clawdbot~/.moltbot)和配置文件名(clawdbot.jsonmoltbot.json)。

选项说明
--dry-run预览将迁移的内容而不写入任何内容。
--preset <name>迁移预设:full(所有兼容设置)或 user-data(排除基础设施配置)。两种预设都不导入密钥——需要显式传入 --migrate-secrets
--overwrite在冲突时覆盖现有 AigenLabs 文件(默认:当计划有冲突时拒绝应用)。
--migrate-secrets在迁移中包含 API 密钥。即使在 --preset full 下也需要显式指定。
--no-backup跳过迁移前对 ~/.aigenlabs/ 的 zip 快照(默认情况下,在应用前会将单个还原点归档写入 ~/.aigenlabs/backups/pre-migration-*.zip;可用 aigenlabs import 恢复)。
--source <path>自定义 OpenClaw 目录(默认:~/.openclaw)。
--workspace-target <path>工作区说明(AGENTS.md)的目标目录。
--skill-conflict <mode>处理 skill 名称冲突:skip(默认)、overwriterename
--yes跳过确认提示。

迁移内容

迁移涵盖 30+ 个类别,包括 persona、memory、skill、模型 provider、消息平台、agent 行为、会话策略、MCP 服务器、TTS 等。条目要么直接导入到 AigenLabs 等效项,要么归档以供手动审查。

直接导入: SOUL.md、MEMORY.md、USER.md、AGENTS.md、skill(4 个源目录)、默认模型、自定义 provider、MCP 服务器、消息平台 token 和许可名单(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、agent 默认值(推理努力程度、压缩、人工延迟、时区、沙箱)、会话重置策略、审批规则、TTS 配置、浏览器设置、工具设置、执行超时、命令许可名单、gateway 配置以及来自 3 个来源的 API 密钥。

归档以供手动审查: Cron 任务、plugin、hook/webhook、memory 后端(QMD)、skill 注册表配置、UI/身份、日志、多 agent 设置、频道绑定、IDENTITY.md、TOOLS.md、HEARTBEAT.md、BOOTSTRAP.md。

API 密钥解析按优先级顺序检查三个来源:config 值 → ~/.openclaw/.envauth-profiles.json。所有 token 字段处理纯字符串、环境变量模板(${VAR})和 SecretRef 对象。

完整的 config 键映射、SecretRef 处理详情和迁移后检查清单,请参阅**完整迁移指南**。

示例

# 预览将迁移的内容
aigenlabs claw migrate --dry-run

# 完整迁移(所有兼容设置,不含密钥)
aigenlabs claw migrate --preset full

# 包含 API 密钥的完整迁移
aigenlabs claw migrate --preset full --migrate-secrets

# 仅迁移用户数据(不含密钥),覆盖冲突
aigenlabs claw migrate --preset user-data --overwrite

# 从自定义 OpenClaw 路径迁移
aigenlabs claw migrate --source /home/user/old-openclaw

aigenlabs dashboard

aigenlabs dashboard [options]

启动 Web 控制台——基于浏览器的界面,用于管理配置、API 密钥和监控会话。需要 pip install aigenlabs-agent[web](FastAPI + Uvicorn)。内嵌浏览器 Chat 标签页始终可用,但额外需要 pty extra(pip install 'aigenlabs-agent[web,pty]')以及 POSIX PTY 环境(如 Linux、macOS 或 WSL2)。完整文档请参阅 Web 控制台

选项默认值说明
--port9119Web 服务器运行端口
--host127.0.0.1绑定地址
--no-open不自动打开浏览器
--insecure关闭允许绑定到非 localhost 主机。会在网络上暴露控制台凭据;仅在受信任的网络控制下使用。
--stop停止正在运行的 aigenlabs dashboard 进程并退出。
--status列出正在运行的 aigenlabs dashboard 进程并退出。
# 默认——在浏览器中打开 http://127.0.0.1:9119
aigenlabs dashboard

# 自定义端口,不打开浏览器
aigenlabs dashboard --port 8080 --no-open

aigenlabs profile

aigenlabs profile <subcommand>

管理 profile——多个隔离的 AigenLabs 实例,每个实例拥有自己的 config、会话、skill 和主目录。

子命令说明
list列出所有 profile。
use <name>设置粘性默认 profile。
create <name> [--clone] [--clone-all] [--clone-from <source>] [--no-alias]创建新 profile。--clone 从活跃 profile 复制 config、.envSOUL.md--clone-all 复制所有状态。--clone-from 指定源 profile。
delete <name> [-y]删除 profile。
show <name>显示 profile 详情(主目录、config 等)。
alias <name> [--remove] [--name NAME]管理快速访问 profile 的包装脚本。
rename <old> <new>重命名 profile。
export <name> [-o FILE]将 profile 导出为 .tar.gz 归档(本地备份)。
import <archive> [--name NAME].tar.gz 归档导入 profile(本地恢复)。
install <source> [--name N] [--alias] [--force] [-y]从 git URL 或本地目录安装 profile 发行版。
update <name> [--force-config] [-y]重新拉取发行版;保留用户数据(memory、会话、auth)。
info <name>显示 profile 的发行版 manifest(版本、依赖、来源)。

示例:

aigenlabs profile list
aigenlabs profile create work --clone
aigenlabs profile use work
aigenlabs profile alias work --name h-work
aigenlabs profile export work -o work-backup.tar.gz
aigenlabs profile import work-backup.tar.gz --name restored
aigenlabs profile install github.com/user/my-distro --alias
aigenlabs profile update work
aigenlabs -p work chat -q "Hello from work profile"

aigenlabs completion

aigenlabs completion [bash|zsh|fish]

将 shell 补全脚本打印到 stdout。在 shell profile 中 source 输出内容,即可对 AigenLabs 命令、子命令和 profile 名称进行 Tab 补全。

示例:

# Bash
aigenlabs completion bash >> ~/.bashrc

# Zsh
aigenlabs completion zsh >> ~/.zshrc

# Fish
aigenlabs completion fish > ~/.config/fish/completions/aigenlabs.fish

aigenlabs update

aigenlabs update [--check] [--backup] [--restart-gateway]

拉取最新的 aigenlabs-agent 代码并在 venv 中重新安装依赖,然后重新运行安装后 hook(MCP 服务器、skill 同步、补全安装)。可在运行中的安装上安全执行。

pip 安装: aigenlabs update 自动检测基于 pip 的安装——查询 PyPI 获取最新版本并运行 pip install --upgrade aigenlabs-agent,而非 git pull。PyPI 发布跟踪标记版本(主要/次要版本),而非 main 上的每个 commit。使用 --check 查看是否有更新的 PyPI 版本可用,而不安装。

选项说明
--check并排打印当前 commit 和最新 origin/main commit,同步时退出码为 0,落后时为 1。不拉取、不安装、不重启任何内容。
--backup在拉取前创建 AIGENLABS_HOME 的带标签预更新快照(config、auth、会话、skill、配对数据)。默认关闭——之前的始终备份行为在大型主目录上每次更新会增加数分钟。通过 config.yaml 中的 update.backup: true 永久开启。
--restart-gateway成功更新后重启正在运行的 gateway 服务。如果安装了多个 profile,隐含 --all 语义。

附加行为:

  • 配对数据快照。 即使 --backup 关闭,aigenlabs update 也会在 git pull 前对 ~/.aigenlabs/pairing/ 和 Feishu 评论规则进行轻量快照。如果拉取覆盖了你正在编辑的文件,可以用 aigenlabs backup restore --state pre-update 回滚。
  • 旧版 aigenlabs.service 警告。 如果 AigenLabs 检测到预重命名的 aigenlabs.service systemd 单元(而非当前的 aigenlabs-gateway.service),会打印一次性迁移提示,帮助你避免循环重启问题。
  • 退出码。 成功时为 0,拉取/安装/安装后错误时为 1,阻止 git pull 的意外工作树变更时为 2

维护命令

命令说明
aigenlabs version打印版本信息。
aigenlabs update拉取最新变更并重新安装依赖。
aigenlabs uninstall [--full] [--yes]删除 AigenLabs,可选择删除所有 config/数据。

另请参阅