早期预览版,可能仍有一些问题。在 GitHub 查看 RandComAI →
RRandComp Studio

文档

把分散的 AI 会话作为一支协同团队来运行。

一个全能会话会累积所有工作和不断增长的上下文。RandComp Studio 让你把研究、产品、开发和评审拆成专注的角色会话,再把任务、消息、依赖与结果连接起来。它不会替代你的 AI 智能体或 skill 生态。

开始使用

快速开始

先安装 RandComp Studio 应用,然后从桌面看板或支持 MCP 的 AI 会话操作同一支本地团队。两种方式都要求你已安装并登录一个受支持的命令行 AI 智能体。运行器支持可以扩展;角色与运行器一节会说明内置定义以及如何添加自己的运行器。

方式 1

桌面应用

需要:Apple 芯片和 macOS 11 或更高版本,以及至少一个已安装并登录的命令行 AI 智能体(使用你自己的套餐或 API 密钥)——Claude Code、Codex 或 Kimi Code(本机模型可用 Ollama 搭配 Qwen Code)。RandComp 不包含 AI 用量。Python 和 tmux 已内置。

  1. 下载 RandCompStudio-0.2.1.dmg。
  2. 打开文件,把 RandComp Studio 拖入 Applications。
  3. 打开应用,选择公司文件夹的位置。

构建过程会把版本、大小和 SHA-256 写入落地页;打开磁盘映像前请核对页面显示的哈希值。

方式 2

在你的 AI 会话中

需要:RandComp Studio 应用、支持本地 MCP 服务器的 AI 客户端,以及 PATH 中的 randcomp。请先在应用中选择 RandComp Studio → Install the randcomp command in PATH。

claude mcp add -s user randcomp-studio -- randcomp mcp

上面是 Claude Code 示例。-s user 让它在所有项目中可用;不加该参数时,服务器只为当前文件夹注册。其他 MCP 客户端通过各自的本地服务器设置注册同一个 randcomp mcp 进程。

你的 AI 会话可以创建任务、雇用角色、启动智能体、发送工作并读取结果。应用打开后会显示同一块看板和同一组终端。

注册后还会向客户端添加四个 RandComp Studio 斜杠命令。

这是通过标准输入和标准输出通信的本地 MCP 进程,不是托管服务器。RandComp Studio 不需要账户或 API 密钥。AI 客户端仍按自身设置与其供应商通信。

首次运行时的问题

公司文件夹用普通文件保存角色、任务、决策、状态、消息和结果。它不一定是智能体工作的代码库;每个任务可单独选择项目文件夹。

若有多个已配置的运行器可用,RandComp Studio 会询问哪个工具用于运行协调员。它只检查所选运行器是否看起来已登录,不读取或保存凭据值,也不会替你登录。

五分钟

运行第一个项目

从 UI 开始

  1. 运行 randcomp 打开公司窗口。
  2. 选择 Start a project(开始一个项目),用一句话描述你想要什么。
  3. RandComp Studio 打开项目,并把请求交给项目的协调员。
  4. 协调员把这句话拆成一组具体任务,并雇佣帮手完成它们。
  5. 观察每个任务:谁在负责、产出了什么、哪里需要你。想继续推进时,在输入框里发送下一个请求。

从 CLI 开始

randcomp project create "上线一个带结账功能的小型在线商店" --runner kimi
randcomp project list
randcomp project ask PROJECT_ID "增加一个礼品卡页面"
randcomp project show PROJECT_ID

从 randcomp project list 复制 PROJECT_ID。ask 会唤醒项目的真实协调员会话并把请求交给它;如何规划任务是协调员自己的判断。同一组项目命令也可以在公司的所在机器上通过 SSH 使用。

任务和帮手都在项目里:randcomp task create --project PROJECT_ID "..."、randcomp task list --project PROJECT_ID、randcomp agent list --project PROJECT_ID、randcomp result list --project PROJECT_ID。旧写法(randcomp tasks ls、randcomp tasks new、randcomp agents、randcomp finish ID)仍照旧运行,并会打印一行提示现在的叫法,见 旧写法。

从通过 MCP 连接的 AI 会话开始

注册服务器后,让 AI 会话通过 RandComp Studio 创建和管理工作,而不是使用客户端自己的临时子智能体。AI 客户端选择 MCP 工具;RandComp Studio 则负责底层的持久项目、协调员、帮手智能体、会话、消息和结果。

