跳到主要内容
Logo2SOMEone

创建与管理

通过 Web 或 2s1 命令行工具创建机器人、管理密钥与状态

机器人的创建和管理可以在 Web 的「设置 → 自动化机器人」完成;如果你要在脚本或 AI 编程助手里批量操作,也可以使用官方命令行工具 2s1

Web 路径会在创建成功后直接引导你生成运行密钥,并给出发布测试 Bubble 的命令。机器人的头像、昵称、简介也都在这里改——它是一个有自己个人空间的公开账号。

安装与登录

npm install -g @2someone/cli

# 登录(会打开浏览器完成授权)
2s1 login

# 确认登录状态
2s1 whoami

创建机器人

2s1 bot create --username my_bot --nickname "我的机器人" \
  --description "这是一个示例机器人" \
  --capability bubble.create --capability bubble.read
参数必填说明
--username最终用户名 4-16 位字母 / 数字 / 下划线、不能纯数字,且必须以 _bot 结尾。CLI 会自动补 _bot(所以你写的前缀最多 12 位);直接调 Web API 时必须自己带 _bot 后缀,否则返回 400
--nickname显示昵称
--description机器人简介,显示在它的个人空间
--capability能力,可重复传:bubble.create / bubble.read / chat.send
--visibility可见性:private(默认)/ unlisted
--install-policy群聊安装策略:owner_only(默认)/ invite_required
--default-privacy-mode默认隐私模式:mention_only(默认,只在被 @ 时感知)/ commands_only(只感知命令消息)。read_all 需官方开通

创建成功后会返回 botUserId,后续管理命令都用它来指定机器人。

两把密钥,别混用

机器人体系有两种密钥,用途完全不同

账号密钥(human key)运行密钥(bot runtime key)
是谁的身份你自己机器人
怎么获得2s1 login2s1 apikey create2s1 bot key rotate
用来做什么创建/修改/停用机器人机器人程序调接口(发泡泡、发消息)
放在哪你自己的电脑机器人程序的运行环境(如 GitHub Actions secret)

密钥安全

运行密钥(sk_ 开头)只在生成时显示一次,请立即保存。不要把密钥写进代码或提交到 Git 仓库——放进环境变量或部署平台的 Secret 里。如果怀疑泄露,立刻轮换。

管理运行密钥

# 列出当前密钥
2s1 bot key list <botUserId>

# 轮换:生成新密钥,同时自动禁用旧密钥
2s1 bot key rotate <botUserId> --yes

# 轮换并直接打印环境变量写法,方便复制进部署平台
2s1 bot key rotate <botUserId> --print-env --yes

# 生成一把有有效期的临时密钥(如调试用,3600 秒后失效)
2s1 bot key rotate <botUserId> --expires-in 3600 --yes

# 吊销指定密钥
2s1 bot key revoke <botUserId> <keyId> --yes

每个机器人同一时间只有一把启用的运行密钥——轮换即作废旧钥,记得同步更新部署环境里的 Secret。--expires-in 的有效期最长 1 年;不带则密钥长期有效。

改了能力记得换钥匙

2s1 bot update 增减能力后,已发出的旧密钥仍保留旧权限,需要 rotate 一次让新权限生效(或让被移除的权限真正失效)。

管理机器人状态

2s1 bot list                      # 列出我创建的机器人
2s1 bot show <botUserId>          # 查看详情
2s1 bot update <botUserId> --nickname "新昵称"   # 修改资料
2s1 bot pause <botUserId>         # 暂停(接口调用会被拒绝)
2s1 bot resume <botUserId>        # 恢复
2s1 bot disable <botUserId> --yes # 停用账号

2s1 bot update 能改的不止昵称,下面这些字段都可以更新:

参数说明
--nickname显示昵称
--description机器人简介
--capability替换能力(注意是替换不是追加),可重复传
--visibility可见性
--install-policy群聊安装策略
--default-privacy-mode默认隐私模式
--status状态(等价于 pause / resume / disable)
--clear-description清空简介
--clear-capabilities清空全部能力

机器人头像目前在 Web「设置 → 自动化机器人」里上传——进入对应机器人即可换头像、改昵称和简介,让它更像一个独立账号。

安装到群聊

机器人要在群聊里发消息,必须先被安装到那个群(需要你对该群有管理权限):

2s1 bot install <conversationId> --bot @my_bot --yes

--bot 既可以填 @username,也可以填 botUserId。如果直接调安装接口(POST /api/v1/chat/conversations/<id>/bots),传 botUsernamebotUserId 二选一即可;目标不是机器人账号会返回 not_a_bot,群满会返回 group_full,机器人不存在会返回 bot_not_found

测试机器人

CLI 内置了端到端测试命令,用运行密钥真实调用接口:

# 读取机器人自己发过的泡泡(只读,安全)
TWOSOMEONE_BOT_API_KEY=sk_xxx 2s1 bot test bubble-read

# 真实发布一条泡泡
TWOSOMEONE_BOT_API_KEY=sk_xxx 2s1 bot test bubble-create --text "Hello, 泡泡!" --yes

# 向群聊发一条真实消息
TWOSOMEONE_BOT_API_KEY=sk_xxx 2s1 bot test chat-send <conversationId> --text "在呢" --yes

所有命令都支持 --json 输出,方便脚本和 AI 编程助手使用。

把机器人交给 AI 改造

2s1 --json bot context 是专门写给 AI 编程助手(Claude Code / Codex)读的结构化能力清单:已实装的能力、自助创建限制、哪些命令需要 --yes、推荐的安全调用顺序。想让 AI 帮你写或改机器人程序时,先让它读这条命令的输出,它就能拿到准确的平台说明,不会瞎猜接口。