SuperAPI AI 工具集

cyrus-setup-launch

智能体与模型

查看项目

更新于 10-14 05:33

技能介绍

用途

该技能用于 Cyrus 安装流程的最后阶段:在各项配置完成后,打印一份格式化的安装摘要,并引导用户正式启动 Cyrus 智能体,同时处理后台常驻、证书信任与运行验证等收尾工作。

主要能力

1. 汇总配置状态

技能通过 Bash 命令读取当前状态,涉及以下检查项:

  • Base URL:从 ~/.cyrus/.env 中读取 CYRUS_BASE_URL。
  • Linear:检查 LINEAR_CLIENT_ID 是否配置。
  • GitHub:检查 gh auth status。
  • Slack:检查 SLACK_BOT_TOKEN 是否配置。
  • 仓库:读取 ~/.cyrus/config.json。
  • Claude 认证:检查 ANTHROPIC_API_KEY 或 CLAUDE_CODE_OAUTH_TOKEN 是否配置。

安全约束:明确禁止对 ~/.cyrus/.env 或 ~/.cyrus/ 内任何文件使用 Read、Edit、Write 工具,只能通过 Bash 命令(如 grep、printf >>)操作环境文件,密钥不得读入对话上下文。

2. 打印摘要

以方框形式输出摘要,包含 Endpoint、Claude 配置状态、各 Surface(Linear、GitHub、Slack)连接状态以及仓库列表。已配置项用 ✓,跳过或未配置项用 ✗。

3. 设置后台常驻

Cyrus 需要作为后台进程运行以便长期存活并在重启后恢复。技能建议使用 AskUserQuestion 工具(若可用)询问用户选择:

  • pm2(推荐):Node.js 进程管理器,易配置、崩溃自动重启、内置日志管理。流程为:检查 pm2 是否安装(which pm2),未安装则 npm install -g pm2;执行 pm2 start cyrus --name cyrus;pm2 save;执行 pm2 startup 输出的系统命令(通常需 sudo)。常用命令:pm2 logs cyrus、pm2 restart cyrus、pm2 stop cyrus。
  • systemd(仅 Linux):系统级服务管理,开机自启,用 systemctl 管理。流程为解析 CYRUS_BIN=$(which cyrus) 与 CYRUS_USER=$(whoami),写入 /etc/systemd/system/cyrus.service,再执行 daemon-reload、enable、start。常用命令:sudo systemctl status cyrus、sudo journalctl -u cyrus -f、sudo systemctl restart cyrus。
  • 单者都不选:直接在前台运行 cyrus。

4. 启动 ngrok(如适用)

若在端点步骤中配置了 ngrok,则运行 ngrok start cyrus;若使用 pm2,也可将 ngrok 持久化(pm2 start "ngrok start cyrus" --name ngrok 并 pm2 save)。

5. 沙箱 CA 证书信任(如启用沙箱)

若 config.json 中 sandbox.enabled 为 true,则检查出口代理 CA 证书是否已被系统钥匙串信任:

  • macOS:使用 security find-certificate 检查 System 钥匙串。若已找到,报告 ✓ trusted,并提示可设置 sandbox.systemWideCert: true 以跳过逐会话证书环境变量;若未找到(退出码 44),提示用户并可执行 sudo security add-trusted-cert 命令。
  • Linux:用 test -f 检查 /usr/local/share/ca-certificates/cyrus-egress-ca.crt 是否存在,若不存在则复制证书并运行 sudo update-ca-certificates。

信任系统级证书后,可设置 sandbox.systemWideCert: true,从而跳过逐会话的证书环境变量(NODE_EXTRA_CA_CERTS、GIT_SSL_CAINFO 等)。若用户拒绝系统级信任,Cyrus 仍可工作(逐会话设置证书环境变量),但部分工具(Bun、.NET、macOS 上使用 SecureTransport 的 curl)仅在系统级信任下可用。

6. 验证运行

Cyrus 启动后,通过 curl -s http://localhost:3456/status 验证,应返回 {"status":"idle"} 或类似结果。随后可分配一个 Linear issue 或在 Slack 中 @提及来验证完整链路。

使用方式

该技能作为 Cyrus 安装流程的收尾环节被调用,按步骤依次执行配置读取、摘要打印、后台常驻设置、ngrok 启动、证书信任检查与运行验证。

适用场景

适用于完成 Cyrus 配置后需要启动并长期运行智能体的场景,尤其是需要将其部署为后台服务、需要远程端点(ngrok)或启用沙箱并配置证书信任的部署。

限制

  • systemd 选项仅适用于 Linux。
  • 拒绝系统级证书信任时,部分工具无法在沙箱下正常工作。
  • 关于具体产品定价、平台支持范围等信息,资料中暂未提供。