使用 RandComp Studio 为这项工作创建一个项目。
让协调员规划任务,由开发实现,QA 独立评审。
让项目及其帮手始终显示在 RandComp Studio 看板上。

MCP 服务器发布 24 个工具,分四组,名字与模型一致:一个项目(project)包含若干任务(task),任务上有帮手(helper),任务产出成果(result)。

组工具
project_*project_create, project_list, project_show, project_ask, project_finish, project_reopen, project_outcome_update
task_*task_create, task_list, task_show, task_assign, task_depend, task_result_add, task_finish, task_reopen
helper_*helper_list, helper_logs, helper_send, helper_start, helper_stop, helper_attach
result_*result_list, result_show
role_libraryrole_library

会花钱的工具会在自己的说明里写明,客户端调用前也会询问:task_assign 和 helper_start 会启动真实会话;task_create 被标为会花钱,是因为它的旧式公司级写法会派出协调员。其余只读取或记录。

旧名字仍然有效,只是不再列出:所有 v2_* 工具(v2_project_create、v2_agent_list 等;凡接受 helper_id 的地方仍接受 agent_id),以及旧的公司级工具(task_results、task_delete、agent_*、role_add)。task_list、task_create、task_finish 是唯一一处两种含义共用一个名字:带 project_id(task_finish 则带 task_id)调用就是项目模型;不带则是旧的公司级调用,需要先选定公司。每个工具的说明都有英文和中文两个部分。

用自然语言提出请求仍是主要方式;下面四个命令只是常用句子的快捷方式。

斜杠命令

RandComp Studio 发布四个 prompt,客户端会把它们转换成可在消息开头选择的命令。Claude Code 2.1.233 使用以下写法,并在 /mcp 下列出所有已连接服务器的命令:

输入作用
/mcp__randcomp-studio__catch-me-up查看公司现状:所有任务、参与者、等待你处理的事项和沉默的会话。只读。
/mcp__randcomp-studio__what-came-out TASK_ID查看一个任务的目标、协调员记录的结果以及每个文件的完整路径。只读,会话结束很久后仍可使用。
/mcp__randcomp-studio__start-work WHAT YOU WANT DONE根据这句话创建任务,并让协调员雇用所需角色。启动智能体会产生费用;省略内容时系统会询问。
/mcp__randcomp-studio__check-on AGENT_ID读取一个智能体用自己的话记录的工作,以及它是否在等待你。只读。

prompt 名称分别为 catch-me-up、what-came-out、start-work 和 check-on。其他 MCP 客户端可能使用不同写法;请查看该客户端的 prompt 或命令列表。

命令后的内容是它唯一的值:任务 ID、智能体 ID,或你希望完成的工作。

命令给会话的是起点,不是现成答案。

它会返回应该调用哪些 RandComp Studio 工具以及如何读取结果。随后会话在客户端自身审批设置下发起调用;在你允许工具调用前,不会创建、启动或停止任何内容。

核心概念

基本概念

概念含义
公司持久保存角色、任务、决策、消息、状态和产出文件的文件夹。
项目文件夹智能体实际操作的代码库或工作文件夹。每个任务单独选择,可以位于公司文件夹之外。
项目当前应用的主要工作单元:一句你想要的话、一位负责规划的协调员,以及由协调员拆出的一组具体任务。项目持久保存在磁盘上,重启后依然存在。
任务项目计划中的一个具体工作项,有其帮手、实时状态、结果和文件。
智能体一个角色在一个任务中被雇用的实例。两个任务使用开发角色时,会得到两个不同的开发智能体。
会话智能体正在运行的一个终端。会话会产生费用;会话停止后,智能体及其历史仍会保留。
角色可复用定义,例如开发、QA 或市场分析。角色位于帮手库中,本身不会运行。
运行器执行智能体的已安装命令行 AI 工具。Claude Code、Codex 与 Kimi Code 是当前预览版内置的首批定义,不是运行器模型的边界——任何能在终端中运行的 CLI 都可以成为运行器。
角色构成公司;智能体是参与具体工作的成员。

角色库没有实时关系图。关系与箭头只存在于一个任务内部,连接该任务雇用的智能体实例。

图形界面

使用 UI

直接运行 randcomp,不加其他参数。它会在独立窗口中打开公司,服务只绑定到 127.0.0.1。

项目

用一句话开始项目,向协调员发送请求,观看具体任务的计划成形——每个任务都显示谁在负责、产出了什么。

