pp-roam
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/productivity/roam/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See AGENTS.md "Generated artifacts: registry.json, cli-skills/". -->
<!-- 生成文件 — 请勿编辑。
本文件是library/productivity/roam/SKILL.md的精确镜像,
由tools/generate-skills/在合并后重新生成。此处手动编辑的内容会在下次生成时被静默覆盖。请改为编辑library/中的源文件。
详见AGENTS.md中的"Generated artifacts: registry.json, cli-skills/"章节。 -->
Roam — Printing Press CLI
Roam — Printing Press CLI
Prerequisites: Install the CLI
前置条件:安装CLI
This skill drives the binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
roam-pp-cli- Install via the Printing Press installer:
bash
npx -y @mvanhorn/printing-press install roam --cli-only - Verify:
roam-pp-cli --version - Ensure (or
$GOPATH/bin) is on$HOME/go/bin.$PATH
If the install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.3 or newer):
npxbash
go install github.com/mvanhorn/printing-press-library/library/productivity/roam/cmd/roam-pp-cli@latestIf reports "command not found" after install, the install step did not put the binary on . Do not proceed with skill commands until verification succeeds.
--version$PATHRoam HQ ships a remote MCP but no CLI. roam-pp-cli unifies all five Roam HQ APIs (HQ, On-Air, Chat, SCIM, Webhooks) into a single binary with a local SQLite cache and FTS5 search across messages and transcripts. Cron-friendly chat relay, decision extraction, attendance drift, and SCIM roster diff are built-in.
本技能基于二进制文件运行。**在调用本技能的任何命令前,你必须确认CLI已安装。**如果未安装,请先执行以下步骤安装:
roam-pp-cli- 通过Printing Press安装器安装:
bash
npx -y @mvanhorn/printing-press install roam --cli-only - 验证:
roam-pp-cli --version - 确保(或
$GOPATH/bin)已添加到$HOME/go/bin环境变量中。$PATH
如果安装失败(无Node环境、离线等情况),可改用Go直接安装(要求Go 1.26.3或更高版本):
npxbash
go install github.com/mvanhorn/printing-press-library/library/productivity/roam/cmd/roam-pp-cli@latest如果安装后执行提示“command not found”,说明安装步骤未将二进制文件添加到中。请在验证成功前不要执行技能命令。
--version$PATHRoam HQ提供远程MCP但无CLI工具。roam-pp-cli将Roam HQ的五大API(HQ、On-Air、Chat、SCIM、Webhooks)整合为单个二进制文件,带有本地SQLite缓存和针对消息与会议记录的FTS5搜索功能。还内置了支持Cron的聊天中继、决策提取、出勤偏差分析和SCIM名单对比功能。
When to Use This CLI
何时使用该CLI
Reach for roam-pp-cli when you need to script Roam HQ from a shell or agent: tail webhook deliveries, post deploy notifications, search transcripts across many meetings at once, reconcile SCIM membership against an HRIS roster, or extract decisions from last week's recordings. The remote MCP at api.ro.am/mcp is great for ad-hoc agent chat; this CLI is the choice when you want pipelines, cron, or local-first search.
当你需要从Shell或Agent脚本化操作Roam HQ时,可使用roam-pp-cli:比如查看webhook投递记录、发布部署通知、跨多个会议搜索记录、将SCIM成员列表与HRIS名单进行比对,或从上周的录制内容中提取决策信息。api.ro.am/mcp的远程MCP适合临时Agent聊天;而当你需要流水线、Cron任务或本地优先搜索时,该CLI是最佳选择。
Unique Capabilities
独特功能
These capabilities aren't available in any other tool for this API.
这些功能是其他同类型API工具所不具备的。
Local state that compounds
可累积的本地状态
-
— Search across every chat message and meeting transcript at once with --since, --from-user, --in-meeting, --in-group filters.
grepReach for this when an agent needs to recall what was said across many meetings without re-paging the rate-limited transcript API.bashroam-pp-cli grep "pricing" --since 14d --in-group eng --json --select transcript_id,line -
— Surface decision-shaped lines ("we decided", "action item", "agreed", "let's go with") from synced transcripts.
decisionsUse when an agent owes the team a Monday recap; deterministic and citation-bearing.bashroam-pp-cli decisions --since 7d --in-group product --agent -
— Compare invited guests vs actual attendance for an On-Air event; print invited-no-show and walk-in sets.
onair-attendance-driftUse when an agent is asked who didn't show or who attended without an invite.bashroam-pp-cli onair-attendance-drift --event evt_123 --json -
— Tail recent webhook deliveries from the local subscription registry, --since filtered.
webhook-tailUse when debugging a webhook integration without standing up a listener.bashroam-pp-cli webhook-tail --since 1h --json -
— Local FTS over messages.text for @user tokens with --since filter; tail format.
mention-inboxUse when an agent must surface unread mentions across all groups without round-tripping the API per group.bashroam-pp-cli mention-inbox --user @me --since 7d --agent
-
— 通过--since、--from-user、--in-meeting、--in-group等过滤器,一次性搜索所有聊天消息和会议记录。
grep当Agent需要回忆多个会议中的讨论内容,且不想受限于API速率限制时,可使用该功能。bashroam-pp-cli grep "pricing" --since 14d --in-group eng --json --select transcript_id,line -
— 从同步的会议记录中提取决策类语句(如“我们决定”、“行动项”、“同意”、“我们选择”)。
decisions当Agent需要为团队生成周一复盘时使用,结果可确定且带有引用来源。bashroam-pp-cli decisions --since 7d --in-group product --agent -
— 对比On-Air活动的受邀嘉宾与实际出勤人员;输出未到场受邀者和临时到场者名单。
onair-attendance-drift当Agent被询问谁未到场或谁未受邀却参加活动时使用。bashroam-pp-cli onair-attendance-drift --event evt_123 --json -
— 从本地订阅注册表中查看最近的webhook投递记录,支持--since过滤。
webhook-tail当调试webhook集成但不想搭建监听服务时使用。bashroam-pp-cli webhook-tail --since 1h --json -
— 对消息文本中的@user标签进行本地FTS搜索,支持--since过滤;采用实时更新格式。
mention-inbox当Agent需要查看所有群组中未读的@提及消息,且不想逐个调用API时使用。bashroam-pp-cli mention-inbox --user @me --since 7d --agent
Mutation safety
变更安全性
-
— Find recurring On-Air events with zero attendance over N days. --apply cancels them via the absorbed cancel endpoint.
onair-reaperUse when cleaning up dead recurring events; safe by default.bashroam-pp-cli onair-reaper --stale-days 60 --dry-run -
— Diff a CSV/JSON HRIS roster against /Users SCIM list; print add/update/remove sets. --apply runs SCIM CRUD.
scim-diffUse when an agent needs to reconcile an external roster with Roam membership without clicking through admin UI.bashroam-pp-cli scim-diff --roster hris.csv --apply --dry-run
-
— 查找连续N天零出勤的重复On-Air活动。--apply参数会通过整合的取消端点取消这些活动。
onair-reaper当清理无效的重复活动时使用,默认是安全的试运行模式。bashroam-pp-cli onair-reaper --stale-days 60 --dry-run -
— 将CSV/JSON格式的HRIS名单与/Users SCIM列表进行比对;输出添加/更新/移除的人员集合。--apply参数会执行SCIM增删改操作。
scim-diff当Agent需要将外部名单与Roam成员列表进行比对,且不想通过管理UI手动操作时使用。bashroam-pp-cli scim-diff --roster hris.csv --apply --dry-run
Agent-native plumbing
Agent原生管道
-
— Run a single question against every transcript in a date range; one row per transcript with answer + citation.
transcript-fanoutUse when an agent must scan many meetings for a single question without re-prompting each one.bashroam-pp-cli transcript-fanout --question "did anyone mention Q3 hiring?" --since 30d --agent -
— Pipe arbitrary stdin lines into a Roam group via /chat.post with deterministic idempotency keys and 429 backoff.
relayUse when an agent needs to forward a stream (CI, alerts, logs) into Roam without writing a custom webhook.bashtail -F deploys.log | roam-pp-cli relay --to eng-deploys --idempotent-key-prefix deploys
-
— 在指定日期范围内的所有会议记录中执行同一个问题;每个会议记录对应一行结果,包含答案和引用来源。
transcript-fanout当Agent需要针对多个会议记录查询同一个问题,且不想逐个重复提问时使用。bashroam-pp-cli transcript-fanout --question "did anyone mention Q3 hiring?" --since 30d --agent -
— 将任意标准输入行通过/chat.post接口转发到Roam群组,带有确定性幂等键和429退避机制。
relay当Agent需要将流数据(CI、告警、日志)转发到Roam,且不想编写自定义webhook时使用。bashtail -F deploys.log | roam-pp-cli relay --to eng-deploys --idempotent-key-prefix deploys
Reachability mitigation
可达性检测
-
— Probe one representative GET per spec family (HQ, On-Air, Chat, SCIM, Webhooks) and print which families this key can reach.
doctor tokenUse when an agent needs to know which Roam commands will work with the credential it has before attempting them.bashroam-pp-cli doctor token
-
— 针对每个API家族(HQ、On-Air、Chat、SCIM、Webhooks)执行一个代表性的GET请求,输出该密钥可访问的API家族。
doctor token当Agent需要确认当前凭证可使用哪些Roam命令时使用。bashroam-pp-cli doctor token
Command Reference
命令参考
addr-info — Manage addr info
- — Get information about a chat address, which is the name for any entity that may participate in a chat, such as a...
roam-pp-cli addr-info
app-uninstall — Manage app uninstall
- — Revoke an access token and uninstall your app. On successful response, your access token will no longer be...
roam-pp-cli app-uninstall
chat-delete — Manage chat delete
- — Delete a previously posted bot message. The bot must own the message being deleted (matched by address ID). Personal...
roam-pp-cli chat-delete
chat-history — Manage chat history
- — List messages in a chat, filtered by date range (after/before). The ordering of results depends on the filter...
roam-pp-cli chat-history
chat-list — Manage chat list
- — List all accessible chats, which consist of all DMs, MultiDMs, and Channels that your bot has been added to, in...
roam-pp-cli chat-list
chat-post — Manage chat post
- — Post a message to a chat. Messages can be plain markdown text, rich Block Kit layouts, or...
roam-pp-cli chat-post
chat-send-message — Manage chat send message
- — Sends the given message to the specified recipients. At this time, we only support sending to a single group...
roam-pp-cli chat-send-message
chat-typing — Manage chat typing
- — Notify other chat participants that you are working on a response. If they have the chat open, they will see '(Bot...
roam-pp-cli chat-typing
chat-update — Manage chat update
- — Edit a previously posted bot message. The updated message can contain plain markdown text or rich [Block...
roam-pp-cli chat-update
group-add — Manage group add
- — Add one or more group members and/or admins. Apps may add members to a group if one of the following conditions is...
roam-pp-cli group-add
group-archive — Manage group archive
- — Archive a group by ID. Access: Organization only. Required scope:
roam-pp-cli group-archive--- OpenAPI Spec:...group:write
group-create — Manage group create
- — Create a group address that can be used for chat. Groups which specify an admin will operate in an 'Admin only'...
roam-pp-cli group-create
group-members — Manage group members
- — List members in a group. Apps may list members if one of the following conditions is true: 1. It is a public group...
roam-pp-cli group-members
group-remove — Manage group remove
- — Remove one or more group members. Apps may remove members from a group if one of the following conditions is true:...
roam-pp-cli group-remove
group-rename — Manage group rename
- — Rename a group by ID. Apps may only rename groups for which they are an admin. Access: Organization only....
roam-pp-cli group-rename
groups — Manage groups
- — Creates a new group in your Roam organization. Required fields:
roam-pp-cli groups 02-create(max 64 characters). Optional:...displayName - — Archives a group in Roam. This is a soft delete — the group data is retained but becomes inactive....
roam-pp-cli groups 02-delete - — Retrieves a single group by its Roam Address ID. The response includes the group's
roam-pp-cli groups 02-getanddisplayNamearray...members - — Returns a paginated list of groups in your Roam organization. Pagination: Use
roam-pp-cli groups 02-list(1-based) andstartIndex...count - — Partially updates a group. Use this to add or remove members without replacing the entire group. **Supported...
roam-pp-cli groups 02-patch - — Fully replaces a group's attributes. The entire
roam-pp-cli groups 02-replacelist is replaced with the provided values. **Required...members
groups-list — Manage groups list
- — Lists all public, non-archived groups in your home Roam. Access: Organization only. Required scope:...
roam-pp-cli groups-list
item-upload — Manage item upload
- — Upload a file so that it can be sent as a chat message attachment. The returned object contains an item ID which can...
roam-pp-cli item-upload
lobby-booking-list — Manage lobby booking list
- — Lists bookings for a specific lobby configuration, filtered by date range (after/before). The ordering of results...
roam-pp-cli lobby-booking-list
lobby-list — Manage lobby list
- — Lists active lobbies in your account. A lobby URL has the form
roam-pp-cli lobby-listorro.am/{handle}. - The...ro.am/{handle}/{slug}
magicast-info — Manage magicast info
- — Retrieve a magicast by ID. Access: Organization and Personal. In Personal mode, only magicasts owned by the...
roam-pp-cli magicast-info
magicast-list — Manage magicast list
- — Lists all magicasts in your Roam, sorted in reverse chronological order. Access: Organization and Personal. In...
roam-pp-cli magicast-list
meeting-list — Manage meeting list
- — Lists all meetings in your home Roam, filtered by date range (after/before). The ordering of results depends on the...
roam-pp-cli meeting-list
meetinglink-create — Manage meetinglink create
- — Create a meeting link. Access: Organization and Personal. In Organization mode, specify the host by email. In...
roam-pp-cli meetinglink-create
meetinglink-info — Manage meetinglink info
- — Get a meeting link. Access: Organization only. Required scope:
roam-pp-cli meetinglink-info--- OpenAPI Spec:...meetinglink:read
meetinglink-update — Manage meetinglink update
- — Update a meeting link. Access: Organization only. Required scope:
roam-pp-cli meetinglink-update--- OpenAPI Spec:...meetinglink:write
messageevent-export — Manage messageevent export
- — Obtain a daily message event export containing DMs and group chats within your account. For customers with archival...
roam-pp-cli messageevent-export
onair-attendance-list — Manage onair attendance list
- — Returns the attendance report for an On-Air event, combining RSVP data with join/duration information. Guests with...
roam-pp-cli onair-attendance-list
onair-event-cancel — Manage onair event cancel
- — Cancels an On-Air event. This action cannot be undone. Access: Organization and Personal. Required scope:...
roam-pp-cli onair-event-cancel
onair-event-create — Manage onair event create
- — Creates a new On-Air event. The calendar host must be a member of the organization. When using a personal access...
roam-pp-cli onair-event-create
onair-event-info — Manage onair event info
- — Returns details for a single On-Air event. Access: Organization and Personal. Required scope:
roam-pp-cli onair-event-info...onair:read
onair-event-list — Manage onair event list
- — Returns a paginated list of On-Air events for the organization. Results are sorted by start time in descending order...
roam-pp-cli onair-event-list
onair-event-update — Manage onair event update
- — Updates an existing On-Air event. Only the fields provided in the request body are updated; omitted fields remain...
roam-pp-cli onair-event-update
onair-guest-add — Manage onair guest add
- — Adds one or more guests to an On-Air event. Access: Organization and Personal. Required scope:
roam-pp-cli onair-guest-add...onair:write
onair-guest-info — Manage onair guest info
- — Returns details for a single On-Air event guest. Access: Organization and Personal. Required scope:...
roam-pp-cli onair-guest-info
onair-guest-list — Manage onair guest list
- — Returns a paginated list of guests for an On-Air event. Optionally filter by RSVP status. Results are sorted by...
roam-pp-cli onair-guest-list
onair-guest-remove — Manage onair guest remove
- — Removes a guest from an On-Air event. Access: Organization and Personal. Required scope:
roam-pp-cli onair-guest-remove---...onair:write
onair-guest-update — Manage onair guest update
- — Updates the RSVP status of a guest. Access: Organization and Personal. Required scope:
roam-pp-cli onair-guest-update---...onair:write
reaction-add — Manage reaction add
- — Add a reaction to a message in a chat. Access: Organization only. Required scope:
roam-pp-cli reaction-addor...chat:send_message
recording-list — Manage recording list
- — Lists all recordings in your home Roam, filtered by date range (after/before). The ordering of results depends on...
roam-pp-cli recording-list
resource-types — Manage resource types
- — Returns the list of resource types supported by Roam:
roam-pp-cli resource-typesandUser. No authentication required for this...Group
schemas — Manage schemas
- — Returns the definition of a specific SCIM schema by its URN identifier. No authentication required for this...
roam-pp-cli schemas 03-metadata-get - — Returns all SCIM schemas supported by Roam, including the core User and Group schemas plus Roam's custom role...
roam-pp-cli schemas 03-metadata-list
service-provider-config — Manage service provider config
- — Returns Roam's SCIM capabilities and supported features. Use this endpoint to discover which SCIM operations are...
roam-pp-cli service-provider-config
test — Manage test
- — Test endpoint
roam-pp-cli test
token-info — Manage token info
- — Get information about the access token, such as the Chat Address. Access: Organization and Personal. **No...
roam-pp-cli token-info
transcript-info — Manage transcript info
- — Retrieve a transcript by ID from your home Roam. Works for both completed and live (ongoing) meetings. For live...
roam-pp-cli transcript-info
transcript-list — Manage transcript list
- — Lists all transcripts in your home Roam, filtered by date range (after/before). This endpoint returns transcript...
roam-pp-cli transcript-list
transcript-prompt — Manage transcript prompt
- — Ask a question about a specific meeting transcript and receive an AI-generated answer based on its content. Use...
roam-pp-cli transcript-prompt
user-info — Manage user info
- — Get detailed information about a single user by ID. Access: Organization only. Required scope:
roam-pp-cli user-info...user:read
user-list — Manage user list
- — List all users in the account. Users are returned in the order they were added to the account. Access:...
roam-pp-cli user-list
user-lookup — Manage user lookup
- — Look up users in the account by email. Access: Organization only. Required scopes:
roam-pp-cli user-lookupand...user:read
userauditlog-list — Manage userauditlog list
- — Get a list of user audit log entries for the account. Access: Organization only. Required scope:...
roam-pp-cli userauditlog-list
users — Manage users
- — Provisions a new user in your Roam organization. Required fields:
roam-pp-cli users 01-create,userName,...name.givenName - — Archives a user in Roam. This is a soft delete — the user's data is retained but they lose access....
roam-pp-cli users 01-delete - — Retrieves a single user by their Roam Person ID. The response includes all user attributes, the
roam-pp-cli users 01-getstatus, and...active - — Returns a paginated list of users in your Roam organization. Filtering: Supports SCIM filter expressions, e.g.,...
roam-pp-cli users 01-list - — Partially updates a user. Roam supports SCIM PATCH for Users with limited semantics. Supported operations: -...
roam-pp-cli users 01-patch - — Fully replaces a user's attributes. You must provide all required fields in the request body. **Roam-specific...
roam-pp-cli users 01-replace
webhook-subscribe — Manage webhook subscribe
- — Create or update a webhook subscription for a given event. If a subscription already exists for the same event and...
roam-pp-cli webhook-subscribe
webhook-unsubscribe — Manage webhook unsubscribe
- — Remove a webhook subscription by ID. Access: Organization only. Required scope:
roam-pp-cli webhook-unsubscribe---...webhook:write
addr-info — 管理地址信息
- — 获取聊天地址的信息,聊天地址是指可参与聊天的任何实体的名称,例如……
roam-pp-cli addr-info
app-uninstall — 管理应用卸载
- — 撤销访问令牌并卸载应用。成功响应后,你的访问令牌将不再……
roam-pp-cli app-uninstall
chat-delete — 管理聊天消息删除
- — 删除之前发送的机器人消息。机器人必须拥有要删除的消息(通过地址ID匹配)。个人……
roam-pp-cli chat-delete
chat-history — 管理聊天历史
- — 列出聊天中的消息,支持按日期范围(after/before)过滤。结果的排序方式取决于过滤器……
roam-pp-cli chat-history
chat-list — 管理聊天列表
- — 列出所有可访问的聊天,包括所有私信、多人私信和机器人已加入的频道,按……
roam-pp-cli chat-list
chat-post — 管理聊天消息发送
- — 向聊天发送消息。消息可以是纯markdown文本、富文本Block Kit布局,或……
roam-pp-cli chat-post
chat-send-message — 管理聊天消息发送
- — 向指定收件人发送给定消息。目前仅支持发送到单个群组……
roam-pp-cli chat-send-message
chat-typing — 管理聊天输入状态
- — 通知其他聊天参与者你正在回复。如果他们打开了聊天窗口,会看到'(Bot……
roam-pp-cli chat-typing
chat-update — 管理聊天消息编辑
- — 编辑之前发送的机器人消息。更新后的消息可以包含纯markdown文本或富文本[Block……
roam-pp-cli chat-update
group-add — 管理群组成员添加
- — 添加一个或多个群组成员和/或管理员。应用在以下条件之一满足时可添加成员到群组:……
roam-pp-cli group-add
group-archive — 管理群组归档
- — 通过ID归档群组。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli group-archive--- OpenAPI规范:……group:write
group-create — 管理群组创建
- — 创建可用于聊天的群组地址。指定管理员的群组将以“仅管理员”模式运行……
roam-pp-cli group-create
group-members — 管理群组成员列表
- — 列出群组成员。应用在以下条件之一满足时可列出成员:1. 这是一个公开群组……
roam-pp-cli group-members
group-remove — 管理群组成员移除
- — 移除一个或多个群组成员。应用在以下条件之一满足时可移除成员:……
roam-pp-cli group-remove
group-rename — 管理群组重命名
- — 通过ID重命名群组。应用仅可重命名其作为管理员的群组。**访问权限:**仅组织用户……
roam-pp-cli group-rename
groups — 管理群组
- — 在你的Roam组织中创建新群组。必填字段:
roam-pp-cli groups 02-create(最多64个字符)。可选字段:……displayName - — 在Roam中归档群组。这是软删除——群组数据会保留但变为非活跃状态……
roam-pp-cli groups 02-delete - — 通过Roam地址ID检索单个群组。响应包含群组的
roam-pp-cli groups 02-get和displayName数组……members - — 返回Roam组织中群组的分页列表。**分页:**使用
roam-pp-cli groups 02-list(从1开始)和startIndex……count - — 部分更新群组。用于添加或移除成员而无需替换整个群组。**支持的……
roam-pp-cli groups 02-patch - — 完全替换群组的属性。整个
roam-pp-cli groups 02-replace列表将被提供的值替换。**必填……members
groups-list — 管理群组列表
- — 列出你的Roam中所有公开、未归档的群组。**访问权限:**仅组织用户。所需权限范围:……
roam-pp-cli groups-list
item-upload — 管理文件上传
- — 上传文件以便作为聊天消息附件发送。返回的对象包含一个项目ID,可……
roam-pp-cli item-upload
lobby-booking-list — 管理预约列表
- — 列出特定大厅配置的预约,支持按日期范围(after/before)过滤。结果的排序方式……
roam-pp-cli lobby-booking-list
lobby-list — 管理大厅列表
- — 列出账户中的活跃大厅。大厅URL格式为
roam-pp-cli lobby-list或ro.am/{handle}。- ……ro.am/{handle}/{slug}
magicast-info — 管理magicast信息
- — 通过ID检索magicast。**访问权限:**组织和个人用户。个人模式下,仅可访问自己拥有的……
roam-pp-cli magicast-info
magicast-list — 管理magicast列表
- — 列出Roam中的所有magicast,按时间倒序排序。**访问权限:**组织和个人用户。在……
roam-pp-cli magicast-list
meeting-list — 管理会议列表
- — 列出你的Roam中的所有会议,支持按日期范围(after/before)过滤。结果的排序方式取决于……
roam-pp-cli meeting-list
meetinglink-create — 管理会议链接创建
- — 创建会议链接。**访问权限:**组织和个人用户。组织模式下,通过邮箱指定主持人。在……
roam-pp-cli meetinglink-create
meetinglink-info — 管理会议链接信息
- — 获取会议链接。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli meetinglink-info--- OpenAPI规范:……meetinglink:read
meetinglink-update — 管理会议链接更新
- — 更新会议链接。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli meetinglink-update--- OpenAPI规范:……meetinglink:write
messageevent-export — 管理消息事件导出
- — 获取包含账户内私信和群组聊天的每日消息事件导出。对于有归档需求的客户……
roam-pp-cli messageevent-export
onair-attendance-list — 管理On-Air出勤列表
- — 返回On-Air活动的出勤报告,结合RSVP数据和加入/时长信息。……
roam-pp-cli onair-attendance-list
onair-event-cancel — 管理On-Air活动取消
- — 取消On-Air活动。此操作不可撤销。**访问权限:**组织和个人用户。所需权限范围:……
roam-pp-cli onair-event-cancel
onair-event-create — 管理On-Air活动创建
- — 创建新的On-Air活动。日历主持人必须是组织成员。使用个人访问……
roam-pp-cli onair-event-create
onair-event-info — 管理On-Air活动信息
- — 返回单个On-Air活动的详细信息。**访问权限:**组织和个人用户。所需权限范围:
roam-pp-cli onair-event-info……onair:read
onair-event-list — 管理On-Air活动列表
- — 返回组织中On-Air活动的分页列表。结果按开始时间倒序排序……
roam-pp-cli onair-event-list
onair-event-update — 管理On-Air活动更新
- — 更新现有On-Air活动。仅更新请求体中提供的字段;未提供的字段保持……
roam-pp-cli onair-event-update
onair-guest-add — 管理On-Air嘉宾添加
- — 为On-Air活动添加一个或多个嘉宾。**访问权限:**组织和个人用户。所需权限范围:
roam-pp-cli onair-guest-add……onair:write
onair-guest-info — 管理On-Air嘉宾信息
- — 返回单个On-Air活动嘉宾的详细信息。**访问权限:**组织和个人用户。所需权限范围:……
roam-pp-cli onair-guest-info
onair-guest-list — 管理On-Air嘉宾列表
- — 返回On-Air活动嘉宾的分页列表。可按RSVP状态过滤。结果按……
roam-pp-cli onair-guest-list
onair-guest-remove — 管理On-Air嘉宾移除
- — 从On-Air活动中移除嘉宾。**访问权限:**组织和个人用户。所需权限范围:
roam-pp-cli onair-guest-remove--- ……onair:write
onair-guest-update — 管理On-Air嘉宾RSVP更新
- — 更新嘉宾的RSVP状态。**访问权限:**组织和个人用户。所需权限范围:
roam-pp-cli onair-guest-update--- ……onair:write
reaction-add — 管理消息反应添加
- — 为聊天消息添加反应。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli reaction-add或……chat:send_message
recording-list — 管理录制内容列表
- — 列出你的Roam中的所有录制内容,支持按日期范围(after/before)过滤。结果的排序方式取决于……
roam-pp-cli recording-list
resource-types — 管理资源类型
- — 返回Roam支持的资源类型列表:
roam-pp-cli resource-types和User。无需认证即可访问……Group
schemas — 管理SCIM模式
- — 通过URN标识符返回特定SCIM模式的定义。无需认证即可访问……
roam-pp-cli schemas 03-metadata-get - — 返回Roam支持的所有SCIM模式,包括核心User和Group模式以及Roam的自定义角色……
roam-pp-cli schemas 03-metadata-list
service-provider-config — 管理服务提供商配置
- — 返回Roam的SCIM功能和支持的特性。使用此端点可发现Roam支持哪些SCIM操作……
roam-pp-cli service-provider-config
test — 管理测试端点
- — 测试端点
roam-pp-cli test
token-info — 管理令牌信息
- — 获取访问令牌的信息,如聊天地址。**访问权限:**组织和个人用户。**无需……
roam-pp-cli token-info
transcript-info — 管理会议记录信息
- — 通过ID从你的Roam中检索会议记录。支持已完成和进行中的会议。对于直播……
roam-pp-cli transcript-info
transcript-list — 管理会议记录列表
- — 列出你的Roam中的所有会议记录,支持按日期范围(after/before)过滤。此端点返回会议记录……
roam-pp-cli transcript-list
transcript-prompt — 管理会议记录提问
- — 针对特定会议记录提问,并基于内容获取AI生成的答案。使用……
roam-pp-cli transcript-prompt
user-info — 管理用户信息
- — 通过ID获取单个用户的详细信息。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli user-info……user:read
user-list — 管理用户列表
- — 列出账户中的所有用户。用户按加入账户的顺序返回。访问权限:……
roam-pp-cli user-list
user-lookup — 管理用户查找
- — 通过邮箱查找账户中的用户。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli user-lookup和……user:read
userauditlog-list — 管理用户审计日志列表
- — 获取账户的用户审计日志条目列表。**访问权限:**仅组织用户。所需权限范围:……
roam-pp-cli userauditlog-list
users — 管理用户
- — 在你的Roam组织中创建新用户。必填字段:
roam-pp-cli users 01-create、userName、……name.givenName - — 在Roam中归档用户。这是软删除——用户数据会保留但失去访问权限……
roam-pp-cli users 01-delete - — 通过Roam人员ID检索单个用户。响应包含所有用户属性、
roam-pp-cli users 01-get状态和……active - — 返回Roam组织中用户的分页列表。**过滤:**支持SCIM过滤表达式,例如……
roam-pp-cli users 01-list - — 部分更新用户。Roam对用户支持有限语义的SCIM PATCH。支持的操作:- ……
roam-pp-cli users 01-patch - — 完全替换用户的属性。你必须在请求体中提供所有必填字段。**Roam特定……
roam-pp-cli users 01-replace
webhook-subscribe — 管理webhook订阅
- — 为指定事件创建或更新webhook订阅。如果同一事件和……已存在订阅……
roam-pp-cli webhook-subscribe
webhook-unsubscribe — 管理webhook取消订阅
- — 通过ID移除webhook订阅。**访问权限:**仅组织用户。所需权限范围:
roam-pp-cli webhook-unsubscribe--- ……webhook:write
Finding the right command
查找合适的命令
When you know what you want to do but not which command does it, ask the CLI directly:
bash
roam-pp-cli which "<capability in your own words>"which02--help当你知道要做什么但不知道对应的命令时,可直接询问CLI:
bash
roam-pp-cli which "<用你自己的语言描述功能>"which02--helpRecipes
使用示例
Daily standup digest
每日站会摘要
bash
roam-pp-cli decisions --since 1d --in-group standup --agent --select transcript_id,line,speakerPull yesterday's decisions from the standup group, formatted for agent consumption with citation.
bash
roam-pp-cli decisions --since 1d --in-group standup --agent --select transcript_id,line,speaker从站会群组中提取昨天的决策,格式适合Agent使用并带有引用来源。
Cross-meeting question scan
跨会议问题扫描
bash
roam-pp-cli transcript-fanout --question "did anyone mention Q3 hiring?" --since 30d --agentRun one question against every transcript in the last 30 days.
bash
roam-pp-cli transcript-fanout --question "did anyone mention Q3 hiring?" --since 30d --agent针对过去30天的所有会议记录执行同一个问题。
Reconcile HRIS roster with Roam SCIM
对比HRIS名单与Roam SCIM
bash
roam-pp-cli scim-diff --roster hris.csv --apply --dry-runSee add/update/remove sets before applying; drop --dry-run to execute.
bash
roam-pp-cli scim-diff --roster hris.csv --apply --dry-run在执行前查看添加/更新/移除的人员集合;移除--dry-run参数即可执行变更。
Pipe CI alerts into Roam
将CI告警转发到Roam
bash
tail -F /var/log/ci.log | roam-pp-cli relay --to eng-alerts --idempotent-key-prefix ciStream CI log lines into a Roam group with deterministic dedupe.
bash
tail -F /var/log/ci.log | roam-pp-cli relay --to eng-alerts --idempotent-key-prefix ci将CI日志流转发到Roam群组,并带有确定性去重机制。
Narrow a deeply-nested transcript response
精简嵌套的会议记录响应
bash
roam-pp-cli transcript-info --id <id> --json --select segments.speaker,segments.textUse --select with dotted paths to keep agent context small on long transcripts.
bash
roam-pp-cli transcript-info --id <id> --json --select segments.speaker,segments.text使用--select参数和点路径,在处理长会议记录时缩小Agent的上下文范围。
Auth Setup
认证设置
Bearer auth via ROAM_API_KEY. Roam supports two key tiers: full-access organization keys and personal access tokens. Some HQ v1 endpoints require full-access; Chat/Transcript v0 endpoints work with PATs. Run to see which families your key can reach.
roam-pp-cli doctor tokenRun to verify setup.
roam-pp-cli doctor通过ROAM_API_KEY进行Bearer认证。Roam支持两种密钥级别:全权限组织密钥和个人访问令牌。部分HQ v1端点需要全权限密钥;Chat/Transcript v0端点支持个人访问令牌。执行可查看你的密钥可访问的API家族。
roam-pp-cli doctor token执行可验证设置是否正确。
roam-pp-cli doctorAgent Mode
Agent模式
Add to any command. Expands to: .
--agent--json --compact --no-input --no-color --yes-
Pipeable — JSON on stdout, errors on stderr
-
Filterable —keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
--selectbashroam-pp-cli addr-info --agent --select id,name,status -
Previewable —shows the request without sending
--dry-run -
Offline-friendly — sync/search commands can use the local SQLite store when available
-
Non-interactive — never prompts, every input is a flag
-
Explicit retries — useonly when an already-existing create should count as success, and
--idempotentonly when a missing delete target should count as success--ignore-missing
在任何命令后添加参数。该参数等价于:。
--agent--json --compact --no-input --no-color --yes-
可管道化 — 标准输出为JSON,错误输出到标准错误
-
可过滤 —参数保留字段子集。点路径可深入嵌套结构;数组会遍历每个元素。在处理冗长API时,这对缩小上下文范围至关重要:
--selectbashroam-pp-cli addr-info --agent --select id,name,status -
可预览 —参数显示请求但不发送
--dry-run -
离线友好 — 同步/搜索命令在可用时可使用本地SQLite存储
-
非交互式 — 从不提示,所有输入均通过标志参数提供
-
显式重试 — 仅当已存在的创建操作应视为成功时使用;仅当缺失的删除目标应视为成功时使用
--idempotent--ignore-missing
Response envelope
响应信封
Commands that read from the local store or the API wrap output in a provenance envelope:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse for data and to know whether it's live or local. A human-readable summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.
.results.meta.sourceN results (live)从本地存储或API读取数据的命令会将输出包装在来源信封中:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}解析获取数据,可判断数据是实时的还是本地的。仅当标准输出为终端时,才会在标准错误中打印人类可读的摘要;管道/Agent消费者仅会在标准输出中获取纯JSON。
.results.meta.sourceN results (live)Agent Feedback
Agent反馈
When you (or the agent) notice something off about this CLI, record it:
roam-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
roam-pp-cli feedback --stdin < notes.txt
roam-pp-cli feedback list --json --limit 10Entries are stored locally at . They are never POSTed unless is set AND either is passed or . Default behavior is local-only.
~/.roam-pp-cli/feedback.jsonlROAM_FEEDBACK_ENDPOINT--sendROAM_FEEDBACK_AUTO_SEND=trueWrite what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
当你(或Agent)发现该CLI存在问题时,可记录反馈:
roam-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
roam-pp-cli feedback --stdin < notes.txt
roam-pp-cli feedback list --json --limit 10反馈条目会存储在本地文件中。除非设置了且传递了参数或设置了,否则反馈不会被POST到服务器。默认行为是仅本地存储。
~/.roam-pp-cli/feedback.jsonlROAM_FEEDBACK_ENDPOINT--sendROAM_FEEDBACK_AUTO_SEND=true请记录让你感到意外的内容,而非正式的bug报告。简短、具体、单行描述:这样的内容更有价值。
Output Delivery
输出交付
Every command accepts . The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
--deliver <sink>| Sink | Effect |
|---|---|
| Default; write to stdout only |
| Atomically write output to |
| POST the output body to the URL ( |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
每个命令都支持参数。输出会发送到指定的接收端,同时(或替代)输出到标准输出,这样Agent无需手动管道即可路由命令结果。支持三种接收端:
--deliver <sink>| 接收端 | 效果 |
|---|---|
| 默认;仅输出到标准输出 |
| 原子性地将输出写入 |
| 将输出体POST到指定URL(当使用 |
未知的协议会被拒绝,并返回结构化错误信息,列出支持的接收端类型。Webhook失败会返回非零退出码,并在标准错误中记录URL和HTTP状态码。
Named Profiles
命名配置文件
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
roam-pp-cli profile save briefing --json
roam-pp-cli --profile briefing addr-info
roam-pp-cli profile list --json
roam-pp-cli profile show briefing
roam-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. lists all available profiles under so introspecting agents discover them at runtime.
agent-contextavailable_profiles配置文件是一组保存的标志值,可在多次调用中复用。当定时Agent每次运行都使用相同配置调用同一命令时,可使用此功能——即HeyGen的“Beacon”模式。
roam-pp-cli profile save briefing --json
roam-pp-cli --profile briefing addr-info
roam-pp-cli profile list --json
roam-pp-cli profile show briefing
roam-pp-cli profile delete briefing --yes显式标志始终优先于配置文件中的值;配置文件中的值优先于默认值。会在下列出所有可用配置文件,以便Agent在运行时发现它们。
agent-contextavailable_profilesExit Codes
退出码
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 使用错误(参数错误) |
| 3 | 资源未找到 |
| 4 | 需要认证 |
| 5 | API错误(上游问题) |
| 7 | 速率限制(等待后重试) |
| 10 | 配置错误 |
Argument Parsing
参数解析
Parse :
$ARGUMENTS- Empty, , or
help→ show--helpoutputroam-pp-cli --help - Starts with → ends with
install→ MCP installation; otherwise → see Prerequisites abovemcp - Anything else → Direct Use (execute as CLI command with )
--agent
解析:
$ARGUMENTS- 为空、或
help→ 显示--help输出roam-pp-cli --help - 以开头 → 结尾为
install→ MCP安装;否则 → 参见上方的前置条件mcp - 其他内容 → 直接使用(以标志执行CLI命令)
--agent
MCP Server Installation
MCP服务器安装
Install the MCP binary from this CLI's published public-library entry or pre-built release, then register it:
bash
claude mcp add roam-pp-mcp -- roam-pp-mcpVerify:
claude mcp list从该CLI的公开库条目或预构建版本中安装MCP二进制文件,然后注册:
bash
claude mcp add roam-pp-mcp -- roam-pp-mcp验证:
claude mcp listDirect Use
直接使用
- Check if installed: If not found, offer to install (see Prerequisites at the top of this skill).
which roam-pp-cli - Match the user query to the best command from the Unique Capabilities and Command Reference above.
- Execute with the flag:
--agentbashroam-pp-cli <command> [subcommand] [args] --agent - If ambiguous, drill into subcommand help: .
roam-pp-cli <command> --help
- 检查是否已安装:如果未找到,提供安装选项(参见顶部的前置条件)。
which roam-pp-cli - 将用户查询与上方独特功能和命令参考中的最佳命令匹配。
- 带标志执行:
--agentbashroam-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,查看子命令帮助:。
roam-pp-cli <command> --help