Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/zhourong12/cursor-bridge/fleet-bot-identitygit clone --depth 1 https://github.com/zhourong12/cursor-bridgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/zhourong12/cursor-bridge/fleet-bot-identity)<a href="https://agentmods.dev/rules/zhourong12/cursor-bridge/fleet-bot-identity"><img src="https://agentmods.dev/badge/rules/zhourong12/cursor-bridge/fleet-bot-identity.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00026 | $0.00968 |
| Opus 5 | $0.00013 | $0.00484 |
| Sonnet 5 | $0.00005 | $0.00194 |
| Haiku 4.5 | $0.00003 | $0.00097 |
Grade A, and why
fleet-bot-identity scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fleet 多 bot 协作:身份与 open_id 规则
当用户遇到「@ 其他 bot 一直失败」「delegate 不行」「openid 老是弄错」「230002 Bot/User can NOT be out of the chat」时,先按本规则排查。
三个 open_id,必须分清
| 名称 | 来源 | 含义 |
|---|---|---|
| bridge 绑定 open_id | ~/.lark-channel/registry/processes.json 的 botOpenId |
bridge 进程登录飞书后,自己这个 bot 实例的 open_id |
| 群里实际 open_id | 飞书群成员列表里那个 bot 的 open_id(lark-cli / 群成员接口可查) |
群里真正存在、能被 @ 的那个 bot 实例 |
| fleet.json bots.openId | ~/.lark-channel/fleet.json 手填 |
用于 /delegate 和 handoff 查找目标的 open_id |
铁律:三者必须指向同一个 bot 实例。 任一不一致 → 230002 或 @ 不到。
典型故障:同一个 appId 出现两个 open_id
现象:bridge 侧 botOpenId = ou_AAAA,群里的同名 bot = ou_BBBB。
原因:同一 appId 在飞书后台重建/重置过 bot 实例,或群里加的是旧实例、bridge 绑的是新实例。
结果:bridge 用 ou_AAAA 发消息,但群里只有 ou_BBBB → 230002 Bot/User can NOT be out of the chat。
修法(二选一):
- 把 bridge 绑的那个 bot 实例(
ou_AAAA)加进群; - 或重新绑定 bridge 到群里已有的实例(
ou_BBBB)——重置该 profile 的飞书凭据/重新登录。
fleet.json bots 段规则
- 每个要参与协作的 profile 都必须在
bots段有条目。 bots.<name>.openId必须填「群里实际 open_id」,不是 registry 里的botOpenId(除非两者已确认一致)。bots.<name>.profile指向本机 profile 名。- 缺条目 → 该 bot 对其他 bot 隐身,
/delegate @名字报「未在 fleet.json 找到 open_id」。
示例:
"bots": {
"cejiang": { "profile": "cejiang", "openId": "ou_xxx", "role": "tester" },
"cursor": { "profile": "cursor", "openId": "ou_yyy", "role": "dev" },
"cursor-jishi": { "profile": "cursor-jishi", "openId": "ou_zzz", "role": "dispatcher" }
}
排查 SOP
- 查 bridge 侧身份:
registry/processes.json的botOpenId。 - 查群里实际 bot:在飞书群里看成员,或用
lark-cli查群成员列表里该 bot 的 open_id。 - 两者不同 → 先解决身份错配(加群 or 重绑),再谈协作。
- 相同 → 检查
fleet.json的bots段是否配全、openId是否等于上面一致的值。 fleet restart让fleetPeers重新注入 prompt(改fleet.json后必须重启生效)。
注意
- bot 只有被真实结构化 @ 才能收到群消息;纯文本「@名字」无效(飞书机制,非本仓库限制)。
autoStart只影响fleet start(不带--all)启动哪些 profile;fleet-restart.bat已改为--all,发现的所有 profile 都启动。bots段才是协作识别用的。- 改
fleet.json后需重启 Bot 进程,fleetPeers在startChannel时读取一次。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 60 lines · 26 tokens per session scan A 3d4c80d67f4b
fleet-bot-identity is a cursor rule published in the GitHub repository zhourong12/cursor-bridge (2 stars, last pushed 2mo ago), licensed MIT. It adds 26 tokens to every session and 968 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
cli-error-handling
CLI command error handling patterns.
prefer-direct-imports-over-module-mocks
Prefer extracting a testable core over vi.mock / vi.resetModules when unit tests need to reach production logic entangled with config, env, or singletons.
control-plane-descriptors
Control plane descriptor and instance implementation patterns.
family-instance-domain-actions
Family instance domain action implementation patterns.