帮手库

浏览可复用的帮手角色库,阅读定义,或导入你已有的定义。

智能体会话

打开帮手的实时会话,阅读终端内容,更改它运行的 AI 工具,或停止会话而不删除智能体。

历史与设置

查看已记录的公司活动,切换浅色或深色外观,选择界面语言,或重播首次使用向导。

读取任务状态

任务状态根据智能体推导,而不是保存一个猜测。需要你表示智能体记录了阻塞或请求;工作中表示当前工作活跃;已完成表示任务已经结束。沉默或未知状态会显示具体原因,不会被简单标成阻塞。

与智能体沟通

从任务中打开智能体,读取当前终端输出并发送消息。“在终端中打开”会加入真实 tmux 会话;按 Ctrl-B,再按 D 即可脱离,智能体会继续工作。

命令行

使用 CLI

randcomp 与 randcomp-studio 是同一个程序,前者更短。每条命令先写对象,再写动作,分四组,与 MCP 工具一一对应:randcomp project …(你想完成的事)、randcomp task …(项目的一部分)、randcomp agent …(在任务上干活的帮手)、randcomp result …(任务的产出)。旧写法(randcomp tasks ls、randcomp agents ID logs)仍会继续工作;randcomp help 讲解的是新写法。

查看进度

randcomp status
randcomp project list
randcomp agent list --project PROJECT_ID

status 是简洁的公司摘要:使用哪个程序运行智能体、是否已登录、任务与智能体数量,以及每项的一行摘要。randcomp project list 列出所有项目及其进度;randcomp agent list 说明每个帮手正在做什么。

读懂输出

project、task、agent、result 命令输出 JSON,可以直接接 jq 或脚本。ID 形如 project-47e1a136b134、task-0c1d69cc7b85,请从 list 命令里复制。

使用另一家公司

randcomp status --company ~/Companies/acme
randcomp --company ~/Companies/new-company

--company PATH 适用于 status、role、经典公司级命令和打开窗口的裸命令。project、task --project、result、agent --project 命令读取本机主目录下的项目库,不接受该参数。它不会改变智能体工作的项目文件夹。

参考

完整 CLI 参考

本参考与当前源代码中的公开解析器一致。方括号表示可选输入。每条命令都接受 -h 或 --help;randcomp help 打印顶层命令图。

参数值与通用行为

值来源
PROJECT_IDrandcomp project list 打印的 id,例如 project-47e1a136b134。
TASK_IDrandcomp task list --project PROJECT_ID 打印的 id,例如 task-0c1d69cc7b85。在经典公司级命令里,它是旧的 randcomp tasks ls 中任务旁的短标识。
AGENT_IDrandcomp agent list 打印的 ID。在经典命令里,若只有一个该角色的智能体,也可使用角色名。
RESULT_IDrandcomp result list --project PROJECT_ID 打印的 id,也出现在 randcomp task show TASK_ID 中。
RESULT_FILE_PATH经典的 randcomp tasks TASK_ID 在“产出”下打印的完整路径。项目模型里请用 randcomp result show RESULT_ID。
ADDRESS已雇用智能体 ID,或不会产生歧义的角色名。

经典公司级命令、role、status 和打开窗口的裸命令都接受 --company PATH。它选择包含 roles/ 与 coordination/ 的公司文件夹,而不是智能体的项目文件夹。默认使用首次运行时记住的公司;不存在的指定路径会被初始化为公司。对 role 命令,该参数可放在动作前或后。project、task --project、agent --project、result 命令作用于 ~/.config/mission-control(或 MISSION_CONTROL_HOME)下的项目库,不接受该参数。

MCP 服务器

randcomp mcp [--company PATH]

通过标准输入和标准输出使用 Model Context Protocol,让本地 MCP 客户端读取和控制公司。请用 claude mcp add -s user randcomp-studio -- randcomp mcp 注册,不要手动运行。它发布客户端可调用的工具,以及客户端显示为斜杠命令的四个 prompt。--company 可选择非默认公司。没有网络监听、托管服务、RandComp Studio 账户或 API 密钥。

项目

项目是主要模型:一个项目包含一句话的目标、一个协调员,以及协调员做出的具体任务计划。下面每条命令在 MCP 里都有同名的对应工具(project create 对应 project_create)。所有命令都输出 JSON,且都不接受 --company。

randcomp project create TEXT... [--title WORDS] [--runner NAME]

为这句话新建项目。--runner 设置项目默认的 AI 工具(如 kimi、claude、codex),省略则用本机默认。

randcomp project list

所有项目、状态和包含的任务。输出 JSON。

randcomp project show PROJECT_ID

一个项目的详情:请求历史、协调员状态和计划。

randcomp project ask PROJECT_ID TEXT...

给项目写一条请求。它的协调员会话会被唤醒(或雇用并启动)并读取;如何规划任务是协调员自己的判断。

randcomp project outcome PROJECT_ID TEXT...

改写项目的一句话目标,例如改成实际交付的内容。

randcomp project finish PROJECT_ID
randcomp project reopen PROJECT_ID

finish 把项目标记为已完成,reopen 重新打开;两者都不会启动任何东西。

任务

任务、帮手和成果都在项目里。下面的命令在 MCP 里有对应工具(task create 对应 task_create,agent list 对应 helper_list),并输出 JSON。

randcomp task create --project PROJECT_ID TEXT...

给项目添加一个任务。它本身不花钱:你派人上去之前不会雇用任何帮手。

randcomp task list --project PROJECT_ID
randcomp task show TASK_ID

项目里所有进行中的任务;或一个任务的状态、依赖、帮手和成果。

randcomp task assign TASK_ID --role ROLE --brief TEXT [--let-it-work-without-asking]

派一个真实的帮手到任务上。这会启动真实的、要花钱的会话。--let-it-work-without-asking 请求运行器的无人值守权限模式,会降低审批边界。

randcomp task depend TASK_ID --on OTHER_TASK_ID

同一项目里的另一个任务完成之前,该任务不能开始。

randcomp task result-add TASK_ID --kind KIND --path-or-url WHERE

记录一项成果:文件路径,或在线链接(kind 为 website)。

randcomp task finish TASK_ID
randcomp task reopen TASK_ID

finish 把任务标记为已完成,其帮手和历史保留在名册上;reopen 移回进行中。

成果

randcomp result list --project PROJECT_ID [--task TASK_ID]

项目各任务产出的所有成果,或某一个任务的成果。

randcomp result show RESULT_ID

一项成果;如果是本地文件,则完整打印。

经典公司级任务

不带 --project 时,task create、task list、task results、task show RESULT_FILE_PATH、task finish、task reopen 是项目出现之前就有的公司级任务板。它们行为不变,需要公司,并会打印一行提示取代它们的项目命令。项目与经典任务是两套独立的数据:经典任务不会出现在 project list 里。

randcomp task create TEXT... [OPTIONS]

创建经典任务、启动协调员,并让协调员雇用所需角色。

  • --name WORDS 设置显示名称和短任务标识的基础,默认使用请求文本。
  • --in PATH 设置每个智能体打开的项目文件夹,默认使用上次选择的项目文件夹。
  • --only ROLE,ROLE 限制协调员可考虑的角色并记住该范围;--only all 清除限制。
  • --with-role ROLE 直接雇用你选择的一个角色,不让协调员选择。
  • --let-it-work-without-asking 请求运行器的无人值守权限模式。这会降低审批边界;randcomp role list 会打印运行器允许的内容。
  • --anyway 在已有会话运行时确认新增支出。省略时,RandComp Studio 会报告运行内容并停止。
randcomp task list [--json] [--company PATH]

打印公司组织图:所有任务、推导状态、智能体和可直接运行的命令。--json 返回结构化 JSON。

randcomp task results TASK_ID [--json] [--company PATH]

显示请求、协调员结果、参与者和产出文件完整路径。若可交互确定任务,可以省略 ID。它只列文件,不打印内容;--json 输出结构化结果。

randcomp task show RESULT_FILE_PATH [--company PATH]

完整打印一个产出文档。包含目录分隔符的参数按文件路径读取,其余按任务名读取。请使用“产出”下显示的精确路径。

randcomp task finish TASK_ID [--yes] [--company PATH]

关闭任务并停止其所有智能体会话。终端中会列出会话并先询问;--yes 提前确认,非交互脚本不会收到提示。智能体和历史会保留。

randcomp task reopen TASK_ID [--company PATH]

重新打开已完成任务,但不会自动启动会话。请列出旧智能体,并仅对需要继续工作的对象运行 randcomp agent start AGENT_ID。

智能体

智能体就是在一个任务上干活的帮手。它在 MCP 里对应 helper_* 工具。

randcomp agent list [--project PROJECT_ID] [--task TASK_ID]

列出所有帮手,或限定到一个项目、一个任务。输出 JSON。

randcomp agent list TASK_ID [--json] [--company PATH]

经典写法:一个经典任务上的智能体。

randcomp agent logs AGENT_ID [--company PATH]

读取智能体自己的话:运行中读取完整实时回滚内容,停止后读取保存的对话。这不是可复用角色定义。

randcomp agent send AGENT_ID TEXT... [--company PATH]

向智能体发送一行。会话运行时直接进入会话;未运行时等待在智能体收件箱中。

randcomp agent attach AGENT_ID [--print-the-command] [--company PATH]

在当前终端加入 tmux 会话;按 Ctrl-B,再按 D 脱离。--print-the-command 只打印加入命令,供其他终端或脚本使用。

randcomp agent start AGENT_ID [--company PATH]
randcomp agent stop AGENT_ID [--company PATH]

start 为持久智能体创建会话并恢复其身份与历史。stop 只结束会话;智能体仍保留并可再次启动。

角色库与雇用

randcomp role add ROLE [OPTIONS]

把公司中的一个角色加入任务。雇用会记录实例,但不一定立即启动;role hire 是旧写法。

  • --assignment WORDS... 记录该实例唯一的一项工作,也可稍后添加。
  • --in PATH 设置智能体打开的项目文件夹,默认使用公司文件夹。隐藏的旧参数 --project PATH 等价。
  • --task SLUG 把智能体绑定到一个任务的协调目录标识。只有真正跨任务工作时才省略。
  • --because WORDS 记录任务为什么需要该角色。
  • --runner NAME 选择运行器;省略时使用已安装并配置的默认项。
randcomp role assign ADDRESS --assignment WORDS... [--continue] [--company PATH]

更改智能体的任务说明。一个会话只拥有一项工作,因此不同工作会被拒绝;--continue 明确表示这是对同一工作的更清晰描述。

randcomp role outcome --task SLUG [WORDS...] [--company PATH]

记录任务的简洁结果、产出路径、结论和剩余工作。不提供结果文字可清除错误结果。

randcomp role list [--all] [--company PATH]

列出已雇用成员和运行情况。--all 包括已退休成员;role roster 等价。

randcomp role retire ADDRESS [--company PATH]

不再把某个成员列为活跃,但保留其历史记录。

randcomp role import PATH [OPTIONS]

把现有 skill、agent、GPT 导出、AGENTS.md 或 Markdown 定义转换为 RandComp Studio 角色包。PATH 可以是文件、目录,或表示标准输入的 -。

  • --as NAME 覆盖推断的角色名。
  • 不加 --add 时不会写入任何内容,只打印建议包供检查。
  • --add 把转换结果复制到 role-library/<name>/ 并生成 roles/<NAME>.md。不会编辑来源或覆盖现有角色。
  • --anyway 允许在缺少非关键资料时写入,但不能绕过缺少名称、使命或覆盖拒绝。

角色会话与运行器

randcomp role runners [--company PATH]

列出所有已配置运行器、是否安装和登录,以及默认运行器。

randcomp role coordinator [--use NAME | --default] [--company PATH]

不加参数时显示新协调员使用的运行器。--use 记住新选择;--default 清除选择并回到运行器表默认值。现有协调员会话不受影响。

randcomp role runs-on ADDRESS [--use NAME] [--wait SECONDS] [--company PATH]

显示智能体运行器。--use 将它迁移到另一个运行器。若正在运行,RandComp Studio 会先请求并验证交接;--wait 设置交接截止时间。

randcomp role launch ADDRESS [--let-it-work-without-asking] [--company PATH]

为已雇用智能体创建会话。无人值守参数会明确降低安全边界;若运行器未定义该模式则会被拒绝。

randcomp role stop ADDRESS [--company PATH]
randcomp role attach ADDRESS [--company PATH]

stop 结束会话但保留雇用记录。角色级 attach 打印加入命令;agent attach 直接加入。

randcomp role replace ADDRESS [--wait SECONDS] [--let-it-work-without-asking] [--company PATH]

请求在线智能体交接、验证交接、退役旧会话并启动新的延续会话。超时则旧会话完全保持原样。

randcomp role at-once [HOW_MANY] [--company PATH]

显示或设置每个任务可同时运行的专业智能体数量。多余成员等待轮次;任务协调员不计入。旧 at-most 已移除,只会说明替代命令。

randcomp role check ADDRESS [--company PATH]
randcomp role history ADDRESS [--company PATH]

check 取出智能体收件箱中等待的全部内容;history 显示该成员的所有会话及会话继承关系。

角色消息

randcomp role say ADDRESS TEXT... [--about TASK_ID] [--company PATH]

发送创始人撰写的消息。向跨任务协调员发送时,--about 用于明确任务。

randcomp role send --to ADDRESS --from NAME [--as-founder] TEXT... [--company PATH]

从一个角色向另一个角色发送消息。--from 如实记录发送者;--as-founder 明确标记消息由创始人撰写。

randcomp role route [--company PATH]

投递角色发件箱中当前等待的全部消息。

randcomp role read ADDRESS [--lines N] [--company PATH]

读取完整实时回滚内容或保存的对话。--lines N 只限制实时内容;已完成对话始终完整显示。

randcomp role inbox [ADDRESS] [--company PATH]

显示一个接收者的未读消息;省略地址时显示所有接收者。

公司状态与窗口

randcomp status [--json] [--company PATH]

打印所选运行器及登录状态、任务和智能体数量,再为每项打印一行摘要。--json 返回结构化输出。

randcomp [--company PATH] [--no-model]

不加后续命令时,在独立窗口中打开公司,并只绑定到 127.0.0.1。--no-model 禁用可选的本地模型说明。

randcomp help
randcomp COMMAND --help

打印完整命令图,或某一命令的解析器帮助。

颜色

randcomp COMMAND --no-color

只有人在终端读取时,命令才会为状态、可复制值、标题和弱化的上下文行着色。通过管道、重定向或智能体读取时,输出是逐字节纯文本。所有命令都支持 --no-color,也遵循 NO_COLOR 和 FORCE_COLOR。

旧写法

建议学习上面的语法。工具过去支持的所有写法仍会原样运行,因此已有脚本不会失效。每一种旧写法会在 stderr 打印一行提示它现在的叫法(例如 `tasks ls` 是 `project list` 的旧写法。它仍然可用,行为不变。),然后照旧执行。--help 不打印提示;没有新名字的命令(tasks ID delete、todo、note、done、status)也不打印。提示语言由 MCTL_LANG=en|zh 决定,否则看系统语言。

旧写法不会被改道:它读写的是经典公司级数据,不是项目库,所以 tasks new 创建的东西不会出现在 project list 里。

project createtasks new, do, dispatch
project listtasks ls, task list(不带 --project)
project show, result listtasks TASK_ID, task results, results
result showtasks RESULT_FILE_PATH, task show RESULT_FILE_PATH, show
project finish / reopentasks TASK_ID finish / reopen, finish, reopen
agent listtasks TASK_ID agents, agents
agent logs/send/attach/start/stopagents AGENT_ID logs 及其余动作, read, say, talk, attach, start, stop
role library, roles并入 role list 与 role import
role addrole hire
app, ui直接运行 randcomp
inbox, handoff, todo add/note/done不再出现在教学界面中,但仍可运行

过渡

从 v1 迁移

v1 看板——本地窗口中 /v1.html 提供的“有什么需要我?”单页——是旧版界面。它只为过渡期保留,并将在后续版本中移除。新版界面位于 /app/v2.html,v1 页面顶部的横幅带有指向它的链接。

旧的任务命令与新的项目、任务、智能体和结果命令一一对应。旧写法会先打印一行提示,例如 `tasks ls` 是 `project list` 的旧写法。它仍然可用,行为不变。,然后照旧执行。

旧命令(v1)新命令
randcomp tasks newrandcomp project create
randcomp tasks lsrandcomp project list
randcomp tasks IDrandcomp project show
randcomp tasks ID agentsrandcomp agent list --project
randcomp tasks ID finishrandcomp project finish
randcomp tasks ID reopenrandcomp project reopen
randcomp agentsrandcomp agent list
randcomp agents ID logsrandcomp agent logs
randcomp agents ID sendrandcomp agent send
randcomp agents ID attachrandcomp agent attach
randcomp agents ID startrandcomp agent start
randcomp agents ID stoprandcomp agent stop

旧写法读写的是经典公司级数据,不是项目库,所以用 tasks new 创建的内容不会出现在 project list 里。新的工作请用 randcomp project create 开始。

执行

角色与运行器

角色是工作定义,运行器是执行它的已安装程序。同一角色的两个智能体可以使用不同运行器。

randcomp role runners
randcomp role coordinator --use NAME
randcomp role runs-on AGENT_ID --use NAME
randcomp role at-once NUMBER

coordinator --use 更改之后启动的协调员运行器。runs-on 把一个智能体迁移到另一运行器。at-once 控制每个任务同时运行的专业智能体数量;多余成员保持已雇用并等待轮次。

RandComp Studio 首批自带 Claude Code、Codex CLI 与 Kimi Code 的运行器定义。它们是初始集成,而不是产品定义。高级用户可在 ~/.config/mission-control/runners.json 中新增或覆盖运行器,无需修改产品;下一步也会加入更多内置运行器。

复用已有 skills 和 agents

RandComp Studio 不是替代型 marketplace。导入器接受你已有的角色定义,例如 Agent Skill、Claude agent 或 skill、导出的 GPT 或普通 Markdown,并转换为本地角色包规范。

randcomp role import ROLE_SOURCE_PATH
randcomp role import ROLE_SOURCE_PATH --add

第一条命令仅用于检查:打印系统理解的内容、角色转换结果,以及匹配规则能否真正选中它。不加 --add 不会写入任何内容。来源路径只读;确认后的转换结果会复制到公司 role-library/。

本地优先设计

文件、隐私与边界

  • UI 服务器只绑定到 127.0.0.1。
  • RandComp Studio 没有托管账户或自己的模型 API 密钥。
  • 匿名使用统计——仅记录事件次数,不含任何内容。每条事件只有类型、UTC 时间和随机安装 ID;不记录项目名称、消息或身份信息,也不保存 IP 地址(和任何服务器一样,Azure 能看到连接本身)。可在“设置 → 使用统计”中关闭。
  • 命令行 AI 智能体仍按该工具的设置和隐私政策与其供应商通信。
  • 公司文件夹包含可读的角色、任务文件、状态、消息和产出。
  • 本地应用状态默认位于 ~/.config/mission-control。设置 MISSION_CONTROL_HOME 可覆盖。
  • RandComp Studio 只检查运行器登录标记是否存在。凭据值不会进入页面、日志或状态文件。
访问项目文件夹就是真实访问。

智能体通过你选择的命令行 AI 工具读取和修改项目文件夹。该工具的审批与沙箱设置决定智能体能做什么。

会话会产生费用

控制成本与自主程度

雇用智能体只写入持久记录;启动会话才可能产生费用。RandComp Studio 明确区分这两个概念。

  • 每个派发任务都有自己的协调员。
  • 默认每个任务同时运行三个专业智能体,协调员不计入。
  • 超过并发数量的智能体等待轮次,而不是被拒绝。
  • 只有应用的消息投递器运行时,排队智能体才会继续;关闭应用会阻止下一轮时,UI 会明确说明。
  • 完成任务会停止所有会话;重新打开不会自动重启。
  • 无人值守权限模式必须明确启用,并且取决于运行器。请先阅读所选运行器允许的行为。

常见问题

故障排查

randcomp: command not found

把 ~/.local/bin 加入 PATH。安装程序会打印适合当前 shell 的精确命令。

export PATH="$HOME/.local/bin:$PATH"

Python 版本过旧

这只影响源码安装,桌面应用自带 Python。源码安装需要 Python 3.11 以读取 TOML 运行器配置;在 macOS 上可运行 brew install python 安装当前版本,也可运行:

MISSION_CONTROL_PYTHON=/path/to/python3 ./install.sh

智能体会话无法启动

应用已经内置 tmux,无需另行安装。它无法内置的是你的命令行 AI 智能体:确认工具位于 PATH 并已通过自身命令登录。randcomp status 会显示找到的工具和登录状态。若从源码安装,则机器上仍需安装 tmux。然后检查:

randcomp status
randcomp role runners

打开了错误的公司

记住的公司不会随当前目录变化。请使用 --company PATH 明确指定另一个公司。

智能体沉默或等待

重启前先读取确切原因和会话记录:

randcomp agent logs AGENT_ID
randcomp agent attach AGENT_ID

维护

移动或卸载

移动解压后的文件夹

已安装命令会指向该文件夹。移动后,请在新位置重新运行 ./install.sh。

移除 RandComp Studio

rm ~/.local/bin/randcomp
rm ~/.local/bin/randcomp-studio

然后删除解压后的产品文件夹。公司文件夹属于你,不会被触碰。