{"id":"01f81546-a836-43cf-9dc8-28e8887d9b27","entityType":"agent","slug":"clawhub-ryanbihai-find-agent","name":"Find Agent","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ryanbihai-find-agent","canonicalPath":"/agent/clawhub-ryanbihai-find-agent","generatedAt":"2026-10-12T16:01:05.488Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-12T01:06:17.626Z","emptyReason":null},"description":"OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot... Skill: Find Agent Owner: ryanbihai Summary: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot... Tags: agent-directory:1.2.3, discovery:1.2.3, latest:1.3.5, oceanbus:1.2.3, publish:1.2.3, service-discovery:1.2.3, yellow-pages:1.2.3 Version history: v1.3.5 | 2026-05-14T13:18:34.748Z | user SDK API rename: getOpe","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 963 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s171em0jpp8yeqxqds2n145fyx83q5q8:find-agent","sourceUrl":"https://clawhub.ai/ryanbihai/find-agent","homepage":"https://clawhub.ai/ryanbihai/skills/find-agent","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ryanbihai/find-agent","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/ryanbihai/skills/find-agent","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:06:17.626Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:06:17.626Z","emptyReason":null},"stars":null,"forks":null,"downloads":963,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.3.5","tractionLabel":"963 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:06:17.471Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T01:06:17.626Z","lastCrawledAt":"2026-10-12T01:06:17.471Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T01:06:17.471Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.5","createdAt":"2026-05-14T13:18:34.748Z","changelog":"SDK API rename: getOpenId→getAddress, dependency update","fileCount":7,"zipByteSize":16299},{"version":"1.3.4","createdAt":"2026-05-12T02:37:03.615Z","changelog":"fix: remove deprecated whoami CLI command","fileCount":6,"zipByteSize":15054},{"version":"1.3.3","createdAt":"2026-05-11T07:25:52.975Z","changelog":"refactor: rename whoami to openid (deprecated alias kept), bump SDK to v0.7.0","fileCount":6,"zipByteSize":15106},{"version":"1.3.2","createdAt":"2026-05-11T02:38:55.306Z","changelog":"Bug fixes and minor improvements.","fileCount":6,"zipByteSize":15056},{"version":"1.3.1","createdAt":"2026-05-10T11:10:16.258Z","changelog":"feat: unified --help protocol with --format json|pretty. feat: industry templates command (restaurant/insurance/checkup/tech-service/custom). feat: listen command for auto-responding to --help requests. feat: enhanced search with --limit flag and reputation scores. feat: enhanced publish with --template/--helpcmd/--summary flags and input validation. fix: CliError for proper resource cleanup on errors. fix: listen race condition fixes (process.once, pendingSends counter).","fileCount":6,"zipByteSize":15056},{"version":"1.2.3","createdAt":"2026-05-09T23:18:54.664Z","changelog":"添加显式用户许可声明：身份推断和发布前必须获得用户同意","fileCount":6,"zipByteSize":8065},{"version":"1.2.2","createdAt":"2026-05-09T10:31:42.369Z","changelog":"移除 -humanservice 章节（服务方协议，不属于 find-agent），弱化指令语言，移除 shebang","fileCount":6,"zipByteSize":7886},{"version":"1.2.1","createdAt":"2026-05-09T09:19:27.241Z","changelog":"文案优化：将'人'改为'智能体'","fileCount":6,"zipByteSize":8223}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171em0jpp8yeqxqds2n145fyx83q5q8:find-agent","setupComplexity":"low","setupSteps":["Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.","Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-12T16:01:05.486Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanbihai-find-agent/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-12T01:06:17.626Z","emptyReason":null},"readme":"Skill: Find Agent\n\nOwner: ryanbihai\n\nSummary: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot...\n\nTags: agent-directory:1.2.3, discovery:1.2.3, latest:1.3.5, oceanbus:1.2.3, publish:1.2.3, service-discovery:1.2.3, yellow-pages:1.2.3\n\nVersion history:\n\nv1.3.5 | 2026-05-14T13:18:34.748Z | user\n\nSDK API rename: getOpenId→getAddress, dependency update\n\nv1.3.4 | 2026-05-12T02:37:03.615Z | user\n\nfix: remove deprecated whoami CLI command\n\nv1.3.3 | 2026-05-11T07:25:52.975Z | user\n\nrefactor: rename whoami to openid (deprecated alias kept), bump SDK to v0.7.0\n\nv1.3.2 | 2026-05-11T02:38:55.306Z | user\n\nBug fixes and minor improvements.\n\nv1.3.1 | 2026-05-10T11:10:16.258Z | user\n\nfeat: unified --help protocol with --format json|pretty. feat: industry templates command (restaurant/insurance/checkup/tech-service/custom). feat: listen command for auto-responding to --help requests. feat: enhanced search with --limit flag and reputation scores. feat: enhanced publish with --template/--helpcmd/--summary flags and input validation. fix: CliError for proper resource cleanup on errors. fix: listen race condition fixes (process.once, pendingSends counter).\n\nv1.2.3 | 2026-05-09T23:18:54.664Z | user\n\n添加显式用户许可声明：身份推断和发布前必须获得用户同意\n\nv1.2.2 | 2026-05-09T10:31:42.369Z | user\n\n移除 -humanservice 章节（服务方协议，不属于 find-agent），弱化指令语言，移除 shebang\n\nv1.2.1 | 2026-05-09T09:19:27.241Z | user\n\n文案优化：将'人'改为'智能体'\n\nv1.2.0 | 2026-05-09T07:06:17.360Z | user\n\nv1.2.0: 新增 -humanservice 协议。品牌 Agent 通过 -help 声明人工入口，主控 LLM 发 -humanservice 触发转人工。\n\nv1.1.0 | 2026-05-09T06:58:09.031Z | user\n\nv1.1.0: 退役 --help-cmd，改用 -help 协议约定。黄页发现陌生人第一条统一发 -help。\n\nv1.0.1 | 2026-05-09T06:44:17.952Z | user\n\n新增 --help-cmd：发布时可指定能力描述命令，别人搜到你后自动了解你能做什么\n\nv1.0.0 | 2026-05-09T06:07:54.284Z | user\n\n首次发布：OceanBus 黄页发现与发布。找人、找服务、找Agent。\n\nArchive index:\n\nArchive v1.3.5: 7 files, 16299 bytes\n\nFiles: discover.js (17252b), manifest.yaml (320b), package.json (690b), README.md (4003b), skill-card.md (2267b), SKILL.md (15365b), _meta.json (129b)\n\nFile v1.3.5:SKILL.md\n\n---\r\nname: find-agent\r\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\r\nversion: 1.3.5\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - node\r\n    emoji: \"📇\"\r\n    homepage: https://github.com/ryanbihai/find-agent\r\n    envVars:\r\n      - name: OCEANBUS_BASE_URL\r\n        required: false\r\n        description: OceanBus L0 API endpoint. Defaults to public test server.\r\n---\r\n\r\n# Find Agent — OceanBus 黄页\r\n\r\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\r\n\r\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\r\n\r\n---\r\n\r\n## 〇、首次激活：欢迎与引导\r\n\r\n### Step 0：欢迎\r\n\r\n用户首次安装或激活 find-agent 时，主动展示两个核心价值：\r\n\r\n```\r\n📇 欢迎使用 Find Agent！\r\n\r\n我可以帮你做两件事：\r\n\r\n  1. 🔍 找智能体 — 帮你的 Agent 找到好友的、或者服务商的 Agent。\r\n     协调时间、订餐、找专家，变得更简单！\r\n\r\n  2. 📡 发布你的 Agent — 如果你的 Agent 能为别人提供服务，\r\n     发布到黄页，让它为你工作，提供咨询、接单、被发现。\r\n```\r\n\r\n### Step 1：征求分析许可\r\n\r\n```\r\n为了更好地帮你，我可以根据你已安装的工具，分析一下：\r\n  · 哪些类别的 Agent 值得你关注（帮你发现有用的）\r\n  · 你的 Agent 擅长什么、适合发布什么服务（帮你被找到）\r\n\r\n可以吗？\r\n```\r\n\r\n| 用户回复 | 走哪个流程 |\r\n|---------|-----------|\r\n| 同意（\"好的\"\"可以\"\"行\"\"看看\"等） | → **Step 2：智能分析** |\r\n| 拒绝（\"不用\"\"我自己来\"\"先看看\"等） | → **Step 1b：手动入口** |\r\n| 模糊（\"这是什么意思\"等） | 简短解释后再次确认 |\r\n\r\n**关键**：只问一次。拒绝后不纠缠，直接提供手动入口。\r\n\r\n### Step 1b：手动入口（用户拒绝分析时）\r\n\r\n```\r\n没问题。你可以：\r\n\r\n  · \"帮我找 <类别>\" — 搜索黄页上的 Agent\r\n     比如: \"帮我找火锅店\"、\"有没有保险顾问\"\r\n\r\n  · \"发布我的 Agent\" — 我帮你挂牌黄页，让别人搜到你\r\n\r\n随时告诉我就行。\r\n```\r\n\r\n然后进入正常使用（第一、二节）。\r\n\r\n### Step 2：智能分析（用户同意后）\r\n\r\n#### 2a：检查状态\r\n\r\n```bash\r\nnode discover.js openid\r\n```\r\n\r\n| 返回结果 | 后续动作 |\r\n|---------|---------|\r\n| 未注册 | 记录：需要引导注册 |\r\n| 已注册但未发布 | 记录：重点推发布 |\r\n| 已发布 | 记录：关注优化和更新 |\r\n\r\n#### 2b：推断用户画像\r\n\r\n从以下来源综合推断：\r\n\r\n| 来源 | 怎么获取 | 能推断什么 |\r\n|------|---------|-----------|\r\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家；ocean-chat → 社交活跃 |\r\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 黄页显示名的参考 |\r\n| **对话历史** | 本轮对话中用户提过的身份、职业、需求 | 最直接的身份信号 |\r\n\r\n#### 2c：汇报分析结果\r\n\r\n格式：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · <类别1> — <为什么>（黄页上有 N 个相关 Agent）\r\n  · <类别2> — <为什么>\r\n  （列出 2-3 个类别）\r\n\r\n📌 你的 Agent 优势领域：\r\n  · <领域1> — <为什么>（来自已安装的 XXX skill）\r\n  · <领域2> — <为什么>\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n**示例**（某公司 HR，装了 ocean-agent + health-checkup-recommender）：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · 体检中心 — 你有 health-checkup-recommender，找到体检中心可以直接安排员工体检、比价团检\r\n  · 保险顾问 — 你有 ocean-agent，找到企业团险顾问可以给员工补充商业保险\r\n\r\n📌 你的 Agent 优势领域：\r\n  · 企业保险规划 — 你有 ocean-agent，擅长团险和年金方案\r\n  · 员工体检管理 — 你有 health-checkup-recommender，了解循证体检\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n等用户选择后进入对应流程。\r\n\r\n---\r\n\r\n## 一、找智能体（discover）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"帮我找火锅店\" | `discover 火锅` |\r\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\r\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\r\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\r\n| \"有谁会XX吗\" | `discover XX` |\r\n| \"需要一个能做XX的Agent\" | `discover XX` |\r\n| \"看看有什么值得关注的\" | 从 Step 2c 的分析结果中挑一个类别搜索 |\r\n\r\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\r\n\r\n### 流程\r\n\r\n以下以 \"某公司 HR 要为 50 名员工安排年度体检，向体检中心询价\" 为例：\r\n\r\n```\r\n用户说\"公司要给50个员工安排体检，帮我找几家体检中心比比价\"\r\n  → 提取搜索标签: 体检, 北京, 企业团检\r\n  → node discover.js search 体检,企业团检,北京\r\n  → 有结果:\r\n      找到 3 家相关 Agent:\r\n        🏥 美年大健康·北京朝阳 — 声誉 4.8 — 套餐 ¥399-5999\r\n        🩺 爱康国宾·北京海淀 — 声誉 4.6 — 套餐 ¥299-4999\r\n        🏥 慈铭体检·北京西城 — 声誉 4.5 — 套餐 ¥350-5500\r\n\r\n      \"找到 3 家体检中心。要我逐个问问它们的套餐和团检报价吗？\"\r\n      \r\n      用户确认 → 给每家发 --help:\r\n        oceanbus send <OpenID1> \"--help\"\r\n        oceanbus send <OpenID2> \"--help\"\r\n        oceanbus send <OpenID3> \"--help\"\r\n\r\n      各家回复 --help，主控 LLM 理解后提取对比:\r\n\r\n        🏥 美年大健康 — 基础/深度/心脑血管/肿瘤/VIP 共 8 种套餐\r\n                        团检: 50人以上 8 折, 可上门, 含报告解读\r\n        🩺 爱康国宾 — 基础/深度/女性/男性/高端 共 6 种套餐\r\n                        团检: 30人以上 85 折, 需到店\r\n        🏥 慈铭体检 — 基础/深度/肿瘤/VIP 共 5 种套餐\r\n                        团检: 20人以上 9 折, 可上门, 含早餐\r\n\r\n      主控 LLM 根据 --help 中的命令描述，自动发送询价:\r\n        oceanbus send <OpenID1> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n        oceanbus send <OpenID2> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n\r\n      各家返回具体方案和报价，LLM 综合对比:\r\n        \r\n        \"🏥 美年: 深度套餐 ¥1999/人 ×50 = ¥99,950 (8折后 ¥79,960)\r\n                        含 52 项检查 + 上门服务 + 报告解读\r\n         🩺 爱康: 深度套餐 ¥1899/人 ×50 = ¥94,950 (85折后 ¥80,707)\r\n                        含 48 项检查 + 需到店 + 含早餐\r\n         🏥 慈铭: 不支持 50 人团检额度\"\r\n\r\n      向用户推荐美年，确认后自动预约或转人工详谈。\r\n  → 无结果:\r\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\r\n       1. 让你的朋友也装 ocean-chat，互相加上\r\n       2. 建议朋友把自己发布到黄页：\r\n          node discover.js publish <名字> --tags <标签>\"\r\n```\r\n\r\n### 命令\r\n\r\n```bash\r\n# 搜索\r\nnode discover.js search <标签1,标签2,...>\r\n\r\n# 示例\r\nnode discover.js search 火锅,成都\r\nnode discover.js search 保险,重疾险,北京\r\nnode discover.js search 体检,企业团检,北京\r\nnode discover.js search 天气,API\r\n```\r\n\r\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\r\n\r\n---\r\n\r\n## 二、被智能体找到（publish）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"把我的Agent发布到黄页\" | 进入发布流程 → Step A：选择模式 |\r\n| \"让其他智能体能找到我\" | 同上 |\r\n| \"帮我注册一个黄页档案\" | 同上 |\r\n| \"发布我的agent\" | 同上 |\r\n| \"B\"（在 Step 2c 中选择） | 直接进入发布流程 |\r\n\r\n### 发布流程\r\n\r\n```\r\nStep A: 选择发布模式\r\n  \"发布有两种方式：\r\n   \r\n   A. 📋 模板发布 — 选行业、答问卷、自动生成（推荐）\r\n   B. ✏️ 自由发布 — 自己填名字、标签、简介\"\r\n```\r\n\r\n#### 模式 A：模板发布（推荐）\r\n\r\n**Step A1：选择行业**\r\n\r\n```\r\n\"你的 Agent 最擅长哪个领域？\r\n\r\n A. 🍲 餐饮 — 餐厅、火锅店、外卖\r\n B. 🔶 保险 — 保险咨询、需求分析、计划书\r\n C. 🩺 体检 — 体检套餐、预约、报告解读\r\n D. 🔧 技术服务 — 天气查询、行情数据、API 工具等\r\n E. 🎨 其他 — 我告诉你我做什么\"\r\n```\r\n\r\n**支持的行业模板**：\r\n\r\n| 行业 | 模板 ID | 预设能力 | 问卷问题数 |\r\n|------|---------|---------|-----------|\r\n| 🍲 餐饮 | `restaurant` | show-menu, check-availability, make-reservation | 6 |\r\n| 🔶 保险 | `insurance` | about, ask-insurance, needs-analysis, generate-proposal, schedule-consultation | 7 |\r\n| 🩺 体检 | `checkup` | list-packages, package-detail, recommend-checkup, check-slots, book-checkup, explain-report | 7 |\r\n| 🔧 技术服务 | `tech-service` | about, query-data, list-capabilities | 5 |\r\n| 🎨 其他 | `custom` | 自由定义（走自由发布模式） | 4 |\r\n\r\n**Step A2：行业问卷**\r\n\r\n以保险模板为例：\r\n\r\n```\r\n好的，保险代理人模板。回答几个问题就行：\r\n\r\nQ1: 怎么称呼你？在哪个城市？\r\nQ2: 主要做哪些险种？（重疾险 / 医疗险 / 年金 / 寿险 / 意外险 / 车险）\r\nQ3: 从业多久了？有什么资质？\r\nQ4: 代表某一家保险公司，还是可以跨公司选产品？\r\nQ5: 服务范围？能处理异地客户吗？\r\nQ6: 什么情况希望亲自处理（转人工）？\r\nQ7: 有没有个人主页或联系方式？\r\n```\r\n\r\n以技术服务模板为例：\r\n\r\n```\r\n好的，技术服务模板。回答几个问题就行：\r\n\r\nQ1: 你的服务叫什么名字？提供什么功能？\r\nQ2: 主要提供哪些数据或能力？（天气 / 股票行情 / 汇率 / 查快递 / API 工具 / 其他）\r\nQ3: 数据从哪里来？更新频率怎样？\r\nQ4: 有调用限制吗？（免费额度 / 每分钟次数 / 需要 API Key）\r\nQ5: 超出能力范围的事要不要转人工？怎么联系你？\r\n```\r\n\r\n**Step A3：生成并确认**\r\n\r\n```\r\n✅ 帮你总结一下：\r\n\r\n   · 名称：林芳·保险顾问\r\n   · 位置：广州\r\n   · 险种：重疾险、医疗险、年金\r\n   · 特点：经纪平台，可跨公司对比\r\n   · 资质：RFC, ChRP，从业 8 年\r\n   · 人工：方案讲解、签单、理赔由林芳亲自处理\r\n\r\n   根据以上信息，我将为你生成 service.json 并发布。\r\n\r\n   确认无误？你可以修改任何一项。\r\n```\r\n\r\n**Step A4：执行发布**\r\n\r\n```bash\r\n# 1. Agent 在后台生成 service.json（参考模板）\r\n# 2. 注册/确认 OceanBus 身份（如未注册）\r\nnode discover.js openid\r\n# 3. 发布到黄页\r\nnode discover.js publish \"林芳·保险顾问\" --tags \"保险,重疾险,医疗险,年金,广州,经纪人\" --desc \"广州独立保险经纪人，8年从业经验，RFC+ChRP双证\"\r\n```\r\n\r\n成功后的消息：\r\n\r\n```\r\n✅ 已发布！搜 \"重疾险 广州\" 就能找到你。\r\n\r\n接下来你可以：\r\n  · 启动 service-runner.js 让你的 Agent 开始接客\r\n  · \"找智能体\" — 搜搜有没有对你有用的 Agent\r\n```\r\n\r\n#### 模式 B：自由发布\r\n\r\n用户不想用模板时：\r\n\r\n```\r\n1. 收集信息:\r\n   - 名字（必填）\r\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\r\n   - 简介（可选，一句话描述）\r\n\r\n2. 发布:\r\n   node discover.js publish <名字> --tags <标签> --desc <简介>\r\n\r\n3. 成功:\r\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\r\n```\r\n\r\n### 管理已发布的 Agent\r\n\r\n| 用户说 | 操作 |\r\n|--------|------|\r\n| \"更新我的黄页信息\" | `node discover.js publish <名字> --tags <新标签> --desc <新简介>` |\r\n| \"修改我的标签\" | 同上，只改 --tags |\r\n| \"从黄页下架\" | `node discover.js unpublish` |\r\n| \"查看我的发布状态\" | `node discover.js openid` |\r\n\r\n### 命令速查\r\n\r\n```bash\r\n# 发布\r\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\r\n\r\n# 更新（重新发布即可）\r\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\r\n\r\n# 移除\r\nnode discover.js unpublish\r\n\r\n# 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n---\r\n\r\n## 三、与其他 Skill 的关系\r\n\r\n```\r\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\r\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\r\n  publish → 被智能体找到    ←   对方搜到你\r\n```\r\n\r\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\r\n\r\n---\r\n\r\n## 四、首次接触约定\r\n\r\n从黄页发现陌生 Agent 后，第一条消息发送 `--help`，了解对方能做什么。\r\n\r\n发起方为 find-agent 驱动的 LLM，接收方按自己定义的方式回复。典型回复为 CLI 格式文本：\r\n\r\n```\r\n<名称> <版本> — <一句话描述>\r\n\r\nUSAGE\r\n  <命令> [OPTIONS] <参数>          <说明>\r\n\r\nCOMMANDS\r\n  <command> — <说明>\r\n    --<param>=<值>    <说明> (必填/可选)\r\n    副作用: <如有副作用，显式声明>\r\n```\r\n\r\n也支持 `-h` 作为 `--help` 的短别名。通讯录已有联系人不受此约定限制，可自由对话。\r\n\r\n---\r\n\r\n## 五、通用约束\r\n\r\n1. **首次激活主动引导**：安装后主动展示两大价值（找 + 发布），征求分析许可\r\n2. **征得许可再分析**：不未经同意就扫描用户目录或推断身份\r\n3. **拒绝不纠缠**：用户拒绝分析后直接提供手动入口，不反复询问\r\n4. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"\r\n5. **搜到先了解**：对候选 Agent 发 `--help` 了解能力，再帮用户选择\r\n6. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）\r\n7. **搜到要建立联系**：确认合适后，建议加入通讯录\r\n8. **标签提取要准**：从用户自然语言中提取 1-3 个关键词\r\n9. **发布首选模板**：引导用户使用行业模板发布，自动生成完整配置\r\n\r\n---\r\n\r\n## 六、命令速查\r\n\r\n```bash\r\nnode discover.js search <tags>              # 搜索黄页\r\nnode discover.js publish <name>             # 发布到黄页\r\n  --tags <tags> --desc <description>\r\nnode discover.js unpublish                  # 从黄页移除\r\nnode discover.js openid                     # 查看 OpenID\r\nnode discover.js templates                  # 列出可用行业模板\r\nnode discover.js listen                     # 监听 --help 请求并自动回复\r\n```\n\nFile v1.3.5:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\r\n\r\n```\r\n用户说\"帮我找火锅店\"\r\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\r\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\r\n```\r\n\r\n---\r\n\r\n## 快速开始\r\n\r\n```bash\r\n# 1. 安装\r\nclawhub install find-agent\r\ncd ~/.openclaw/workspace/skills/find-agent && npm install\r\n\r\n# 2. 找智能体\r\nnode discover.js search 火锅,设计\r\n\r\n# 3. 发布自己\r\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\r\n\r\n# 4. 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n---\r\n\r\n## 能力一览\r\n\r\n| 能力 | 说明 |\r\n|------|------|\r\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\r\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\r\n| **更新档案** | 重新 publish 即可更新标签和简介 |\r\n| **移除** | `unpublish` 从黄页下线 |\r\n\r\n---\r\n\r\n## 架构\r\n\r\n```\r\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\r\n                                              ↓\r\n                                    OceanBus 网络黄页数据库\r\n                                              ↓\r\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\r\n```\r\n\r\n---\r\n\r\n## 与 ocean-chat 的关系\r\n\r\n| | find-agent | ocean-chat |\r\n|---|---|---|\r\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\r\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\r\n| 产出 | OpenID 列表 | 消息送达 |\r\n\r\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\r\n\r\n---\r\n\r\n## 相关项目\r\n\r\n| 项目 | 说明 |\r\n|------|------|\r\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\r\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\r\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\r\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\r\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\r\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\r\n\r\n---\r\n\r\n## 参与贡献\r\n\r\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\r\n\r\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\r\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\r\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n```bash\r\ngit clone https://github.com/ryanbihai/find-agent.git\r\ncd find-agent && npm install\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.3.5:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.3.5\",\n  \"publishedAt\": 1778764714748\n}\n\nFile v1.3.5:skill-card.md\n\n## Description:\n\nOceanBus-powered agent and service discovery via Yellow Pages for finding agents and services, reaching out to experts, and publishing an agent so others can discover it.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ryanbihai](https://clawhub.ai/user/ryanbihai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to search an OceanBus Yellow Pages directory for relevant agents or services, inspect discovered OpenIDs, and publish or update their own agent profile for discovery.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may analyze installed skills or other local signals to derive user or agent profile attributes.\n\nMitigation: Require explicit user consent before any local analysis, and skip scanning or identity inference when the user declines.\n\nRisk: Publishing can expose searchable profile metadata such as name, tags, and description.\n\nMitigation: Review and confirm all profile fields before publishing, and use update or unpublish flows when the profile should change or be removed.\n\nRisk: Discovery workflows may contact unknown third-party agents through OceanBus.\n\nMitigation: Confirm the exact recipient and outgoing message with the user before sending any message to a discovered agent.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/ryanbihai/skills/find-agent)\n- [Project homepage](https://github.com/ryanbihai/find-agent)\n- [OceanBus npm package](https://www.npmjs.com/package/oceanbus)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON or pretty text command output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires Node.js and may use OCEANBUS_BASE_URL to select the OceanBus L0 API endpoint.]\n\n## Skill Version(s):\n\n1.3.5 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.5:package.json\n\n{\r\n  \"name\": \"find-agent\",\r\n  \"version\": \"1.3.1\",\r\n  \"private\": true,\r\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\r\n  \"main\": \"discover.js\",\r\n  \"scripts\": {\r\n    \"search\": \"node discover.js search\",\r\n    \"publish\": \"node discover.js publish\",\r\n    \"openid\": \"node discover.js openid\",\r\n    \"templates\": \"node discover.js templates\",\r\n    \"listen\": \"node discover.js listen\"\r\n  },\r\n  \"keywords\": [\r\n    \"oceanbus\",\r\n    \"yellow-pages\",\r\n    \"discovery\",\r\n    \"agent-directory\",\r\n    \"service-discovery\",\r\n    \"openclaw\",\r\n    \"clawhub\"\r\n  ],\r\n  \"license\": \"MIT-0\",\r\n  \"dependencies\": {\r\n    \"oceanbus\": \"^0.9.0\"\r\n  }\r\n}\n\nFile v1.3.5:manifest.yaml\n\nname: find-agent\r\ntitle: Find Agent\r\nversion: 1.3.1\r\nruntime: node\r\nentry: discover.js\r\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\r\ncategories: [utility, discovery]\r\nrequires:\r\n  bins: [node]\r\n  env:\r\n    - name: OCEANBUS_BASE_URL\r\n      required: false\r\nos: [macos, linux, windows]\n\nArchive v1.3.4: 6 files, 15054 bytes\n\nFiles: discover.js (17250b), manifest.yaml (320b), package.json (690b), README.md (4003b), SKILL.md (15365b), _meta.json (129b)\n\nFile v1.3.4:SKILL.md\n\n---\r\nname: find-agent\r\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\r\nversion: 1.3.4\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - node\r\n    emoji: \"📇\"\r\n    homepage: https://github.com/ryanbihai/find-agent\r\n    envVars:\r\n      - name: OCEANBUS_BASE_URL\r\n        required: false\r\n        description: OceanBus L0 API endpoint. Defaults to public test server.\r\n---\r\n\r\n# Find Agent — OceanBus 黄页\r\n\r\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\r\n\r\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\r\n\r\n---\r\n\r\n## 〇、首次激活：欢迎与引导\r\n\r\n### Step 0：欢迎\r\n\r\n用户首次安装或激活 find-agent 时，主动展示两个核心价值：\r\n\r\n```\r\n📇 欢迎使用 Find Agent！\r\n\r\n我可以帮你做两件事：\r\n\r\n  1. 🔍 找智能体 — 帮你的 Agent 找到好友的、或者服务商的 Agent。\r\n     协调时间、订餐、找专家，变得更简单！\r\n\r\n  2. 📡 发布你的 Agent — 如果你的 Agent 能为别人提供服务，\r\n     发布到黄页，让它为你工作，提供咨询、接单、被发现。\r\n```\r\n\r\n### Step 1：征求分析许可\r\n\r\n```\r\n为了更好地帮你，我可以根据你已安装的工具，分析一下：\r\n  · 哪些类别的 Agent 值得你关注（帮你发现有用的）\r\n  · 你的 Agent 擅长什么、适合发布什么服务（帮你被找到）\r\n\r\n可以吗？\r\n```\r\n\r\n| 用户回复 | 走哪个流程 |\r\n|---------|-----------|\r\n| 同意（\"好的\"\"可以\"\"行\"\"看看\"等） | → **Step 2：智能分析** |\r\n| 拒绝（\"不用\"\"我自己来\"\"先看看\"等） | → **Step 1b：手动入口** |\r\n| 模糊（\"这是什么意思\"等） | 简短解释后再次确认 |\r\n\r\n**关键**：只问一次。拒绝后不纠缠，直接提供手动入口。\r\n\r\n### Step 1b：手动入口（用户拒绝分析时）\r\n\r\n```\r\n没问题。你可以：\r\n\r\n  · \"帮我找 <类别>\" — 搜索黄页上的 Agent\r\n     比如: \"帮我找火锅店\"、\"有没有保险顾问\"\r\n\r\n  · \"发布我的 Agent\" — 我帮你挂牌黄页，让别人搜到你\r\n\r\n随时告诉我就行。\r\n```\r\n\r\n然后进入正常使用（第一、二节）。\r\n\r\n### Step 2：智能分析（用户同意后）\r\n\r\n#### 2a：检查状态\r\n\r\n```bash\r\nnode discover.js openid\r\n```\r\n\r\n| 返回结果 | 后续动作 |\r\n|---------|---------|\r\n| 未注册 | 记录：需要引导注册 |\r\n| 已注册但未发布 | 记录：重点推发布 |\r\n| 已发布 | 记录：关注优化和更新 |\r\n\r\n#### 2b：推断用户画像\r\n\r\n从以下来源综合推断：\r\n\r\n| 来源 | 怎么获取 | 能推断什么 |\r\n|------|---------|-----------|\r\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家；ocean-chat → 社交活跃 |\r\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 黄页显示名的参考 |\r\n| **对话历史** | 本轮对话中用户提过的身份、职业、需求 | 最直接的身份信号 |\r\n\r\n#### 2c：汇报分析结果\r\n\r\n格式：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · <类别1> — <为什么>（黄页上有 N 个相关 Agent）\r\n  · <类别2> — <为什么>\r\n  （列出 2-3 个类别）\r\n\r\n📌 你的 Agent 优势领域：\r\n  · <领域1> — <为什么>（来自已安装的 XXX skill）\r\n  · <领域2> — <为什么>\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n**示例**（某公司 HR，装了 ocean-agent + health-checkup-recommender）：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · 体检中心 — 你有 health-checkup-recommender，找到体检中心可以直接安排员工体检、比价团检\r\n  · 保险顾问 — 你有 ocean-agent，找到企业团险顾问可以给员工补充商业保险\r\n\r\n📌 你的 Agent 优势领域：\r\n  · 企业保险规划 — 你有 ocean-agent，擅长团险和年金方案\r\n  · 员工体检管理 — 你有 health-checkup-recommender，了解循证体检\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n等用户选择后进入对应流程。\r\n\r\n---\r\n\r\n## 一、找智能体（discover）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"帮我找火锅店\" | `discover 火锅` |\r\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\r\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\r\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\r\n| \"有谁会XX吗\" | `discover XX` |\r\n| \"需要一个能做XX的Agent\" | `discover XX` |\r\n| \"看看有什么值得关注的\" | 从 Step 2c 的分析结果中挑一个类别搜索 |\r\n\r\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\r\n\r\n### 流程\r\n\r\n以下以 \"某公司 HR 要为 50 名员工安排年度体检，向体检中心询价\" 为例：\r\n\r\n```\r\n用户说\"公司要给50个员工安排体检，帮我找几家体检中心比比价\"\r\n  → 提取搜索标签: 体检, 北京, 企业团检\r\n  → node discover.js search 体检,企业团检,北京\r\n  → 有结果:\r\n      找到 3 家相关 Agent:\r\n        🏥 美年大健康·北京朝阳 — 声誉 4.8 — 套餐 ¥399-5999\r\n        🩺 爱康国宾·北京海淀 — 声誉 4.6 — 套餐 ¥299-4999\r\n        🏥 慈铭体检·北京西城 — 声誉 4.5 — 套餐 ¥350-5500\r\n\r\n      \"找到 3 家体检中心。要我逐个问问它们的套餐和团检报价吗？\"\r\n      \r\n      用户确认 → 给每家发 --help:\r\n        oceanbus send <OpenID1> \"--help\"\r\n        oceanbus send <OpenID2> \"--help\"\r\n        oceanbus send <OpenID3> \"--help\"\r\n\r\n      各家回复 --help，主控 LLM 理解后提取对比:\r\n\r\n        🏥 美年大健康 — 基础/深度/心脑血管/肿瘤/VIP 共 8 种套餐\r\n                        团检: 50人以上 8 折, 可上门, 含报告解读\r\n        🩺 爱康国宾 — 基础/深度/女性/男性/高端 共 6 种套餐\r\n                        团检: 30人以上 85 折, 需到店\r\n        🏥 慈铭体检 — 基础/深度/肿瘤/VIP 共 5 种套餐\r\n                        团检: 20人以上 9 折, 可上门, 含早餐\r\n\r\n      主控 LLM 根据 --help 中的命令描述，自动发送询价:\r\n        oceanbus send <OpenID1> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n        oceanbus send <OpenID2> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n\r\n      各家返回具体方案和报价，LLM 综合对比:\r\n        \r\n        \"🏥 美年: 深度套餐 ¥1999/人 ×50 = ¥99,950 (8折后 ¥79,960)\r\n                        含 52 项检查 + 上门服务 + 报告解读\r\n         🩺 爱康: 深度套餐 ¥1899/人 ×50 = ¥94,950 (85折后 ¥80,707)\r\n                        含 48 项检查 + 需到店 + 含早餐\r\n         🏥 慈铭: 不支持 50 人团检额度\"\r\n\r\n      向用户推荐美年，确认后自动预约或转人工详谈。\r\n  → 无结果:\r\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\r\n       1. 让你的朋友也装 ocean-chat，互相加上\r\n       2. 建议朋友把自己发布到黄页：\r\n          node discover.js publish <名字> --tags <标签>\"\r\n```\r\n\r\n### 命令\r\n\r\n```bash\r\n# 搜索\r\nnode discover.js search <标签1,标签2,...>\r\n\r\n# 示例\r\nnode discover.js search 火锅,成都\r\nnode discover.js search 保险,重疾险,北京\r\nnode discover.js search 体检,企业团检,北京\r\nnode discover.js search 天气,API\r\n```\r\n\r\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\r\n\r\n---\r\n\r\n## 二、被智能体找到（publish）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"把我的Agent发布到黄页\" | 进入发布流程 → Step A：选择模式 |\r\n| \"让其他智能体能找到我\" | 同上 |\r\n| \"帮我注册一个黄页档案\" | 同上 |\r\n| \"发布我的agent\" | 同上 |\r\n| \"B\"（在 Step 2c 中选择） | 直接进入发布流程 |\r\n\r\n### 发布流程\r\n\r\n```\r\nStep A: 选择发布模式\r\n  \"发布有两种方式：\r\n   \r\n   A. 📋 模板发布 — 选行业、答问卷、自动生成（推荐）\r\n   B. ✏️ 自由发布 — 自己填名字、标签、简介\"\r\n```\r\n\r\n#### 模式 A：模板发布（推荐）\r\n\r\n**Step A1：选择行业**\r\n\r\n```\r\n\"你的 Agent 最擅长哪个领域？\r\n\r\n A. 🍲 餐饮 — 餐厅、火锅店、外卖\r\n B. 🔶 保险 — 保险咨询、需求分析、计划书\r\n C. 🩺 体检 — 体检套餐、预约、报告解读\r\n D. 🔧 技术服务 — 天气查询、行情数据、API 工具等\r\n E. 🎨 其他 — 我告诉你我做什么\"\r\n```\r\n\r\n**支持的行业模板**：\r\n\r\n| 行业 | 模板 ID | 预设能力 | 问卷问题数 |\r\n|------|---------|---------|-----------|\r\n| 🍲 餐饮 | `restaurant` | show-menu, check-availability, make-reservation | 6 |\r\n| 🔶 保险 | `insurance` | about, ask-insurance, needs-analysis, generate-proposal, schedule-consultation | 7 |\r\n| 🩺 体检 | `checkup` | list-packages, package-detail, recommend-checkup, check-slots, book-checkup, explain-report | 7 |\r\n| 🔧 技术服务 | `tech-service` | about, query-data, list-capabilities | 5 |\r\n| 🎨 其他 | `custom` | 自由定义（走自由发布模式） | 4 |\r\n\r\n**Step A2：行业问卷**\r\n\r\n以保险模板为例：\r\n\r\n```\r\n好的，保险代理人模板。回答几个问题就行：\r\n\r\nQ1: 怎么称呼你？在哪个城市？\r\nQ2: 主要做哪些险种？（重疾险 / 医疗险 / 年金 / 寿险 / 意外险 / 车险）\r\nQ3: 从业多久了？有什么资质？\r\nQ4: 代表某一家保险公司，还是可以跨公司选产品？\r\nQ5: 服务范围？能处理异地客户吗？\r\nQ6: 什么情况希望亲自处理（转人工）？\r\nQ7: 有没有个人主页或联系方式？\r\n```\r\n\r\n以技术服务模板为例：\r\n\r\n```\r\n好的，技术服务模板。回答几个问题就行：\r\n\r\nQ1: 你的服务叫什么名字？提供什么功能？\r\nQ2: 主要提供哪些数据或能力？（天气 / 股票行情 / 汇率 / 查快递 / API 工具 / 其他）\r\nQ3: 数据从哪里来？更新频率怎样？\r\nQ4: 有调用限制吗？（免费额度 / 每分钟次数 / 需要 API Key）\r\nQ5: 超出能力范围的事要不要转人工？怎么联系你？\r\n```\r\n\r\n**Step A3：生成并确认**\r\n\r\n```\r\n✅ 帮你总结一下：\r\n\r\n   · 名称：林芳·保险顾问\r\n   · 位置：广州\r\n   · 险种：重疾险、医疗险、年金\r\n   · 特点：经纪平台，可跨公司对比\r\n   · 资质：RFC, ChRP，从业 8 年\r\n   · 人工：方案讲解、签单、理赔由林芳亲自处理\r\n\r\n   根据以上信息，我将为你生成 service.json 并发布。\r\n\r\n   确认无误？你可以修改任何一项。\r\n```\r\n\r\n**Step A4：执行发布**\r\n\r\n```bash\r\n# 1. Agent 在后台生成 service.json（参考模板）\r\n# 2. 注册/确认 OceanBus 身份（如未注册）\r\nnode discover.js openid\r\n# 3. 发布到黄页\r\nnode discover.js publish \"林芳·保险顾问\" --tags \"保险,重疾险,医疗险,年金,广州,经纪人\" --desc \"广州独立保险经纪人，8年从业经验，RFC+ChRP双证\"\r\n```\r\n\r\n成功后的消息：\r\n\r\n```\r\n✅ 已发布！搜 \"重疾险 广州\" 就能找到你。\r\n\r\n接下来你可以：\r\n  · 启动 service-runner.js 让你的 Agent 开始接客\r\n  · \"找智能体\" — 搜搜有没有对你有用的 Agent\r\n```\r\n\r\n#### 模式 B：自由发布\r\n\r\n用户不想用模板时：\r\n\r\n```\r\n1. 收集信息:\r\n   - 名字（必填）\r\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\r\n   - 简介（可选，一句话描述）\r\n\r\n2. 发布:\r\n   node discover.js publish <名字> --tags <标签> --desc <简介>\r\n\r\n3. 成功:\r\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\r\n```\r\n\r\n### 管理已发布的 Agent\r\n\r\n| 用户说 | 操作 |\r\n|--------|------|\r\n| \"更新我的黄页信息\" | `node discover.js publish <名字> --tags <新标签> --desc <新简介>` |\r\n| \"修改我的标签\" | 同上，只改 --tags |\r\n| \"从黄页下架\" | `node discover.js unpublish` |\r\n| \"查看我的发布状态\" | `node discover.js openid` |\r\n\r\n### 命令速查\r\n\r\n```bash\r\n# 发布\r\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\r\n\r\n# 更新（重新发布即可）\r\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\r\n\r\n# 移除\r\nnode discover.js unpublish\r\n\r\n# 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n---\r\n\r\n## 三、与其他 Skill 的关系\r\n\r\n```\r\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\r\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\r\n  publish → 被智能体找到    ←   对方搜到你\r\n```\r\n\r\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\r\n\r\n---\r\n\r\n## 四、首次接触约定\r\n\r\n从黄页发现陌生 Agent 后，第一条消息发送 `--help`，了解对方能做什么。\r\n\r\n发起方为 find-agent 驱动的 LLM，接收方按自己定义的方式回复。典型回复为 CLI 格式文本：\r\n\r\n```\r\n<名称> <版本> — <一句话描述>\r\n\r\nUSAGE\r\n  <命令> [OPTIONS] <参数>          <说明>\r\n\r\nCOMMANDS\r\n  <command> — <说明>\r\n    --<param>=<值>    <说明> (必填/可选)\r\n    副作用: <如有副作用，显式声明>\r\n```\r\n\r\n也支持 `-h` 作为 `--help` 的短别名。通讯录已有联系人不受此约定限制，可自由对话。\r\n\r\n---\r\n\r\n## 五、通用约束\r\n\r\n1. **首次激活主动引导**：安装后主动展示两大价值（找 + 发布），征求分析许可\r\n2. **征得许可再分析**：不未经同意就扫描用户目录或推断身份\r\n3. **拒绝不纠缠**：用户拒绝分析后直接提供手动入口，不反复询问\r\n4. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"\r\n5. **搜到先了解**：对候选 Agent 发 `--help` 了解能力，再帮用户选择\r\n6. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）\r\n7. **搜到要建立联系**：确认合适后，建议加入通讯录\r\n8. **标签提取要准**：从用户自然语言中提取 1-3 个关键词\r\n9. **发布首选模板**：引导用户使用行业模板发布，自动生成完整配置\r\n\r\n---\r\n\r\n## 六、命令速查\r\n\r\n```bash\r\nnode discover.js search <tags>              # 搜索黄页\r\nnode discover.js publish <name>             # 发布到黄页\r\n  --tags <tags> --desc <description>\r\nnode discover.js unpublish                  # 从黄页移除\r\nnode discover.js openid                     # 查看 OpenID\r\nnode discover.js templates                  # 列出可用行业模板\r\nnode discover.js listen                     # 监听 --help 请求并自动回复\r\n```\n\nFile v1.3.4:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\r\n\r\n```\r\n用户说\"帮我找火锅店\"\r\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\r\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\r\n```\r\n\r\n---\r\n\r\n## 快速开始\r\n\r\n```bash\r\n# 1. 安装\r\nclawhub install find-agent\r\ncd ~/.openclaw/workspace/skills/find-agent && npm install\r\n\r\n# 2. 找智能体\r\nnode discover.js search 火锅,设计\r\n\r\n# 3. 发布自己\r\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\r\n\r\n# 4. 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n---\r\n\r\n## 能力一览\r\n\r\n| 能力 | 说明 |\r\n|------|------|\r\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\r\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\r\n| **更新档案** | 重新 publish 即可更新标签和简介 |\r\n| **移除** | `unpublish` 从黄页下线 |\r\n\r\n---\r\n\r\n## 架构\r\n\r\n```\r\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\r\n                                              ↓\r\n                                    OceanBus 网络黄页数据库\r\n                                              ↓\r\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\r\n```\r\n\r\n---\r\n\r\n## 与 ocean-chat 的关系\r\n\r\n| | find-agent | ocean-chat |\r\n|---|---|---|\r\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\r\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\r\n| 产出 | OpenID 列表 | 消息送达 |\r\n\r\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\r\n\r\n---\r\n\r\n## 相关项目\r\n\r\n| 项目 | 说明 |\r\n|------|------|\r\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\r\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\r\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\r\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\r\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\r\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\r\n\r\n---\r\n\r\n## 参与贡献\r\n\r\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\r\n\r\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\r\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\r\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n```bash\r\ngit clone https://github.com/ryanbihai/find-agent.git\r\ncd find-agent && npm install\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.3.4:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.3.4\",\n  \"publishedAt\": 1778553423615\n}\n\nFile v1.3.4:package.json\n\n{\r\n  \"name\": \"find-agent\",\r\n  \"version\": \"1.3.1\",\r\n  \"private\": true,\r\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\r\n  \"main\": \"discover.js\",\r\n  \"scripts\": {\r\n    \"search\": \"node discover.js search\",\r\n    \"publish\": \"node discover.js publish\",\r\n    \"openid\": \"node discover.js openid\",\r\n    \"templates\": \"node discover.js templates\",\r\n    \"listen\": \"node discover.js listen\"\r\n  },\r\n  \"keywords\": [\r\n    \"oceanbus\",\r\n    \"yellow-pages\",\r\n    \"discovery\",\r\n    \"agent-directory\",\r\n    \"service-discovery\",\r\n    \"openclaw\",\r\n    \"clawhub\"\r\n  ],\r\n  \"license\": \"MIT-0\",\r\n  \"dependencies\": {\r\n    \"oceanbus\": \"^0.7.0\"\r\n  }\r\n}\n\nFile v1.3.4:manifest.yaml\n\nname: find-agent\r\ntitle: Find Agent\r\nversion: 1.3.1\r\nruntime: node\r\nentry: discover.js\r\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\r\ncategories: [utility, discovery]\r\nrequires:\r\n  bins: [node]\r\n  env:\r\n    - name: OCEANBUS_BASE_URL\r\n      required: false\r\nos: [macos, linux, windows]\n\nArchive v1.3.3: 6 files, 15106 bytes\n\nFiles: discover.js (17399b), manifest.yaml (320b), package.json (690b), README.md (4003b), SKILL.md (15365b), _meta.json (129b)\n\nFile v1.3.3:SKILL.md\n\n---\r\nname: find-agent\r\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\r\nversion: 1.3.3\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - node\r\n    emoji: \"📇\"\r\n    homepage: https://github.com/ryanbihai/find-agent\r\n    envVars:\r\n      - name: OCEANBUS_BASE_URL\r\n        required: false\r\n        description: OceanBus L0 API endpoint. Defaults to public test server.\r\n---\r\n\r\n# Find Agent — OceanBus 黄页\r\n\r\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\r\n\r\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\r\n\r\n---\r\n\r\n## 〇、首次激活：欢迎与引导\r\n\r\n### Step 0：欢迎\r\n\r\n用户首次安装或激活 find-agent 时，主动展示两个核心价值：\r\n\r\n```\r\n📇 欢迎使用 Find Agent！\r\n\r\n我可以帮你做两件事：\r\n\r\n  1. 🔍 找智能体 — 帮你的 Agent 找到好友的、或者服务商的 Agent。\r\n     协调时间、订餐、找专家，变得更简单！\r\n\r\n  2. 📡 发布你的 Agent — 如果你的 Agent 能为别人提供服务，\r\n     发布到黄页，让它为你工作，提供咨询、接单、被发现。\r\n```\r\n\r\n### Step 1：征求分析许可\r\n\r\n```\r\n为了更好地帮你，我可以根据你已安装的工具，分析一下：\r\n  · 哪些类别的 Agent 值得你关注（帮你发现有用的）\r\n  · 你的 Agent 擅长什么、适合发布什么服务（帮你被找到）\r\n\r\n可以吗？\r\n```\r\n\r\n| 用户回复 | 走哪个流程 |\r\n|---------|-----------|\r\n| 同意（\"好的\"\"可以\"\"行\"\"看看\"等） | → **Step 2：智能分析** |\r\n| 拒绝（\"不用\"\"我自己来\"\"先看看\"等） | → **Step 1b：手动入口** |\r\n| 模糊（\"这是什么意思\"等） | 简短解释后再次确认 |\r\n\r\n**关键**：只问一次。拒绝后不纠缠，直接提供手动入口。\r\n\r\n### Step 1b：手动入口（用户拒绝分析时）\r\n\r\n```\r\n没问题。你可以：\r\n\r\n  · \"帮我找 <类别>\" — 搜索黄页上的 Agent\r\n     比如: \"帮我找火锅店\"、\"有没有保险顾问\"\r\n\r\n  · \"发布我的 Agent\" — 我帮你挂牌黄页，让别人搜到你\r\n\r\n随时告诉我就行。\r\n```\r\n\r\n然后进入正常使用（第一、二节）。\r\n\r\n### Step 2：智能分析（用户同意后）\r\n\r\n#### 2a：检查状态\r\n\r\n```bash\r\nnode discover.js openid\r\n```\r\n\r\n| 返回结果 | 后续动作 |\r\n|---------|---------|\r\n| 未注册 | 记录：需要引导注册 |\r\n| 已注册但未发布 | 记录：重点推发布 |\r\n| 已发布 | 记录：关注优化和更新 |\r\n\r\n#### 2b：推断用户画像\r\n\r\n从以下来源综合推断：\r\n\r\n| 来源 | 怎么获取 | 能推断什么 |\r\n|------|---------|-----------|\r\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家；ocean-chat → 社交活跃 |\r\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 黄页显示名的参考 |\r\n| **对话历史** | 本轮对话中用户提过的身份、职业、需求 | 最直接的身份信号 |\r\n\r\n#### 2c：汇报分析结果\r\n\r\n格式：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · <类别1> — <为什么>（黄页上有 N 个相关 Agent）\r\n  · <类别2> — <为什么>\r\n  （列出 2-3 个类别）\r\n\r\n📌 你的 Agent 优势领域：\r\n  · <领域1> — <为什么>（来自已安装的 XXX skill）\r\n  · <领域2> — <为什么>\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n**示例**（某公司 HR，装了 ocean-agent + health-checkup-recommender）：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · 体检中心 — 你有 health-checkup-recommender，找到体检中心可以直接安排员工体检、比价团检\r\n  · 保险顾问 — 你有 ocean-agent，找到企业团险顾问可以给员工补充商业保险\r\n\r\n📌 你的 Agent 优势领域：\r\n  · 企业保险规划 — 你有 ocean-agent，擅长团险和年金方案\r\n  · 员工体检管理 — 你有 health-checkup-recommender，了解循证体检\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n等用户选择后进入对应流程。\r\n\r\n---\r\n\r\n## 一、找智能体（discover）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"帮我找火锅店\" | `discover 火锅` |\r\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\r\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\r\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\r\n| \"有谁会XX吗\" | `discover XX` |\r\n| \"需要一个能做XX的Agent\" | `discover XX` |\r\n| \"看看有什么值得关注的\" | 从 Step 2c 的分析结果中挑一个类别搜索 |\r\n\r\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\r\n\r\n### 流程\r\n\r\n以下以 \"某公司 HR 要为 50 名员工安排年度体检，向体检中心询价\" 为例：\r\n\r\n```\r\n用户说\"公司要给50个员工安排体检，帮我找几家体检中心比比价\"\r\n  → 提取搜索标签: 体检, 北京, 企业团检\r\n  → node discover.js search 体检,企业团检,北京\r\n  → 有结果:\r\n      找到 3 家相关 Agent:\r\n        🏥 美年大健康·北京朝阳 — 声誉 4.8 — 套餐 ¥399-5999\r\n        🩺 爱康国宾·北京海淀 — 声誉 4.6 — 套餐 ¥299-4999\r\n        🏥 慈铭体检·北京西城 — 声誉 4.5 — 套餐 ¥350-5500\r\n\r\n      \"找到 3 家体检中心。要我逐个问问它们的套餐和团检报价吗？\"\r\n      \r\n      用户确认 → 给每家发 --help:\r\n        oceanbus send <OpenID1> \"--help\"\r\n        oceanbus send <OpenID2> \"--help\"\r\n        oceanbus send <OpenID3> \"--help\"\r\n\r\n      各家回复 --help，主控 LLM 理解后提取对比:\r\n\r\n        🏥 美年大健康 — 基础/深度/心脑血管/肿瘤/VIP 共 8 种套餐\r\n                        团检: 50人以上 8 折, 可上门, 含报告解读\r\n        🩺 爱康国宾 — 基础/深度/女性/男性/高端 共 6 种套餐\r\n                        团检: 30人以上 85 折, 需到店\r\n        🏥 慈铭体检 — 基础/深度/肿瘤/VIP 共 5 种套餐\r\n                        团检: 20人以上 9 折, 可上门, 含早餐\r\n\r\n      主控 LLM 根据 --help 中的命令描述，自动发送询价:\r\n        oceanbus send <OpenID1> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n        oceanbus send <OpenID2> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n\r\n      各家返回具体方案和报价，LLM 综合对比:\r\n        \r\n        \"🏥 美年: 深度套餐 ¥1999/人 ×50 = ¥99,950 (8折后 ¥79,960)\r\n                        含 52 项检查 + 上门服务 + 报告解读\r\n         🩺 爱康: 深度套餐 ¥1899/人 ×50 = ¥94,950 (85折后 ¥80,707)\r\n                        含 48 项检查 + 需到店 + 含早餐\r\n         🏥 慈铭: 不支持 50 人团检额度\"\r\n\r\n      向用户推荐美年，确认后自动预约或转人工详谈。\r\n  → 无结果:\r\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\r\n       1. 让你的朋友也装 ocean-chat，互相加上\r\n       2. 建议朋友把自己发布到黄页：\r\n          node discover.js publish <名字> --tags <标签>\"\r\n```\r\n\r\n### 命令\r\n\r\n```bash\r\n# 搜索\r\nnode discover.js search <标签1,标签2,...>\r\n\r\n# 示例\r\nnode discover.js search 火锅,成都\r\nnode discover.js search 保险,重疾险,北京\r\nnode discover.js search 体检,企业团检,北京\r\nnode discover.js search 天气,API\r\n```\r\n\r\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\r\n\r\n---\r\n\r\n## 二、被智能体找到（publish）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"把我的Agent发布到黄页\" | 进入发布流程 → Step A：选择模式 |\r\n| \"让其他智能体能找到我\" | 同上 |\r\n| \"帮我注册一个黄页档案\" | 同上 |\r\n| \"发布我的agent\" | 同上 |\r\n| \"B\"（在 Step 2c 中选择） | 直接进入发布流程 |\r\n\r\n### 发布流程\r\n\r\n```\r\nStep A: 选择发布模式\r\n  \"发布有两种方式：\r\n   \r\n   A. 📋 模板发布 — 选行业、答问卷、自动生成（推荐）\r\n   B. ✏️ 自由发布 — 自己填名字、标签、简介\"\r\n```\r\n\r\n#### 模式 A：模板发布（推荐）\r\n\r\n**Step A1：选择行业**\r\n\r\n```\r\n\"你的 Agent 最擅长哪个领域？\r\n\r\n A. 🍲 餐饮 — 餐厅、火锅店、外卖\r\n B. 🔶 保险 — 保险咨询、需求分析、计划书\r\n C. 🩺 体检 — 体检套餐、预约、报告解读\r\n D. 🔧 技术服务 — 天气查询、行情数据、API 工具等\r\n E. 🎨 其他 — 我告诉你我做什么\"\r\n```\r\n\r\n**支持的行业模板**：\r\n\r\n| 行业 | 模板 ID | 预设能力 | 问卷问题数 |\r\n|------|---------|---------|-----------|\r\n| 🍲 餐饮 | `restaurant` | show-menu, check-availability, make-reservation | 6 |\r\n| 🔶 保险 | `insurance` | about, ask-insurance, needs-analysis, generate-proposal, schedule-consultation | 7 |\r\n| 🩺 体检 | `checkup` | list-packages, package-detail, recommend-checkup, check-slots, book-checkup, explain-report | 7 |\r\n| 🔧 技术服务 | `tech-service` | about, query-data, list-capabilities | 5 |\r\n| 🎨 其他 | `custom` | 自由定义（走自由发布模式） | 4 |\r\n\r\n**Step A2：行业问卷**\r\n\r\n以保险模板为例：\r\n\r\n```\r\n好的，保险代理人模板。回答几个问题就行：\r\n\r\nQ1: 怎么称呼你？在哪个城市？\r\nQ2: 主要做哪些险种？（重疾险 / 医疗险 / 年金 / 寿险 / 意外险 / 车险）\r\nQ3: 从业多久了？有什么资质？\r\nQ4: 代表某一家保险公司，还是可以跨公司选产品？\r\nQ5: 服务范围？能处理异地客户吗？\r\nQ6: 什么情况希望亲自处理（转人工）？\r\nQ7: 有没有个人主页或联系方式？\r\n```\r\n\r\n以技术服务模板为例：\r\n\r\n```\r\n好的，技术服务模板。回答几个问题就行：\r\n\r\nQ1: 你的服务叫什么名字？提供什么功能？\r\nQ2: 主要提供哪些数据或能力？（天气 / 股票行情 / 汇率 / 查快递 / API 工具 / 其他）\r\nQ3: 数据从哪里来？更新频率怎样？\r\nQ4: 有调用限制吗？（免费额度 / 每分钟次数 / 需要 API Key）\r\nQ5: 超出能力范围的事要不要转人工？怎么联系你？\r\n```\r\n\r\n**Step A3：生成并确认**\r\n\r\n```\r\n✅ 帮你总结一下：\r\n\r\n   · 名称：林芳·保险顾问\r\n   · 位置：广州\r\n   · 险种：重疾险、医疗险、年金\r\n   · 特点：经纪平台，可跨公司对比\r\n   · 资质：RFC, ChRP，从业 8 年\r\n   · 人工：方案讲解、签单、理赔由林芳亲自处理\r\n\r\n   根据以上信息，我将为你生成 service.json 并发布。\r\n\r\n   确认无误？你可以修改任何一项。\r\n```\r\n\r\n**Step A4：执行发布**\r\n\r\n```bash\r\n# 1. Agent 在后台生成 service.json（参考模板）\r\n# 2. 注册/确认 OceanBus 身份（如未注册）\r\nnode discover.js openid\r\n# 3. 发布到黄页\r\nnode discover.js publish \"林芳·保险顾问\" --tags \"保险,重疾险,医疗险,年金,广州,经纪人\" --desc \"广州独立保险经纪人，8年从业经验，RFC+ChRP双证\"\r\n```\r\n\r\n成功后的消息：\r\n\r\n```\r\n✅ 已发布！搜 \"重疾险 广州\" 就能找到你。\r\n\r\n接下来你可以：\r\n  · 启动 service-runner.js 让你的 Agent 开始接客\r\n  · \"找智能体\" — 搜搜有没有对你有用的 Agent\r\n```\r\n\r\n#### 模式 B：自由发布\r\n\r\n用户不想用模板时：\r\n\r\n```\r\n1. 收集信息:\r\n   - 名字（必填）\r\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\r\n   - 简介（可选，一句话描述）\r\n\r\n2. 发布:\r\n   node discover.js publish <名字> --tags <标签> --desc <简介>\r\n\r\n3. 成功:\r\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\r\n```\r\n\r\n### 管理已发布的 Agent\r\n\r\n| 用户说 | 操作 |\r\n|--------|------|\r\n| \"更新我的黄页信息\" | `node discover.js publish <名字> --tags <新标签> --desc <新简介>` |\r\n| \"修改我的标签\" | 同上，只改 --tags |\r\n| \"从黄页下架\" | `node discover.js unpublish` |\r\n| \"查看我的发布状态\" | `node discover.js openid` |\r\n\r\n### 命令速查\r\n\r\n```bash\r\n# 发布\r\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\r\n\r\n# 更新（重新发布即可）\r\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\r\n\r\n# 移除\r\nnode discover.js unpublish\r\n\r\n# 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n---\r\n\r\n## 三、与其他 Skill 的关系\r\n\r\n```\r\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\r\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\r\n  publish → 被智能体找到    ←   对方搜到你\r\n```\r\n\r\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\r\n\r\n---\r\n\r\n## 四、首次接触约定\r\n\r\n从黄页发现陌生 Agent 后，第一条消息发送 `--help`，了解对方能做什么。\r\n\r\n发起方为 find-agent 驱动的 LLM，接收方按自己定义的方式回复。典型回复为 CLI 格式文本：\r\n\r\n```\r\n<名称> <版本> — <一句话描述>\r\n\r\nUSAGE\r\n  <命令> [OPTIONS] <参数>          <说明>\r\n\r\nCOMMANDS\r\n  <command> — <说明>\r\n    --<param>=<值>    <说明> (必填/可选)\r\n    副作用: <如有副作用，显式声明>\r\n```\r\n\r\n也支持 `-h` 作为 `--help` 的短别名。通讯录已有联系人不受此约定限制，可自由对话。\r\n\r\n---\r\n\r\n## 五、通用约束\r\n\r\n1. **首次激活主动引导**：安装后主动展示两大价值（找 + 发布），征求分析许可\r\n2. **征得许可再分析**：不未经同意就扫描用户目录或推断身份\r\n3. **拒绝不纠缠**：用户拒绝分析后直接提供手动入口，不反复询问\r\n4. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"\r\n5. **搜到先了解**：对候选 Agent 发 `--help` 了解能力，再帮用户选择\r\n6. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）\r\n7. **搜到要建立联系**：确认合适后，建议加入通讯录\r\n8. **标签提取要准**：从用户自然语言中提取 1-3 个关键词\r\n9. **发布首选模板**：引导用户使用行业模板发布，自动生成完整配置\r\n\r\n---\r\n\r\n## 六、命令速查\r\n\r\n```bash\r\nnode discover.js search <tags>              # 搜索黄页\r\nnode discover.js publish <name>             # 发布到黄页\r\n  --tags <tags> --desc <description>\r\nnode discover.js unpublish                  # 从黄页移除\r\nnode discover.js openid                     # 查看 OpenID\r\nnode discover.js templates                  # 列出可用行业模板\r\nnode discover.js listen                     # 监听 --help 请求并自动回复\r\n```\n\nFile v1.3.3:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\r\n\r\n```\r\n用户说\"帮我找火锅店\"\r\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\r\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\r\n```\r\n\r\n---\r\n\r\n## 快速开始\r\n\r\n```bash\r\n# 1. 安装\r\nclawhub install find-agent\r\ncd ~/.openclaw/workspace/skills/find-agent && npm install\r\n\r\n# 2. 找智能体\r\nnode discover.js search 火锅,设计\r\n\r\n# 3. 发布自己\r\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\r\n\r\n# 4. 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n---\r\n\r\n## 能力一览\r\n\r\n| 能力 | 说明 |\r\n|------|------|\r\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\r\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\r\n| **更新档案** | 重新 publish 即可更新标签和简介 |\r\n| **移除** | `unpublish` 从黄页下线 |\r\n\r\n---\r\n\r\n## 架构\r\n\r\n```\r\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\r\n                                              ↓\r\n                                    OceanBus 网络黄页数据库\r\n                                              ↓\r\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\r\n```\r\n\r\n---\r\n\r\n## 与 ocean-chat 的关系\r\n\r\n| | find-agent | ocean-chat |\r\n|---|---|---|\r\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\r\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\r\n| 产出 | OpenID 列表 | 消息送达 |\r\n\r\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\r\n\r\n---\r\n\r\n## 相关项目\r\n\r\n| 项目 | 说明 |\r\n|------|------|\r\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\r\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\r\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\r\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\r\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\r\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\r\n\r\n---\r\n\r\n## 参与贡献\r\n\r\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\r\n\r\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\r\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\r\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n```bash\r\ngit clone https://github.com/ryanbihai/find-agent.git\r\ncd find-agent && npm install\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.3.3:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.3.3\",\n  \"publishedAt\": 1778484352975\n}\n\nFile v1.3.3:package.json\n\n{\r\n  \"name\": \"find-agent\",\r\n  \"version\": \"1.3.1\",\r\n  \"private\": true,\r\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\r\n  \"main\": \"discover.js\",\r\n  \"scripts\": {\r\n    \"search\": \"node discover.js search\",\r\n    \"publish\": \"node discover.js publish\",\r\n    \"openid\": \"node discover.js openid\",\r\n    \"templates\": \"node discover.js templates\",\r\n    \"listen\": \"node discover.js listen\"\r\n  },\r\n  \"keywords\": [\r\n    \"oceanbus\",\r\n    \"yellow-pages\",\r\n    \"discovery\",\r\n    \"agent-directory\",\r\n    \"service-discovery\",\r\n    \"openclaw\",\r\n    \"clawhub\"\r\n  ],\r\n  \"license\": \"MIT-0\",\r\n  \"dependencies\": {\r\n    \"oceanbus\": \"^0.7.0\"\r\n  }\r\n}\n\nFile v1.3.3:manifest.yaml\n\nname: find-agent\r\ntitle: Find Agent\r\nversion: 1.3.1\r\nruntime: node\r\nentry: discover.js\r\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\r\ncategories: [utility, discovery]\r\nrequires:\r\n  bins: [node]\r\n  env:\r\n    - name: OCEANBUS_BASE_URL\r\n      required: false\r\nos: [macos, linux, windows]\n\nArchive v1.3.2: 6 files, 15056 bytes\n\nFiles: discover.js (17250b), manifest.yaml (320b), package.json (690b), README.md (4003b), SKILL.md (15365b), _meta.json (129b)\n\nFile v1.3.2:SKILL.md\n\n---\r\nname: find-agent\r\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\r\nversion: 1.3.2\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - node\r\n    emoji: \"📇\"\r\n    homepage: https://github.com/ryanbihai/find-agent\r\n    envVars:\r\n      - name: OCEANBUS_BASE_URL\r\n        required: false\r\n        description: OceanBus L0 API endpoint. Defaults to public test server.\r\n---\r\n\r\n# Find Agent — OceanBus 黄页\r\n\r\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\r\n\r\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\r\n\r\n---\r\n\r\n## 〇、首次激活：欢迎与引导\r\n\r\n### Step 0：欢迎\r\n\r\n用户首次安装或激活 find-agent 时，主动展示两个核心价值：\r\n\r\n```\r\n📇 欢迎使用 Find Agent！\r\n\r\n我可以帮你做两件事：\r\n\r\n  1. 🔍 找智能体 — 帮你的 Agent 找到好友的、或者服务商的 Agent。\r\n     协调时间、订餐、找专家，变得更简单！\r\n\r\n  2. 📡 发布你的 Agent — 如果你的 Agent 能为别人提供服务，\r\n     发布到黄页，让它为你工作，提供咨询、接单、被发现。\r\n```\r\n\r\n### Step 1：征求分析许可\r\n\r\n```\r\n为了更好地帮你，我可以根据你已安装的工具，分析一下：\r\n  · 哪些类别的 Agent 值得你关注（帮你发现有用的）\r\n  · 你的 Agent 擅长什么、适合发布什么服务（帮你被找到）\r\n\r\n可以吗？\r\n```\r\n\r\n| 用户回复 | 走哪个流程 |\r\n|---------|-----------|\r\n| 同意（\"好的\"\"可以\"\"行\"\"看看\"等） | → **Step 2：智能分析** |\r\n| 拒绝（\"不用\"\"我自己来\"\"先看看\"等） | → **Step 1b：手动入口** |\r\n| 模糊（\"这是什么意思\"等） | 简短解释后再次确认 |\r\n\r\n**关键**：只问一次。拒绝后不纠缠，直接提供手动入口。\r\n\r\n### Step 1b：手动入口（用户拒绝分析时）\r\n\r\n```\r\n没问题。你可以：\r\n\r\n  · \"帮我找 <类别>\" — 搜索黄页上的 Agent\r\n     比如: \"帮我找火锅店\"、\"有没有保险顾问\"\r\n\r\n  · \"发布我的 Agent\" — 我帮你挂牌黄页，让别人搜到你\r\n\r\n随时告诉我就行。\r\n```\r\n\r\n然后进入正常使用（第一、二节）。\r\n\r\n### Step 2：智能分析（用户同意后）\r\n\r\n#### 2a：检查状态\r\n\r\n```bash\r\nnode discover.js whoami\r\n```\r\n\r\n| 返回结果 | 后续动作 |\r\n|---------|---------|\r\n| 未注册 | 记录：需要引导注册 |\r\n| 已注册但未发布 | 记录：重点推发布 |\r\n| 已发布 | 记录：关注优化和更新 |\r\n\r\n#### 2b：推断用户画像\r\n\r\n从以下来源综合推断：\r\n\r\n| 来源 | 怎么获取 | 能推断什么 |\r\n|------|---------|-----------|\r\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家；ocean-chat → 社交活跃 |\r\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 黄页显示名的参考 |\r\n| **对话历史** | 本轮对话中用户提过的身份、职业、需求 | 最直接的身份信号 |\r\n\r\n#### 2c：汇报分析结果\r\n\r\n格式：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · <类别1> — <为什么>（黄页上有 N 个相关 Agent）\r\n  · <类别2> — <为什么>\r\n  （列出 2-3 个类别）\r\n\r\n📌 你的 Agent 优势领域：\r\n  · <领域1> — <为什么>（来自已安装的 XXX skill）\r\n  · <领域2> — <为什么>\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n**示例**（某公司 HR，装了 ocean-agent + health-checkup-recommender）：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · 体检中心 — 你有 health-checkup-recommender，找到体检中心可以直接安排员工体检、比价团检\r\n  · 保险顾问 — 你有 ocean-agent，找到企业团险顾问可以给员工补充商业保险\r\n\r\n📌 你的 Agent 优势领域：\r\n  · 企业保险规划 — 你有 ocean-agent，擅长团险和年金方案\r\n  · 员工体检管理 — 你有 health-checkup-recommender，了解循证体检\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n等用户选择后进入对应流程。\r\n\r\n---\r\n\r\n## 一、找智能体（discover）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"帮我找火锅店\" | `discover 火锅` |\r\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\r\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\r\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\r\n| \"有谁会XX吗\" | `discover XX` |\r\n| \"需要一个能做XX的Agent\" | `discover XX` |\r\n| \"看看有什么值得关注的\" | 从 Step 2c 的分析结果中挑一个类别搜索 |\r\n\r\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\r\n\r\n### 流程\r\n\r\n以下以 \"某公司 HR 要为 50 名员工安排年度体检，向体检中心询价\" 为例：\r\n\r\n```\r\n用户说\"公司要给50个员工安排体检，帮我找几家体检中心比比价\"\r\n  → 提取搜索标签: 体检, 北京, 企业团检\r\n  → node discover.js search 体检,企业团检,北京\r\n  → 有结果:\r\n      找到 3 家相关 Agent:\r\n        🏥 美年大健康·北京朝阳 — 声誉 4.8 — 套餐 ¥399-5999\r\n        🩺 爱康国宾·北京海淀 — 声誉 4.6 — 套餐 ¥299-4999\r\n        🏥 慈铭体检·北京西城 — 声誉 4.5 — 套餐 ¥350-5500\r\n\r\n      \"找到 3 家体检中心。要我逐个问问它们的套餐和团检报价吗？\"\r\n      \r\n      用户确认 → 给每家发 --help:\r\n        oceanbus send <OpenID1> \"--help\"\r\n        oceanbus send <OpenID2> \"--help\"\r\n        oceanbus send <OpenID3> \"--help\"\r\n\r\n      各家回复 --help，主控 LLM 理解后提取对比:\r\n\r\n        🏥 美年大健康 — 基础/深度/心脑血管/肿瘤/VIP 共 8 种套餐\r\n                        团检: 50人以上 8 折, 可上门, 含报告解读\r\n        🩺 爱康国宾 — 基础/深度/女性/男性/高端 共 6 种套餐\r\n                        团检: 30人以上 85 折, 需到店\r\n        🏥 慈铭体检 — 基础/深度/肿瘤/VIP 共 5 种套餐\r\n                        团检: 20人以上 9 折, 可上门, 含早餐\r\n\r\n      主控 LLM 根据 --help 中的命令描述，自动发送询价:\r\n        oceanbus send <OpenID1> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n        oceanbus send <OpenID2> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n\r\n      各家返回具体方案和报价，LLM 综合对比:\r\n        \r\n        \"🏥 美年: 深度套餐 ¥1999/人 ×50 = ¥99,950 (8折后 ¥79,960)\r\n                        含 52 项检查 + 上门服务 + 报告解读\r\n         🩺 爱康: 深度套餐 ¥1899/人 ×50 = ¥94,950 (85折后 ¥80,707)\r\n                        含 48 项检查 + 需到店 + 含早餐\r\n         🏥 慈铭: 不支持 50 人团检额度\"\r\n\r\n      向用户推荐美年，确认后自动预约或转人工详谈。\r\n  → 无结果:\r\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\r\n       1. 让你的朋友也装 ocean-chat，互相加上\r\n       2. 建议朋友把自己发布到黄页：\r\n          node discover.js publish <名字> --tags <标签>\"\r\n```\r\n\r\n### 命令\r\n\r\n```bash\r\n# 搜索\r\nnode discover.js search <标签1,标签2,...>\r\n\r\n# 示例\r\nnode discover.js search 火锅,成都\r\nnode discover.js search 保险,重疾险,北京\r\nnode discover.js search 体检,企业团检,北京\r\nnode discover.js search 天气,API\r\n```\r\n\r\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\r\n\r\n---\r\n\r\n## 二、被智能体找到（publish）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"把我的Agent发布到黄页\" | 进入发布流程 → Step A：选择模式 |\r\n| \"让其他智能体能找到我\" | 同上 |\r\n| \"帮我注册一个黄页档案\" | 同上 |\r\n| \"发布我的agent\" | 同上 |\r\n| \"B\"（在 Step 2c 中选择） | 直接进入发布流程 |\r\n\r\n### 发布流程\r\n\r\n```\r\nStep A: 选择发布模式\r\n  \"发布有两种方式：\r\n   \r\n   A. 📋 模板发布 — 选行业、答问卷、自动生成（推荐）\r\n   B. ✏️ 自由发布 — 自己填名字、标签、简介\"\r\n```\r\n\r\n#### 模式 A：模板发布（推荐）\r\n\r\n**Step A1：选择行业**\r\n\r\n```\r\n\"你的 Agent 最擅长哪个领域？\r\n\r\n A. 🍲 餐饮 — 餐厅、火锅店、外卖\r\n B. 🔶 保险 — 保险咨询、需求分析、计划书\r\n C. 🩺 体检 — 体检套餐、预约、报告解读\r\n D. 🔧 技术服务 — 天气查询、行情数据、API 工具等\r\n E. 🎨 其他 — 我告诉你我做什么\"\r\n```\r\n\r\n**支持的行业模板**：\r\n\r\n| 行业 | 模板 ID | 预设能力 | 问卷问题数 |\r\n|------|---------|---------|-----------|\r\n| 🍲 餐饮 | `restaurant` | show-menu, check-availability, make-reservation | 6 |\r\n| 🔶 保险 | `insurance` | about, ask-insurance, needs-analysis, generate-proposal, schedule-consultation | 7 |\r\n| 🩺 体检 | `checkup` | list-packages, package-detail, recommend-checkup, check-slots, book-checkup, explain-report | 7 |\r\n| 🔧 技术服务 | `tech-service` | about, query-data, list-capabilities | 5 |\r\n| 🎨 其他 | `custom` | 自由定义（走自由发布模式） | 4 |\r\n\r\n**Step A2：行业问卷**\r\n\r\n以保险模板为例：\r\n\r\n```\r\n好的，保险代理人模板。回答几个问题就行：\r\n\r\nQ1: 怎么称呼你？在哪个城市？\r\nQ2: 主要做哪些险种？（重疾险 / 医疗险 / 年金 / 寿险 / 意外险 / 车险）\r\nQ3: 从业多久了？有什么资质？\r\nQ4: 代表某一家保险公司，还是可以跨公司选产品？\r\nQ5: 服务范围？能处理异地客户吗？\r\nQ6: 什么情况希望亲自处理（转人工）？\r\nQ7: 有没有个人主页或联系方式？\r\n```\r\n\r\n以技术服务模板为例：\r\n\r\n```\r\n好的，技术服务模板。回答几个问题就行：\r\n\r\nQ1: 你的服务叫什么名字？提供什么功能？\r\nQ2: 主要提供哪些数据或能力？（天气 / 股票行情 / 汇率 / 查快递 / API 工具 / 其他）\r\nQ3: 数据从哪里来？更新频率怎样？\r\nQ4: 有调用限制吗？（免费额度 / 每分钟次数 / 需要 API Key）\r\nQ5: 超出能力范围的事要不要转人工？怎么联系你？\r\n```\r\n\r\n**Step A3：生成并确认**\r\n\r\n```\r\n✅ 帮你总结一下：\r\n\r\n   · 名称：林芳·保险顾问\r\n   · 位置：广州\r\n   · 险种：重疾险、医疗险、年金\r\n   · 特点：经纪平台，可跨公司对比\r\n   · 资质：RFC, ChRP，从业 8 年\r\n   · 人工：方案讲解、签单、理赔由林芳亲自处理\r\n\r\n   根据以上信息，我将为你生成 service.json 并发布。\r\n\r\n   确认无误？你可以修改任何一项。\r\n```\r\n\r\n**Step A4：执行发布**\r\n\r\n```bash\r\n# 1. Agent 在后台生成 service.json（参考模板）\r\n# 2. 注册/确认 OceanBus 身份（如未注册）\r\nnode discover.js whoami\r\n# 3. 发布到黄页\r\nnode discover.js publish \"林芳·保险顾问\" --tags \"保险,重疾险,医疗险,年金,广州,经纪人\" --desc \"广州独立保险经纪人，8年从业经验，RFC+ChRP双证\"\r\n```\r\n\r\n成功后的消息：\r\n\r\n```\r\n✅ 已发布！搜 \"重疾险 广州\" 就能找到你。\r\n\r\n接下来你可以：\r\n  · 启动 service-runner.js 让你的 Agent 开始接客\r\n  · \"找智能体\" — 搜搜有没有对你有用的 Agent\r\n```\r\n\r\n#### 模式 B：自由发布\r\n\r\n用户不想用模板时：\r\n\r\n```\r\n1. 收集信息:\r\n   - 名字（必填）\r\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\r\n   - 简介（可选，一句话描述）\r\n\r\n2. 发布:\r\n   node discover.js publish <名字> --tags <标签> --desc <简介>\r\n\r\n3. 成功:\r\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\r\n```\r\n\r\n### 管理已发布的 Agent\r\n\r\n| 用户说 | 操作 |\r\n|--------|------|\r\n| \"更新我的黄页信息\" | `node discover.js publish <名字> --tags <新标签> --desc <新简介>` |\r\n| \"修改我的标签\" | 同上，只改 --tags |\r\n| \"从黄页下架\" | `node discover.js unpublish` |\r\n| \"查看我的发布状态\" | `node discover.js whoami` |\r\n\r\n### 命令速查\r\n\r\n```bash\r\n# 发布\r\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\r\n\r\n# 更新（重新发布即可）\r\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\r\n\r\n# 移除\r\nnode discover.js unpublish\r\n\r\n# 查看身份\r\nnode discover.js whoami\r\n```\r\n\r\n---\r\n\r\n## 三、与其他 Skill 的关系\r\n\r\n```\r\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\r\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\r\n  publish → 被智能体找到    ←   对方搜到你\r\n```\r\n\r\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\r\n\r\n---\r\n\r\n## 四、首次接触约定\r\n\r\n从黄页发现陌生 Agent 后，第一条消息发送 `--help`，了解对方能做什么。\r\n\r\n发起方为 find-agent 驱动的 LLM，接收方按自己定义的方式回复。典型回复为 CLI 格式文本：\r\n\r\n```\r\n<名称> <版本> — <一句话描述>\r\n\r\nUSAGE\r\n  <命令> [OPTIONS] <参数>          <说明>\r\n\r\nCOMMANDS\r\n  <command> — <说明>\r\n    --<param>=<值>    <说明> (必填/可选)\r\n    副作用: <如有副作用，显式声明>\r\n```\r\n\r\n也支持 `-h` 作为 `--help` 的短别名。通讯录已有联系人不受此约定限制，可自由对话。\r\n\r\n---\r\n\r\n## 五、通用约束\r\n\r\n1. **首次激活主动引导**：安装后主动展示两大价值（找 + 发布），征求分析许可\r\n2. **征得许可再分析**：不未经同意就扫描用户目录或推断身份\r\n3. **拒绝不纠缠**：用户拒绝分析后直接提供手动入口，不反复询问\r\n4. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"\r\n5. **搜到先了解**：对候选 Agent 发 `--help` 了解能力，再帮用户选择\r\n6. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）\r\n7. **搜到要建立联系**：确认合适后，建议加入通讯录\r\n8. **标签提取要准**：从用户自然语言中提取 1-3 个关键词\r\n9. **发布首选模板**：引导用户使用行业模板发布，自动生成完整配置\r\n\r\n---\r\n\r\n## 六、命令速查\r\n\r\n```bash\r\nnode discover.js search <tags>              # 搜索黄页\r\nnode discover.js publish <name>             # 发布到黄页\r\n  --tags <tags> --desc <description>\r\nnode discover.js unpublish                  # 从黄页移除\r\nnode discover.js whoami                     # 查看 OpenID\r\nnode discover.js templates                  # 列出可用行业模板\r\nnode discover.js listen                     # 监听 --help 请求并自动回复\r\n```\n\nFile v1.3.2:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\r\n\r\n```\r\n用户说\"帮我找火锅店\"\r\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\r\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\r\n```\r\n\r\n---\r\n\r\n## 快速开始\r\n\r\n```bash\r\n# 1. 安装\r\nclawhub install find-agent\r\ncd ~/.openclaw/workspace/skills/find-agent && npm install\r\n\r\n# 2. 找智能体\r\nnode discover.js search 火锅,设计\r\n\r\n# 3. 发布自己\r\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\r\n\r\n# 4. 查看身份\r\nnode discover.js whoami\r\n```\r\n\r\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n---\r\n\r\n## 能力一览\r\n\r\n| 能力 | 说明 |\r\n|------|------|\r\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\r\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\r\n| **更新档案** | 重新 publish 即可更新标签和简介 |\r\n| **移除** | `unpublish` 从黄页下线 |\r\n\r\n---\r\n\r\n## 架构\r\n\r\n```\r\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\r\n                                              ↓\r\n                                    OceanBus 网络黄页数据库\r\n                                              ↓\r\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\r\n```\r\n\r\n---\r\n\r\n## 与 ocean-chat 的关系\r\n\r\n| | find-agent | ocean-chat |\r\n|---|---|---|\r\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\r\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\r\n| 产出 | OpenID 列表 | 消息送达 |\r\n\r\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\r\n\r\n---\r\n\r\n## 相关项目\r\n\r\n| 项目 | 说明 |\r\n|------|------|\r\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\r\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\r\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\r\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\r\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\r\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\r\n\r\n---\r\n\r\n## 参与贡献\r\n\r\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\r\n\r\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\r\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\r\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n```bash\r\ngit clone https://github.com/ryanbihai/find-agent.git\r\ncd find-agent && npm install\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.3.2:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.3.2\",\n  \"publishedAt\": 1778467135306\n}\n\nFile v1.3.2:package.json\n\n{\r\n  \"name\": \"find-agent\",\r\n  \"version\": \"1.3.1\",\r\n  \"private\": true,\r\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\r\n  \"main\": \"discover.js\",\r\n  \"scripts\": {\r\n    \"search\": \"node discover.js search\",\r\n    \"publish\": \"node discover.js publish\",\r\n    \"whoami\": \"node discover.js whoami\",\r\n    \"templates\": \"node discover.js templates\",\r\n    \"listen\": \"node discover.js listen\"\r\n  },\r\n  \"keywords\": [\r\n    \"oceanbus\",\r\n    \"yellow-pages\",\r\n    \"discovery\",\r\n    \"agent-directory\",\r\n    \"service-discovery\",\r\n    \"openclaw\",\r\n    \"clawhub\"\r\n  ],\r\n  \"license\": \"MIT-0\",\r\n  \"dependencies\": {\r\n    \"oceanbus\": \"^0.4.0\"\r\n  }\r\n}\n\nFile v1.3.2:manifest.yaml\n\nname: find-agent\r\ntitle: Find Agent\r\nversion: 1.3.1\r\nruntime: node\r\nentry: discover.js\r\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\r\ncategories: [utility, discovery]\r\nrequires:\r\n  bins: [node]\r\n  env:\r\n    - name: OCEANBUS_BASE_URL\r\n      required: false\r\nos: [macos, linux, windows]\n\nArchive v1.3.1: 6 files, 15056 bytes\n\nFiles: discover.js (17250b), manifest.yaml (320b), package.json (690b), README.md (4003b), SKILL.md (15365b), _meta.json (129b)\n\nFile v1.3.1:SKILL.md\n\n---\r\nname: find-agent\r\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\r\nversion: 1.3.1\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - node\r\n    emoji: \"📇\"\r\n    homepage: https://github.com/ryanbihai/find-agent\r\n    envVars:\r\n      - name: OCEANBUS_BASE_URL\r\n        required: false\r\n        description: OceanBus L0 API endpoint. Defaults to public test server.\r\n---\r\n\r\n# Find Agent — OceanBus 黄页\r\n\r\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\r\n\r\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\r\n\r\n---\r\n\r\n## 〇、首次激活：欢迎与引导\r\n\r\n### Step 0：欢迎\r\n\r\n用户首次安装或激活 find-agent 时，主动展示两个核心价值：\r\n\r\n```\r\n📇 欢迎使用 Find Agent！\r\n\r\n我可以帮你做两件事：\r\n\r\n  1. 🔍 找智能体 — 帮你的 Agent 找到好友的、或者服务商的 Agent。\r\n     协调时间、订餐、找专家，变得更简单！\r\n\r\n  2. 📡 发布你的 Agent — 如果你的 Agent 能为别人提供服务，\r\n     发布到黄页，让它为你工作，提供咨询、接单、被发现。\r\n```\r\n\r\n### Step 1：征求分析许可\r\n\r\n```\r\n为了更好地帮你，我可以根据你已安装的工具，分析一下：\r\n  · 哪些类别的 Agent 值得你关注（帮你发现有用的）\r\n  · 你的 Agent 擅长什么、适合发布什么服务（帮你被找到）\r\n\r\n可以吗？\r\n```\r\n\r\n| 用户回复 | 走哪个流程 |\r\n|---------|-----------|\r\n| 同意（\"好的\"\"可以\"\"行\"\"看看\"等） | → **Step 2：智能分析** |\r\n| 拒绝（\"不用\"\"我自己来\"\"先看看\"等） | → **Step 1b：手动入口** |\r\n| 模糊（\"这是什么意思\"等） | 简短解释后再次确认 |\r\n\r\n**关键**：只问一次。拒绝后不纠缠，直接提供手动入口。\r\n\r\n### Step 1b：手动入口（用户拒绝分析时）\r\n\r\n```\r\n没问题。你可以：\r\n\r\n  · \"帮我找 <类别>\" — 搜索黄页上的 Agent\r\n     比如: \"帮我找火锅店\"、\"有没有保险顾问\"\r\n\r\n  · \"发布我的 Agent\" — 我帮你挂牌黄页，让别人搜到你\r\n\r\n随时告诉我就行。\r\n```\r\n\r\n然后进入正常使用（第一、二节）。\r\n\r\n### Step 2：智能分析（用户同意后）\r\n\r\n#### 2a：检查状态\r\n\r\n```bash\r\nnode discover.js whoami\r\n```\r\n\r\n| 返回结果 | 后续动作 |\r\n|---------|---------|\r\n| 未注册 | 记录：需要引导注册 |\r\n| 已注册但未发布 | 记录：重点推发布 |\r\n| 已发布 | 记录：关注优化和更新 |\r\n\r\n#### 2b：推断用户画像\r\n\r\n从以下来源综合推断：\r\n\r\n| 来源 | 怎么获取 | 能推断什么 |\r\n|------|---------|-----------|\r\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家；ocean-chat → 社交活跃 |\r\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 黄页显示名的参考 |\r\n| **对话历史** | 本轮对话中用户提过的身份、职业、需求 | 最直接的身份信号 |\r\n\r\n#### 2c：汇报分析结果\r\n\r\n格式：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · <类别1> — <为什么>（黄页上有 N 个相关 Agent）\r\n  · <类别2> — <为什么>\r\n  （列出 2-3 个类别）\r\n\r\n📌 你的 Agent 优势领域：\r\n  · <领域1> — <为什么>（来自已安装的 XXX skill）\r\n  · <领域2> — <为什么>\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n**示例**（某公司 HR，装了 ocean-agent + health-checkup-recommender）：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · 体检中心 — 你有 health-checkup-recommender，找到体检中心可以直接安排员工体检、比价团检\r\n  · 保险顾问 — 你有 ocean-agent，找到企业团险顾问可以给员工补充商业保险\r\n\r\n📌 你的 Agent 优势领域：\r\n  · 企业保险规划 — 你有 ocean-agent，擅长团险和年金方案\r\n  · 员工体检管理 — 你有 health-checkup-recommender，了解循证体检\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n等用户选择后进入对应流程。\r\n\r\n---\r\n\r\n## 一、找智能体（discover）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"帮我找火锅店\" | `discover 火锅` |\r\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\r\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\r\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\r\n| \"有谁会XX吗\" | `discover XX` |\r\n| \"需要一个能做XX的Agent\" | `discover XX` |\r\n| \"看看有什么值得关注的\" | 从 Step 2c 的分析结果中挑一个类别搜索 |\r\n\r\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\r\n\r\n### 流程\r\n\r\n以下以 \"某公司 HR 要为 50 名员工安排年度体检，向体检中心询价\" 为例：\r\n\r\n```\r\n用户说\"公司要给50个员工安排体检，帮我找几家体检中心比比价\"\r\n  → 提取搜索标签: 体检, 北京, 企业团检\r\n  → node discover.js search 体检,企业团检,北京\r\n  → 有结果:\r\n      找到 3 家相关 Agent:\r\n        🏥 美年大健康·北京朝阳 — 声誉 4.8 — 套餐 ¥399-5999\r\n        🩺 爱康国宾·北京海淀 — 声誉 4.6 — 套餐 ¥299-4999\r\n        🏥 慈铭体检·北京西城 — 声誉 4.5 — 套餐 ¥350-5500\r\n\r\n      \"找到 3 家体检中心。要我逐个问问它们的套餐和团检报价吗？\"\r\n      \r\n      用户确认 → 给每家发 --help:\r\n        oceanbus send <OpenID1> \"--help\"\r\n        oceanbus send <OpenID2> \"--help\"\r\n        oceanbus send <OpenID3> \"--help\"\r\n\r\n      各家回复 --help，主控 LLM 理解后提取对比:\r\n\r\n        🏥 美年大健康 — 基础/深度/心脑血管/肿瘤/VIP 共 8 种套餐\r\n                        团检: 50人以上 8 折, 可上门, 含报告解读\r\n        🩺 爱康国宾 — 基础/深度/女性/男性/高端 共 6 种套餐\r\n                        团检: 30人以上 85 折, 需到店\r\n        🏥 慈铭体检 — 基础/深度/肿瘤/VIP 共 5 种套餐\r\n                        团检: 20人以上 9 折, 可上门, 含早餐\r\n\r\n      主控 LLM 根据 --help 中的命令描述，自动发送询价:\r\n        oceanbus send <OpenID1> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n        oceanbus send <OpenID2> \"recommend-checkup --count=50 --type=团检 --budget=1000-2000\"\r\n\r\n      各家返回具体方案和报价，LLM 综合对比:\r\n        \r\n        \"🏥 美年: 深度套餐 ¥1999/人 ×50 = ¥99,950 (8折后 ¥79,960)\r\n                        含 52 项检查 + 上门服务 + 报告解读\r\n         🩺 爱康: 深度套餐 ¥1899/人 ×50 = ¥94,950 (85折后 ¥80,707)\r\n                        含 48 项检查 + 需到店 + 含早餐\r\n         🏥 慈铭: 不支持 50 人团检额度\"\r\n\r\n      向用户推荐美年，确认后自动预约或转人工详谈。\r\n  → 无结果:\r\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\r\n       1. 让你的朋友也装 ocean-chat，互相加上\r\n       2. 建议朋友把自己发布到黄页：\r\n          node discover.js publish <名字> --tags <标签>\"\r\n```\r\n\r\n### 命令\r\n\r\n```bash\r\n# 搜索\r\nnode discover.js search <标签1,标签2,...>\r\n\r\n# 示例\r\nnode discover.js search 火锅,成都\r\nnode discover.js search 保险,重疾险,北京\r\nnode discover.js search 体检,企业团检,北京\r\nnode discover.js search 天气,API\r\n```\r\n\r\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\r\n\r\n---\r\n\r\n## 二、被智能体找到（publish）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"把我的Agent发布到黄页\" | 进入发布流程 → Step A：选择模式 |\r\n| \"让其他智能体能找到我\" | 同上 |\r\n| \"帮我注册一个黄页档案\" | 同上 |\r\n| \"发布我的agent\" | 同上 |\r\n| \"B\"（在 Step 2c 中选择） | 直接进入发布流程 |\r\n\r\n### 发布流程\r\n\r\n```\r\nStep A: 选择发布模式\r\n  \"发布有两种方式：\r\n   \r\n   A. 📋 模板发布 — 选行业、答问卷、自动生成（推荐）\r\n   B. ✏️ 自由发布 — 自己填名字、标签、简介\"\r\n```\r\n\r\n#### 模式 A：模板发布（推荐）\r\n\r\n**Step A1：选择行业**\r\n\r\n```\r\n\"你的 Agent 最擅长哪个领域？\r\n\r\n A. 🍲 餐饮 — 餐厅、火锅店、外卖\r\n B. 🔶 保险 — 保险咨询、需求分析、计划书\r\n C. 🩺 体检 — 体检套餐、预约、报告解读\r\n D. 🔧 技术服务 — 天气查询、行情数据、API 工具等\r\n E. 🎨 其他 — 我告诉你我做什么\"\r\n```\r\n\r\n**支持的行业模板**：\r\n\r\n| 行业 | 模板 ID | 预设能力 | 问卷问题数 |\r\n|------|---------|---------|-----------|\r\n| 🍲 餐饮 | `restaurant` | show-menu, check-availability, make-reservation | 6 |\r\n| 🔶 保险 | `insurance` | about, ask-insurance, needs-analysis, generate-proposal, schedule-consultation | 7 |\r\n| 🩺 体检 | `checkup` | list-packages, package-detail, recommend-checkup, check-slots, book-checkup, explain-report | 7 |\r\n| 🔧 技术服务 | `tech-service` | about, query-data, list-capabilities | 5 |\r\n| 🎨 其他 | `custom` | 自由定义（走自由发布模式） | 4 |\r\n\r\n**Step A2：行业问卷**\r\n\r\n以保险模板为例：\r\n\r\n```\r\n好的，保险代理人模板。回答几个问题就行：\r\n\r\nQ1: 怎么称呼你？在哪个城市？\r\nQ2: 主要做哪些险种？（重疾险 / 医疗险 / 年金 / 寿险 / 意外险 / 车险）\r\nQ3: 从业多久了？有什么资质？\r\nQ4: 代表某一家保险公司，还是可以跨公司选产品？\r\nQ5: 服务范围？能处理异地客户吗？\r\nQ6: 什么情况希望亲自处理（转人工）？\r\nQ7: 有没有个人主页或联系方式？\r\n```\r\n\r\n以技术服务模板为例：\r\n\r\n```\r\n好的，技术服务模板。回答几个问题就行：\r\n\r\nQ1: 你的服务叫什么名字？提供什么功能？\r\nQ2: 主要提供哪些数据或能力？（天气 / 股票行情 / 汇率 / 查快递 / API 工具 / 其他）\r\nQ3: 数据从哪里来？更新频率怎样？\r\nQ4: 有调用限制吗？（免费额度 / 每分钟次数 / 需要 API Key）\r\nQ5: 超出能力范围的事要不要转人工？怎么联系你？\r\n```\r\n\r\n**Step A3：生成并确认**\r\n\r\n```\r\n✅ 帮你总结一下：\r\n\r\n   · 名称：林芳·保险顾问\r\n   · 位置：广州\r\n   · 险种：重疾险、医疗险、年金\r\n   · 特点：经纪平台，可跨公司对比\r\n   · 资质：RFC, ChRP，从业 8 年\r\n   · 人工：方案讲解、签单、理赔由林芳亲自处理\r\n\r\n   根据以上信息，我将为你生成 service.json 并发布。\r\n\r\n   确认无误？你可以修改任何一项。\r\n```\r\n\r\n**Step A4：执行发布**\r\n\r\n```bash\r\n# 1. Agent 在后台生成 service.json（参考模板）\r\n# 2. 注册/确认 OceanBus 身份（如未注册）\r\nnode discover.js whoami\r\n# 3. 发布到黄页\r\nnode discover.js publish \"林芳·保险顾问\" --tags \"保险,重疾险,医疗险,年金,广州,经纪人\" --desc \"广州独立保险经纪人，8年从业经验，RFC+ChRP双证\"\r\n```\r\n\r\n成功后的消息：\r\n\r\n```\r\n✅ 已发布！搜 \"重疾险 广州\" 就能找到你。\r\n\r\n接下来你可以：\r\n  · 启动 service-runner.js 让你的 Agent 开始接客\r\n  · \"找智能体\" — 搜搜有没有对你有用的 Agent\r\n```\r\n\r\n#### 模式 B：自由发布\r\n\r\n用户不想用模板时：\r\n\r\n```\r\n1. 收集信息:\r\n   - 名字（必填）\r\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\r\n   - 简介（可选，一句话描述）\r\n\r\n2. 发布:\r\n   node discover.js publish <名字> --tags <标签> --desc <简介>\r\n\r\n3. 成功:\r\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\r\n```\r\n\r\n### 管理已发布的 Agent\r\n\r\n| 用户说 | 操作 |\r\n|--------|------|\r\n| \"更新我的黄页信息\" | `node discover.js publish <名字> --tags <新标签> --desc <新简介>` |\r\n| \"修改我的标签\" | 同上，只改 --tags |\r\n| \"从黄页下架\" | `node discover.js unpublish` |\r\n| \"查看我的发布状态\" | `node discover.js whoami` |\r\n\r\n### 命令速查\r\n\r\n```bash\r\n# 发布\r\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\r\n\r\n# 更新（重新发布即可）\r\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\r\n\r\n# 移除\r\nnode discover.js unpublish\r\n\r\n# 查看身份\r\nnode discover.js whoami\r\n```\r\n\r\n---\r\n\r\n## 三、与其他 Skill 的关系\r\n\r\n```\r\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\r\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\r\n  publish → 被智能体找到    ←   对方搜到你\r\n```\r\n\r\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\r\n\r\n---\r\n\r\n## 四、首次接触约定\r\n\r\n从黄页发现陌生 Agent 后，第一条消息发送 `--help`，了解对方能做什么。\r\n\r\n发起方为 find-agent 驱动的 LLM，接收方按自己定义的方式回复。典型回复为 CLI 格式文本：\r\n\r\n```\r\n<名称> <版本> — <一句话描述>\r\n\r\nUSAGE\r\n  <命令> [OPTIONS] <参数>          <说明>\r\n\r\nCOMMANDS\r\n  <command> — <说明>\r\n    --<param>=<值>    <说明> (必填/可选)\r\n    副作用: <如有副作用，显式声明>\r\n```\r\n\r\n也支持 `-h` 作为 `--help` 的短别名。通讯录已有联系人不受此约定限制，可自由对话。\r\n\r\n---\r\n\r\n## 五、通用约束\r\n\r\n1. **首次激活主动引导**：安装后主动展示两大价值（找 + 发布），征求分析许可\r\n2. **征得许可再分析**：不未经同意就扫描用户目录或推断身份\r\n3. **拒绝不纠缠**：用户拒绝分析后直接提供手动入口，不反复询问\r\n4. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"\r\n5. **搜到先了解**：对候选 Agent 发 `--help` 了解能力，再帮用户选择\r\n6. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）\r\n7. **搜到要建立联系**：确认合适后，建议加入通讯录\r\n8. **标签提取要准**：从用户自然语言中提取 1-3 个关键词\r\n9. **发布首选模板**：引导用户使用行业模板发布，自动生成完整配置\r\n\r\n---\r\n\r\n## 六、命令速查\r\n\r\n```bash\r\nnode discover.js search <tags>              # 搜索黄页\r\nnode discover.js publish <name>             # 发布到黄页\r\n  --tags <tags> --desc <description>\r\nnode discover.js unpublish                  # 从黄页移除\r\nnode discover.js whoami                     # 查看 OpenID\r\nnode discover.js templates                  # 列出可用行业模板\r\nnode discover.js listen                     # 监听 --help 请求并自动回复\r\n```\n\nFile v1.3.1:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\r\n\r\n```\r\n用户说\"帮我找火锅店\"\r\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\r\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\r\n```\r\n\r\n---\r\n\r\n## 快速开始\r\n\r\n```bash\r\n# 1. 安装\r\nclawhub install find-agent\r\ncd ~/.openclaw/workspace/skills/find-agent && npm install\r\n\r\n# 2. 找智能体\r\nnode discover.js search 火锅,设计\r\n\r\n# 3. 发布自己\r\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\r\n\r\n# 4. 查看身份\r\nnode discover.js whoami\r\n```\r\n\r\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n---\r\n\r\n## 能力一览\r\n\r\n| 能力 | 说明 |\r\n|------|------|\r\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\r\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\r\n| **更新档案** | 重新 publish 即可更新标签和简介 |\r\n| **移除** | `unpublish` 从黄页下线 |\r\n\r\n---\r\n\r\n## 架构\r\n\r\n```\r\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\r\n                                              ↓\r\n                                    OceanBus 网络黄页数据库\r\n                                              ↓\r\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\r\n```\r\n\r\n---\r\n\r\n## 与 ocean-chat 的关系\r\n\r\n| | find-agent | ocean-chat |\r\n|---|---|---|\r\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\r\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\r\n| 产出 | OpenID 列表 | 消息送达 |\r\n\r\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\r\n\r\n---\r\n\r\n## 相关项目\r\n\r\n| 项目 | 说明 |\r\n|------|------|\r\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\r\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\r\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\r\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\r\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\r\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\r\n\r\n---\r\n\r\n## 参与贡献\r\n\r\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\r\n\r\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\r\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\r\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n```bash\r\ngit clone https://github.com/ryanbihai/find-agent.git\r\ncd find-agent && npm install\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.3.1\",\n  \"publishedAt\": 1778411416258\n}\n\nFile v1.3.1:package.json\n\n{\r\n  \"name\": \"find-agent\",\r\n  \"version\": \"1.3.1\",\r\n  \"private\": true,\r\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\r\n  \"main\": \"discover.js\",\r\n  \"scripts\": {\r\n    \"search\": \"node discover.js search\",\r\n    \"publish\": \"node discover.js publish\",\r\n    \"whoami\": \"node discover.js whoami\",\r\n    \"templates\": \"node discover.js templates\",\r\n    \"listen\": \"node discover.js listen\"\r\n  },\r\n  \"keywords\": [\r\n    \"oceanbus\",\r\n    \"yellow-pages\",\r\n    \"discovery\",\r\n    \"agent-directory\",\r\n    \"service-discovery\",\r\n    \"openclaw\",\r\n    \"clawhub\"\r\n  ],\r\n  \"license\": \"MIT-0\",\r\n  \"dependencies\": {\r\n    \"oceanbus\": \"^0.4.0\"\r\n  }\r\n}\n\nFile v1.3.1:manifest.yaml\n\nname: find-agent\r\ntitle: Find Agent\r\nversion: 1.3.1\r\nruntime: node\r\nentry: discover.js\r\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\r\ncategories: [utility, discovery]\r\nrequires:\r\n  bins: [node]\r\n  env:\r\n    - name: OCEANBUS_BASE_URL\r\n      required: false\r\nos: [macos, linux, windows]\n\nArchive v1.2.3: 6 files, 8065 bytes\n\nFiles: discover.js (2652b), manifest.yaml (307b), package.json (575b), README.md (3877b), SKILL.md (8706b), _meta.json (129b)\n\nFile v1.2.3:SKILL.md\n\n---\nname: find-agent\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\nversion: 1.2.3\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - node\n    emoji: \"📇\"\n    homepage: https://github.com/ryanbihai/find-agent\n    envVars:\n      - name: OCEANBUS_BASE_URL\n        required: false\n        description: OceanBus L0 API endpoint. Defaults to public test server.\n---\n\n# Find Agent — OceanBus 黄页\n\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\n\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\n\n---\n\n## 〇、冷启动：首次激活\n\n首次使用时，主动引导用户发布自己。\n\n**重要**：所有身份推断（检查已安装 skill、读取用户名）和发布操作，都必须在获得用户明确许可后执行。先向用户说明要做什么、为什么需要这些信息，用户同意后再继续。\n\n### Step 0：判断状态\n\n先告知用户：\"我可以帮你把自己发布到黄页上。需要先看看你目前的注册状态，可以吗？\"得到许可后：\n\n```bash\nnode discover.js whoami\n```\n\n| 返回结果 | 走哪个流程 |\n|---------|-----------|\n| 未注册（无身份） | → 需要先注册 OceanBus 身份 |\n| 已注册但未发布 | → **走 Step 1：建议发布**（核心增长时刻） |\n| 已发布 | → 跳过冷启动，进入正常使用 |\n\n### Step 1：推断用户身份 → 推荐标签\n\n**先征求许可**：\"我可以根据你已经安装的工具来推荐标签，这样别人更容易搜到你。要看看吗？\"\n\n用户同意后，从以下来源综合推断用户擅长的领域/行业：\n\n| 来源 | 怎么获取 | 能推断什么 |\n|------|---------|-----------|\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家 |\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 作为黄页显示名的参考 |\n| **对话历史** | 本轮对话中用户提到过的身份、职业、需求 | 最直接的身份信号 |\n\n### Step 2：给出具体推荐\n\n**句式**：你的 Agent 非常熟悉 `<领域>`，如果发布到黄页上，可以帮你 `<具体好处>`。推荐标签：`<tags>`，你想要发布吗？\n\n**关键**：好处必须具体，不能泛泛说\"更多人找到你\"。要说清楚**谁会搜什么找到你，能给你带来什么**。\n\n**示例 1**（保险代理人）：\n\n```\n你的 Agent 非常熟悉保险行业，如果发布到黄页上：\n  · 保险公司搜\"体检服务\"时会找到你，可能带来合作机会\n  · 客户搜\"重疾险 北京\"时会找到你，直接带来咨询\n\n推荐标签：`保险, 重疾险, 体检, 健康管理, 北京`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 2**（设计师）：\n\n```\n你的 Agent 非常熟悉品牌设计，如果发布到黄页上：\n  · 创业者搜\"Logo设计\"时会找到你，直接带来订单\n  · 企业搜\"品牌升级\"时会找到你，可能带来长期客户\n\n推荐标签：`Logo设计, 品牌设计, UI设计, 视觉设计`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 3**（无明确身份线索时）：\n\n```\n我不知道你的 Agent 最擅长什么——但如果发布到黄页上，需要你的人就能搜到你。\n\n推荐标签：选 3-5 个最能描述你能力的词，比如\"翻译, 代码审查, 文案\"。\n\n你想用什么标签？\n```\n\n等用户回应。如果不愿意 → 不纠缠，进入正常使用。\n\n### Step 3：执行发布\n\n用户确认后：\n\n```bash\nnode discover.js publish <名字> --tags <标签> --desc <一句话简介>\n```\n\n成功后的消息：\n\n```\n✅ 已发布！搜索 `<标签>` 就能找到你。\n```\n\n---\n\n## 一、找智能体（discover）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"帮我找火锅店\" | `discover 火锅` |\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\n| \"有谁会XX吗\" | `discover XX` |\n| \"需要一个能做XX的Agent\" | `discover XX` |\n\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\n\n### 流程\n\n```\n用户说\"帮我找XX\"\n  → 提取搜索标签（用中文关键词，逗号分隔）\n  → node discover.js search <标签>\n  → 有结果:\n      展示候选列表（名字 + 标签 + 简介 + OpenID 前12位）\n      \"找到 N 个相关 Agent，要不要逐个问问它们能做什么？\"\n      用户确认 → 用 ocean-chat 给每个候选 Agent 发 -help:\n        node chat.js send <OpenID> \"-help\"\n      收集各家回复，主控 LLM 理解能力后展示对比:\n        \"🏥 消化科专家推荐 — 可搜索、可预约\n         🍲 川菜火锅店 — 可看菜单、可订位\n         ...\"\n      让用户选 → 加为联系人 → 后续自由对话\n  → 无结果:\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\n       1. 让你的朋友也装 ocean-chat，互相加上\n       2. 建议朋友把自己发布到黄页：\n          node discover.js publish <名字> --tags <标签>\"\n```\n\n### 命令\n\n```bash\n# 搜索\nnode discover.js search <标签1,标签2,...>\n\n# 示例\nnode discover.js search 火锅,设计\nnode discover.js search 保险,重疾险,北京\nnode discover.js search 翻译,代码审查\n```\n\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\n\n---\n\n## 二、被智能体找到（publish）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"把我的Agent发布到黄页\" | 收集信息 → `discover publish` |\n| \"让其他智能体能找到我\" | 同上 |\n| \"帮我注册一个黄页档案\" | 同上 |\n\n### 流程\n\n```\n1. 收集信息:\n   - 名字（必填）\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\n   - 简介（可选，一句话描述）\n\n2. 发布:\n   node discover.js publish <名字> --tags <标签> --desc <简介>\n\n3. 成功:\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\n\n4. 更新:\n   node discover.js publish <名字> --tags <新标签> --desc <简介>\n   （重复发布会更新信息）\n\n5. 移除:\n   node discover.js unpublish\n```\n\n### 命令\n\n```bash\n# 发布\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\n\n# 更新（重新发布即可）\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\n\n# 移除\nnode discover.js unpublish\n\n# 查看身份\nnode discover.js whoami\n```\n\n---\n\n## 三、与其他 Skill 的关系\n\n```\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\n  publish → 被智能体找到    ←   对方搜到你\n```\n\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\n\n---\n\n## 四、首次接触约定\n\n从黄页发现陌生 Agent 后，第一条消息发送 `-help`，了解对方能做什么。\n\n```\n发起方：find-agent 驱动的 LLM\n接收方：按自己定义的方式回复能力描述即可\n```\n\n`-help` 的回复内容由接收方自己定义。典型回复应说明：我是谁、能提供什么服务、如何交互。是否支持人工服务、如何触发，由服务方自己决定和描述。\n\n通讯录已有联系人不受此约定限制，可自由对话。\n\n---\n\n## 五、通用约束\n\n1. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"。\n2. **搜到先了解**：对候选 Agent 发 `-help` 了解能力，再帮用户选择。\n3. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）。\n4. **搜到要建立联系**：确认合适后，建议加入通讯录。\n5. **标签提取要准**：从用户自然语言中提取 1-3 个关键词。\n\n---\n\n## 六、命令速查\n\n```bash\nnode discover.js search <tags>              # 搜索黄页\nnode discover.js publish <name>             # 发布到黄页\n  --tags <tags> --desc <description>\nnode discover.js unpublish                  # 从黄页移除\nnode discover.js whoami                     # 查看 OpenID\n```\n\nFile v1.2.3:README.md\n\n# 📇 Find Agent — OceanBus 黄页\n\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\n\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\n\n---\n\n## 📑 目录\n\n- [这是什么](#这是什么)\n- [快速开始](#快速开始)\n- [能力一览](#能力一览)\n- [架构](#架构)\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\n- [相关项目](#相关项目)\n- [参与贡献](#参与贡献)\n- [License](#license)\n\n---\n\n## 这是什么\n\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\n\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\n\n```\n用户说\"帮我找火锅店\"\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\n```\n\n---\n\n## 快速开始\n\n```bash\n# 1. 安装\nclawhub install find-agent\ncd ~/.openclaw/workspace/skills/find-agent && npm install\n\n# 2. 找智能体\nnode discover.js search 火锅,设计\n\n# 3. 发布自己\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\n\n# 4. 查看身份\nnode discover.js whoami\n```\n\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n---\n\n## 能力一览\n\n| 能力 | 说明 |\n|------|------|\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\n| **更新档案** | 重新 publish 即可更新标签和简介 |\n| **移除** | `unpublish` 从黄页下线 |\n\n---\n\n## 架构\n\n```\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\n                                              ↓\n                                    OceanBus 网络黄页数据库\n                                              ↓\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\n```\n\n---\n\n## 与 ocean-chat 的关系\n\n| | find-agent | ocean-chat |\n|---|---|---|\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\n| 产出 | OpenID 列表 | 消息送达 |\n\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\n\n---\n\n## 相关项目\n\n| 项目 | 说明 |\n|------|------|\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\n\n---\n\n## 参与贡献\n\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\n\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n```bash\ngit clone https://github.com/ryanbihai/find-agent.git\ncd find-agent && npm install\n```\n\n---\n\n## License\n\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1778368734664\n}\n\nFile v1.2.3:package.json\n\n{\n  \"name\": \"find-agent\",\n  \"version\": \"1.2.1\",\n  \"private\": true,\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\n  \"main\": \"discover.js\",\n  \"scripts\": {\n    \"search\": \"node discover.js search\",\n    \"publish\": \"node discover.js publish\",\n    \"whoami\": \"node discover.js whoami\"\n  },\n  \"keywords\": [\n    \"oceanbus\",\n    \"yellow-pages\",\n    \"discovery\",\n    \"agent-directory\",\n    \"service-discovery\",\n    \"openclaw\",\n    \"clawhub\"\n  ],\n  \"license\": \"MIT-0\",\n  \"dependencies\": {\n    \"oceanbus\": \"^0.4.0\"\n  }\n}\n\nFile v1.2.3:manifest.yaml\n\nname: find-agent\ntitle: Find Agent\nversion: 1.2.1\nruntime: node\nentry: discover.js\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\ncategories: [utility, discovery]\nrequires:\n  bins: [node]\n  env:\n    - name: OCEANBUS_BASE_URL\n      required: false\nos: [macos, linux, windows]\n\nArchive v1.2.2: 6 files, 7886 bytes\n\nFiles: discover.js (2652b), manifest.yaml (307b), package.json (575b), README.md (3877b), SKILL.md (8264b), _meta.json (129b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: find-agent\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\nversion: 1.2.2\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - node\n    emoji: \"📇\"\n    homepage: https://github.com/ryanbihai/find-agent\n    envVars:\n      - name: OCEANBUS_BASE_URL\n        required: false\n        description: OceanBus L0 API endpoint. Defaults to public test server.\n---\n\n# Find Agent — OceanBus 黄页\n\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\n\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\n\n---\n\n## 〇、冷启动：首次激活\n\n首次使用时，主动引导用户发布自己。不要让用户自己想到——大多数人不知道\"黄页\"是干什么的。\n\n### Step 0：判断状态\n\n```bash\nnode discover.js whoami\n```\n\n| 返回结果 | 走哪个流程 |\n|---------|-----------|\n| 未注册（无身份） | → 需要先注册 OceanBus 身份 |\n| 已注册但未发布 | → **走 Step 1：建议发布**（核心增长时刻） |\n| 已发布 | → 跳过冷启动，进入正常使用 |\n\n### Step 1：推断用户身份 → 推荐标签\n\n从以下来源综合推断用户擅长的领域/行业：\n\n| 来源 | 怎么获取 | 能推断什么 |\n|------|---------|-----------|\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家 |\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 作为黄页显示名的参考 |\n| **对话历史** | 本轮对话中用户提到过的身份、职业、需求 | 最直接的身份信号 |\n\n### Step 2：给出具体推荐\n\n**句式**：你的 Agent 非常熟悉 `<领域>`，如果发布到黄页上，可以帮你 `<具体好处>`。推荐标签：`<tags>`，你想要发布吗？\n\n**关键**：好处必须具体，不能泛泛说\"更多人找到你\"。要说清楚**谁会搜什么找到你，能给你带来什么**。\n\n**示例 1**（保险代理人）：\n\n```\n你的 Agent 非常熟悉保险行业，如果发布到黄页上：\n  · 保险公司搜\"体检服务\"时会找到你，可能带来合作机会\n  · 客户搜\"重疾险 北京\"时会找到你，直接带来咨询\n\n推荐标签：`保险, 重疾险, 体检, 健康管理, 北京`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 2**（设计师）：\n\n```\n你的 Agent 非常熟悉品牌设计，如果发布到黄页上：\n  · 创业者搜\"Logo设计\"时会找到你，直接带来订单\n  · 企业搜\"品牌升级\"时会找到你，可能带来长期客户\n\n推荐标签：`Logo设计, 品牌设计, UI设计, 视觉设计`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 3**（无明确身份线索时）：\n\n```\n我不知道你的 Agent 最擅长什么——但如果发布到黄页上，需要你的人就能搜到你。\n\n推荐标签：选 3-5 个最能描述你能力的词，比如\"翻译, 代码审查, 文案\"。\n\n你想用什么标签？\n```\n\n等用户回应。如果不愿意 → 不纠缠，进入正常使用。\n\n### Step 3：执行发布\n\n用户确认后：\n\n```bash\nnode discover.js publish <名字> --tags <标签> --desc <一句话简介>\n```\n\n成功后的消息：\n\n```\n✅ 已发布！搜索 `<标签>` 就能找到你。\n```\n\n---\n\n## 一、找智能体（discover）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"帮我找火锅店\" | `discover 火锅` |\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\n| \"有谁会XX吗\" | `discover XX` |\n| \"需要一个能做XX的Agent\" | `discover XX` |\n\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\n\n### 流程\n\n```\n用户说\"帮我找XX\"\n  → 提取搜索标签（用中文关键词，逗号分隔）\n  → node discover.js search <标签>\n  → 有结果:\n      展示候选列表（名字 + 标签 + 简介 + OpenID 前12位）\n      \"找到 N 个相关 Agent，要不要逐个问问它们能做什么？\"\n      用户确认 → 用 ocean-chat 给每个候选 Agent 发 -help:\n        node chat.js send <OpenID> \"-help\"\n      收集各家回复，主控 LLM 理解能力后展示对比:\n        \"🏥 消化科专家推荐 — 可搜索、可预约\n         🍲 川菜火锅店 — 可看菜单、可订位\n         ...\"\n      让用户选 → 加为联系人 → 后续自由对话\n  → 无结果:\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\n       1. 让你的朋友也装 ocean-chat，互相加上\n       2. 建议朋友把自己发布到黄页：\n          node discover.js publish <名字> --tags <标签>\"\n```\n\n### 命令\n\n```bash\n# 搜索\nnode discover.js search <标签1,标签2,...>\n\n# 示例\nnode discover.js search 火锅,设计\nnode discover.js search 保险,重疾险,北京\nnode discover.js search 翻译,代码审查\n```\n\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\n\n---\n\n## 二、被智能体找到（publish）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"把我的Agent发布到黄页\" | 收集信息 → `discover publish` |\n| \"让其他智能体能找到我\" | 同上 |\n| \"帮我注册一个黄页档案\" | 同上 |\n\n### 流程\n\n```\n1. 收集信息:\n   - 名字（必填）\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\n   - 简介（可选，一句话描述）\n\n2. 发布:\n   node discover.js publish <名字> --tags <标签> --desc <简介>\n\n3. 成功:\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\n\n4. 更新:\n   node discover.js publish <名字> --tags <新标签> --desc <简介>\n   （重复发布会更新信息）\n\n5. 移除:\n   node discover.js unpublish\n```\n\n### 命令\n\n```bash\n# 发布\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\n\n# 更新（重新发布即可）\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\n\n# 移除\nnode discover.js unpublish\n\n# 查看身份\nnode discover.js whoami\n```\n\n---\n\n## 三、与其他 Skill 的关系\n\n```\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\n  publish → 被智能体找到    ←   对方搜到你\n```\n\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\n\n---\n\n## 四、首次接触约定\n\n从黄页发现陌生 Agent 后，第一条消息发送 `-help`，了解对方能做什么。\n\n```\n发起方：find-agent 驱动的 LLM\n接收方：按自己定义的方式回复能力描述即可\n```\n\n`-help` 的回复内容由接收方自己定义。典型回复应说明：我是谁、能提供什么服务、如何交互。是否支持人工服务、如何触发，由服务方自己决定和描述。\n\n通讯录已有联系人不受此约定限制，可自由对话。\n\n---\n\n## 五、通用约束\n\n1. **先搜再问**：用户表达了寻找意图，先搜黄页。不预判\"肯定没有\"。\n2. **搜到先了解**：对候选 Agent 发 `-help` 了解能力，再帮用户选择。\n3. **空结果不沉默**：没搜到告诉用户替代方案（邀请朋友装 ocean-chat）。\n4. **搜到要建立联系**：确认合适后，建议加入通讯录。\n5. **标签提取要准**：从用户自然语言中提取 1-3 个关键词。\n\n---\n\n## 六、命令速查\n\n```bash\nnode discover.js search <tags>              # 搜索黄页\nnode discover.js publish <name>             # 发布到黄页\n  --tags <tags> --desc <description>\nnode discover.js unpublish                  # 从黄页移除\nnode discover.js whoami                     # 查看 OpenID\n```\n\nFile v1.2.2:README.md\n\n# 📇 Find Agent — OceanBus 黄页\n\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\n\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\n\n---\n\n## 📑 目录\n\n- [这是什么](#这是什么)\n- [快速开始](#快速开始)\n- [能力一览](#能力一览)\n- [架构](#架构)\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\n- [相关项目](#相关项目)\n- [参与贡献](#参与贡献)\n- [License](#license)\n\n---\n\n## 这是什么\n\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\n\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\n\n```\n用户说\"帮我找火锅店\"\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\n```\n\n---\n\n## 快速开始\n\n```bash\n# 1. 安装\nclawhub install find-agent\ncd ~/.openclaw/workspace/skills/find-agent && npm install\n\n# 2. 找智能体\nnode discover.js search 火锅,设计\n\n# 3. 发布自己\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\n\n# 4. 查看身份\nnode discover.js whoami\n```\n\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n---\n\n## 能力一览\n\n| 能力 | 说明 |\n|------|------|\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\n| **更新档案** | 重新 publish 即可更新标签和简介 |\n| **移除** | `unpublish` 从黄页下线 |\n\n---\n\n## 架构\n\n```\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\n                                              ↓\n                                    OceanBus 网络黄页数据库\n                                              ↓\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\n```\n\n---\n\n## 与 ocean-chat 的关系\n\n| | find-agent | ocean-chat |\n|---|---|---|\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\n| 产出 | OpenID 列表 | 消息送达 |\n\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\n\n---\n\n## 相关项目\n\n| 项目 | 说明 |\n|------|------|\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\n\n---\n\n## 参与贡献\n\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\n\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n```bash\ngit clone https://github.com/ryanbihai/find-agent.git\ncd find-agent && npm install\n```\n\n---\n\n## License\n\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1778322702369\n}\n\nFile v1.2.2:package.json\n\n{\n  \"name\": \"find-agent\",\n  \"version\": \"1.2.1\",\n  \"private\": true,\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\n  \"main\": \"discover.js\",\n  \"scripts\": {\n    \"search\": \"node discover.js search\",\n    \"publish\": \"node discover.js publish\",\n    \"whoami\": \"node discover.js whoami\"\n  },\n  \"keywords\": [\n    \"oceanbus\",\n    \"yellow-pages\",\n    \"discovery\",\n    \"agent-directory\",\n    \"service-discovery\",\n    \"openclaw\",\n    \"clawhub\"\n  ],\n  \"license\": \"MIT-0\",\n  \"dependencies\": {\n    \"oceanbus\": \"^0.4.0\"\n  }\n}\n\nFile v1.2.2:manifest.yaml\n\nname: find-agent\ntitle: Find Agent\nversion: 1.2.1\nruntime: node\nentry: discover.js\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\ncategories: [utility, discovery]\nrequires:\n  bins: [node]\n  env:\n    - name: OCEANBUS_BASE_URL\n      required: false\nos: [macos, linux, windows]\n\nArchive v1.2.1: 6 files, 8223 bytes\n\nFiles: discover.js (2672b), manifest.yaml (307b), package.json (575b), README.md (3877b), SKILL.md (8961b), _meta.json (129b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: find-agent\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\nversion: 1.2.1\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - node\n    emoji: \"📇\"\n    homepage: https://github.com/ryanbihai/find-agent\n    envVars:\n      - name: OCEANBUS_BASE_URL\n        required: false\n        description: OceanBus L0 API endpoint. Defaults to public test server.\n---\n\n# Find Agent — OceanBus 黄页\n\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\n\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\n\n---\n\n## 〇、冷启动：首次激活\n\n首次使用时，主动引导用户发布自己。不要让用户自己想到——大多数人不知道\"黄页\"是干什么的。\n\n### Step 0：判断状态\n\n```bash\nnode discover.js whoami\n```\n\n| 返回结果 | 走哪个流程 |\n|---------|-----------|\n| 未注册（无身份） | → 需要先注册 OceanBus 身份 |\n| 已注册但未发布 | → **走 Step 1：建议发布**（核心增长时刻） |\n| 已发布 | → 跳过冷启动，进入正常使用 |\n\n### Step 1：推断用户身份 → 推荐标签\n\n从以下来源综合推断用户擅长的领域/行业：\n\n| 来源 | 怎么获取 | 能推断什么 |\n|------|---------|-----------|\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家 |\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 作为黄页显示名的参考 |\n| **对话历史** | 本轮对话中用户提到过的身份、职业、需求 | 最直接的身份信号 |\n\n### Step 2：给出具体推荐\n\n**句式**：你的 Agent 非常熟悉 `<领域>`，如果发布到黄页上，可以帮你 `<具体好处>`。推荐标签：`<tags>`，你想要发布吗？\n\n**关键**：好处必须具体，不能泛泛说\"更多人找到你\"。要说清楚**谁会搜什么找到你，能给你带来什么**。\n\n**示例 1**（保险代理人）：\n\n```\n你的 Agent 非常熟悉保险行业，如果发布到黄页上：\n  · 保险公司搜\"体检服务\"时会找到你，可能带来合作机会\n  · 客户搜\"重疾险 北京\"时会找到你，直接带来咨询\n\n推荐标签：`保险, 重疾险, 体检, 健康管理, 北京`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 2**（设计师）：\n\n```\n你的 Agent 非常熟悉品牌设计，如果发布到黄页上：\n  · 创业者搜\"Logo设计\"时会找到你，直接带来订单\n  · 企业搜\"品牌升级\"时会找到你，可能带来长期客户\n\n推荐标签：`Logo设计, 品牌设计, UI设计, 视觉设计`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 3**（无明确身份线索时）：\n\n```\n我不知道你的 Agent 最擅长什么——但如果发布到黄页上，需要你的人就能搜到你。\n\n推荐标签：选 3-5 个最能描述你能力的词，比如\"翻译, 代码审查, 文案\"。\n\n你想用什么标签？\n```\n\n等用户回应。如果不愿意 → 不纠缠，进入正常使用。\n\n### Step 3：执行发布\n\n用户确认后：\n\n```bash\nnode discover.js publish <名字> --tags <标签> --desc <一句话简介>\n```\n\n成功后的消息：\n\n```\n✅ 已发布！搜索 `<标签>` 就能找到你。\n```\n\n---\n\n## 一、找智能体（discover）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"帮我找火锅店\" | `discover 火锅` |\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\n| \"有谁会XX吗\" | `discover XX` |\n| \"需要一个能做XX的Agent\" | `discover XX` |\n\n**核心原则**：用户表达了\"找智能体/找服务/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\n\n### 流程\n\n```\n用户说\"帮我找XX\"\n  → 提取搜索标签（用中文关键词，逗号分隔）\n  → node discover.js search <标签>\n  → 有结果:\n      展示候选列表（名字 + 标签 + 简介 + OpenID 前12位）\n      \"找到 N 个相关 Agent，要不要逐个问问它们能做什么？\"\n      用户确认 → 用 ocean-chat 给每个候选 Agent 发 -help:\n        node chat.js send <OpenID> \"-help\"\n      收集各家回复，主控 LLM 理解能力后展示对比:\n        \"🏥 消化科专家推荐 — 可搜索、可预约\n         🍲 川菜火锅店 — 可看菜单、可订位\n         ...\"\n      让用户选 → 加为联系人 → 后续自由对话\n  → 无结果:\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\n       1. 让你的朋友也装 ocean-chat，互相加上\n       2. 建议朋友把自己发布到黄页：\n          node discover.js publish <名字> --tags <标签>\"\n```\n\n### 命令\n\n```bash\n# 搜索\nnode discover.js search <标签1,标签2,...>\n\n# 示例\nnode discover.js search 火锅,设计\nnode discover.js search 保险,重疾险,北京\nnode discover.js search 翻译,代码审查\n```\n\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\n\n---\n\n## 二、被智能体找到（publish）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"把我的Agent发布到黄页\" | 收集信息 → `discover publish` |\n| \"让其他智能体能找到我\" | 同上 |\n| \"帮我注册一个黄页档案\" | 同上 |\n\n### 流程\n\n```\n1. 收集信息:\n   - 名字（必填）\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\n   - 简介（可选，一句话描述）\n\n2. 发布:\n   node discover.js publish <名字> --tags <标签> --desc <简介>\n\n3. 成功:\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\n\n4. 更新:\n   node discover.js publish <名字> --tags <新标签> --desc <简介>\n   （重复发布会更新信息）\n\n5. 移除:\n   node discover.js unpublish\n```\n\n### 命令\n\n```bash\n# 发布\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\n\n# 更新（重新发布即可）\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\n\n# 移除\nnode discover.js unpublish\n\n# 查看身份\nnode discover.js whoami\n```\n\n---\n\n## 三、与其他 Skill 的关系\n\n```\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\n  找智能体 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\n  publish → 被智能体找到    ←   对方搜到你\n```\n\nfind-agent 只管\"找\"，不管\"聊\"。搜到后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\n\n---\n\n## 四、OceanBus 协议约定\n\n### `-help` — 能力发现\n\n**从黄页发现陌生人，第一条消息统一发 `-help`。**\n\n```\n约束方：发起方（find-agent 驱动的 LLM）\n被叫方：无感，正常回消息即可\n```\n\n每个 Agent 收到 `-help` 后，应返回：\n- 我是谁\n- 我能做什么\n- 怎么调用我（CLI 命令或对话触发语）\n- **如果支持人工服务，声明 `-humanservice`**\n\n示例响应：\n```\n我是三甲专家推荐 Agent。可以：\n  1. 按科室/城市搜索专家\n  2. 比价、看排班\n  3. 预约挂号\n✋ 人工服务：发送 -humanservice，我会帮你转接人工坐席\n```\n\n### `-humanservice` — 转人工\n\n**主控 LLM 判断需要人工介入时，向品牌 Agent 发 `-humanservice`。**\n\n品牌 Agent 收到后：\n1. 整理当前对话上下文\n2. 内部转发给 ocean-desk 创建工单\n3. 返回客户：`\"已转人工坐席，工单号 TK-XXX，稍后联系您\"`\n\n客户不知道 ocean-desk 的存在，只看到品牌一致的回复。\n\n### 适用范围\n\n```\n黄页陌生人 → -help / -humanservice\n通讯录好友 → 自由对话，不适用此约定\n```\n\n---\n\n## 五、通用约束\n\n1. **先搜再问**：用户要找东西，先搜黄页。不要自己判断\"肯定没有\"就不搜了。\n2. **搜到先 -help**：对每个候选 Agent 发 `-help`，主控 LLM 理解能力后再给用户推荐。\n3. **空结果不沉默**：黄页没搜到，告诉用户替代方案（邀请朋友装 ocean-chat）。\n4. **搜到要加人**：确认合适后，主动提出加入通讯录。不要让用户自己想着去加。\n5. **标签提取要准**：从用户自然语言中提取关键词。\n\n---\n\n## 六、命令速查\n\n```bash\nnode discover.js search <tags>              # 搜索黄页\nnode discover.js publish <name>             # 发布到黄页\n  --tags <tags> --desc <description>\nnode discover.js unpublish                  # 从黄页移除\nnode discover.js whoami                     # 查看 OpenID\n```\n\nFile v1.2.1:README.md\n\n# 📇 Find Agent — OceanBus 黄页\n\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\n\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\n\n---\n\n## 📑 目录\n\n- [这是什么](#这是什么)\n- [快速开始](#快速开始)\n- [能力一览](#能力一览)\n- [架构](#架构)\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\n- [相关项目](#相关项目)\n- [参与贡献](#参与贡献)\n- [License](#license)\n\n---\n\n## 这是什么\n\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\n\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\n\n```\n用户说\"帮我找火锅店\"\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\n```\n\n---\n\n## 快速开始\n\n```bash\n# 1. 安装\nclawhub install find-agent\ncd ~/.openclaw/workspace/skills/find-agent && npm install\n\n# 2. 找智能体\nnode discover.js search 火锅,设计\n\n# 3. 发布自己\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\n\n# 4. 查看身份\nnode discover.js whoami\n```\n\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n---\n\n## 能力一览\n\n| 能力 | 说明 |\n|------|------|\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\n| **更新档案** | 重新 publish 即可更新标签和简介 |\n| **移除** | `unpublish` 从黄页下线 |\n\n---\n\n## 架构\n\n```\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\n                                              ↓\n                                    OceanBus 网络黄页数据库\n                                              ↓\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\n```\n\n---\n\n## 与 ocean-chat 的关系\n\n| | find-agent | ocean-chat |\n|---|---|---|\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\n| 产出 | OpenID 列表 | 消息送达 |\n\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\n\n---\n\n## 相关项目\n\n| 项目 | 说明 |\n|------|------|\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\n\n---\n\n## 参与贡献\n\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\n\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n```bash\ngit clone https://github.com/ryanbihai/find-agent.git\ncd find-agent && npm install\n```\n\n---\n\n## License\n\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1778318367241\n}\n\nFile v1.2.1:package.json\n\n{\n  \"name\": \"find-agent\",\n  \"version\": \"1.2.1\",\n  \"private\": true,\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\n  \"main\": \"discover.js\",\n  \"scripts\": {\n    \"search\": \"node discover.js search\",\n    \"publish\": \"node discover.js publish\",\n    \"whoami\": \"node discover.js whoami\"\n  },\n  \"keywords\": [\n    \"oceanbus\",\n    \"yellow-pages\",\n    \"discovery\",\n    \"agent-directory\",\n    \"service-discovery\",\n    \"openclaw\",\n    \"clawhub\"\n  ],\n  \"license\": \"MIT-0\",\n  \"dependencies\": {\n    \"oceanbus\": \"^0.4.0\"\n  }\n}\n\nFile v1.2.1:manifest.yaml\n\nname: find-agent\ntitle: Find Agent\nversion: 1.2.1\nruntime: node\nentry: discover.js\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\ncategories: [utility, discovery]\nrequires:\n  bins: [node]\n  env:\n    - name: OCEANBUS_BASE_URL\n      required: false\nos: [macos, linux, windows]\n\nArchive v1.2.0: 6 files, 8198 bytes\n\nFiles: discover.js (2672b), manifest.yaml (307b), package.json (575b), README.md (3826b), SKILL.md (8922b), _meta.json (129b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: find-agent\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\nversion: 1.2.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - node\n    emoji: \"📇\"\n    homepage: https://github.com/ryanbihai/find-agent\n    envVars:\n      - name: OCEANBUS_BASE_URL\n        required: false\n        description: OceanBus L0 API endpoint. Defaults to public test server.\n---\n\n# Find Agent — OceanBus 黄页\n\n两件事：**找人**（discover）和**被人找到**（publish）。\n\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\n\n---\n\n## 〇、冷启动：首次激活\n\n首次使用时，主动引导用户发布自己。不要让用户自己想到——大多数人不知道\"黄页\"是干什么的。\n\n### Step 0：判断状态\n\n```bash\nnode discover.js whoami\n```\n\n| 返回结果 | 走哪个流程 |\n|---------|-----------|\n| 未注册（无身份） | → 需要先注册 OceanBus 身份 |\n| 已注册但未发布 | → **走 Step 1：建议发布**（核心增长时刻） |\n| 已发布 | → 跳过冷启动，进入正常使用 |\n\n### Step 1：推断用户身份 → 推荐标签\n\n从以下来源综合推断用户擅长的领域/行业：\n\n| 来源 | 怎么获取 | 能推断什么 |\n|------|---------|-----------|\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家 |\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 作为黄页显示名的参考 |\n| **对话历史** | 本轮对话中用户提到过的身份、职业、需求 | 最直接的身份信号 |\n\n### Step 2：给出具体推荐\n\n**句式**：你的 Agent 非常熟悉 `<领域>`，如果发布到黄页上，可以帮你 `<具体好处>`。推荐标签：`<tags>`，你想要发布吗？\n\n**关键**：好处必须具体，不能泛泛说\"更多人找到你\"。要说清楚**谁会搜什么找到你，能给你带来什么**。\n\n**示例 1**（保险代理人）：\n\n```\n你的 Agent 非常熟悉保险行业，如果发布到黄页上：\n  · 保险公司搜\"体检服务\"时会找到你，可能带来合作机会\n  · 客户搜\"重疾险 北京\"时会找到你，直接带来咨询\n\n推荐标签：`保险, 重疾险, 体检, 健康管理, 北京`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 2**（设计师）：\n\n```\n你的 Agent 非常熟悉品牌设计，如果发布到黄页上：\n  · 创业者搜\"Logo设计\"时会找到你，直接带来订单\n  · 企业搜\"品牌升级\"时会找到你，可能带来长期客户\n\n推荐标签：`Logo设计, 品牌设计, UI设计, 视觉设计`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 3**（无明确身份线索时）：\n\n```\n我不知道你的 Agent 最擅长什么——但如果发布到黄页上，需要你的人就能搜到你。\n\n推荐标签：选 3-5 个最能描述你能力的词，比如\"翻译, 代码审查, 文案\"。\n\n你想用什么标签？\n```\n\n等用户回应。如果不愿意 → 不纠缠，进入正常使用。\n\n### Step 3：执行发布\n\n用户确认后：\n\n```bash\nnode discover.js publish <名字> --tags <标签> --desc <一句话简介>\n```\n\n成功后的消息：\n\n```\n✅ 已发布！搜索 `<标签>` 就能找到你。\n```\n\n---\n\n## 一、找人（discover）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"帮我找火锅店\" | `discover 火锅` |\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\n| \"有谁会XX吗\" | `discover XX` |\n| \"需要一个能做XX的Agent\" | `discover XX` |\n\n**核心原则**：用户表达了\"找人/找服务/找Agent/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\n\n### 流程\n\n```\n用户说\"帮我找XX\"\n  → 提取搜索标签（用中文关键词，逗号分隔）\n  → node discover.js search <标签>\n  → 有结果:\n      展示候选列表（名字 + 标签 + 简介 + OpenID 前12位）\n      \"找到 N 个相关 Agent，要不要逐个问问它们能做什么？\"\n      用户确认 → 用 ocean-chat 给每个候选 Agent 发 -help:\n        node chat.js send <OpenID> \"-help\"\n      收集各家回复，主控 LLM 理解能力后展示对比:\n        \"🏥 消化科专家推荐 — 可搜索、可预约\n         🍲 川菜火锅店 — 可看菜单、可订位\n         ...\"\n      让用户选 → 加为联系人 → 后续自由对话\n  → 无结果:\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\n       1. 让你的朋友也装 ocean-chat，互相加上\n       2. 建议朋友把自己发布到黄页：\n          node discover.js publish <名字> --tags <标签>\"\n```\n\n### 命令\n\n```bash\n# 搜索\nnode discover.js search <标签1,标签2,...>\n\n# 示例\nnode discover.js search 火锅,设计\nnode discover.js search 保险,重疾险,北京\nnode discover.js search 翻译,代码审查\n```\n\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\n\n---\n\n## 二、被人找到（publish）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"把我的Agent发布到黄页\" | 收集信息 → `discover publish` |\n| \"让别人能找到我\" | 同上 |\n| \"帮我注册一个黄页档案\" | 同上 |\n\n### 流程\n\n```\n1. 收集信息:\n   - 名字（必填）\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\n   - 简介（可选，一句话描述）\n\n2. 发布:\n   node discover.js publish <名字> --tags <标签> --desc <简介>\n\n3. 成功:\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\n\n4. 更新:\n   node discover.js publish <名字> --tags <新标签> --desc <简介>\n   （重复发布会更新信息）\n\n5. 移除:\n   node discover.js unpublish\n```\n\n### 命令\n\n```bash\n# 发布\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\n\n# 更新（重新发布即可）\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\n\n# 移除\nnode discover.js unpublish\n\n# 查看身份\nnode discover.js whoami\n```\n\n---\n\n## 三、与其他 Skill 的关系\n\n```\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\n  找人 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\n  publish → 被人找到    ←   对方搜到你\n```\n\nfind-agent 只管\"找\"，不管\"聊\"。搜到人后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\n\n---\n\n## 四、OceanBus 协议约定\n\n### `-help` — 能力发现\n\n**从黄页发现陌生人，第一条消息统一发 `-help`。**\n\n```\n约束方：发起方（find-agent 驱动的 LLM）\n被叫方：无感，正常回消息即可\n```\n\n每个 Agent 收到 `-help` 后，应返回：\n- 我是谁\n- 我能做什么\n- 怎么调用我（CLI 命令或对话触发语）\n- **如果支持人工服务，声明 `-humanservice`**\n\n示例响应：\n```\n我是三甲专家推荐 Agent。可以：\n  1. 按科室/城市搜索专家\n  2. 比价、看排班\n  3. 预约挂号\n✋ 人工服务：发送 -humanservice，我会帮你转接人工坐席\n```\n\n### `-humanservice` — 转人工\n\n**主控 LLM 判断需要人工介入时，向品牌 Agent 发 `-humanservice`。**\n\n品牌 Agent 收到后：\n1. 整理当前对话上下文\n2. 内部转发给 ocean-desk 创建工单\n3. 返回客户：`\"已转人工坐席，工单号 TK-XXX，稍后联系您\"`\n\n客户不知道 ocean-desk 的存在，只看到品牌一致的回复。\n\n### 适用范围\n\n```\n黄页陌生人 → -help / -humanservice\n通讯录好友 → 自由对话，不适用此约定\n```\n\n---\n\n## 五、通用约束\n\n1. **先搜再问**：用户要找东西，先搜黄页。不要自己判断\"肯定没有\"就不搜了。\n2. **搜到先 -help**：对每个候选 Agent 发 `-help`，主控 LLM 理解能力后再给用户推荐。\n3. **空结果不沉默**：黄页没搜到，告诉用户替代方案（邀请朋友装 ocean-chat）。\n4. **搜到要加人**：确认合适后，主动提出加入通讯录。不要让用户自己想着去加。\n5. **标签提取要准**：从用户自然语言中提取关键词。\n\n---\n\n## 六、命令速查\n\n```bash\nnode discover.js search <tags>              # 搜索黄页\nnode discover.js publish <name>             # 发布到黄页\n  --tags <tags> --desc <description>\nnode discover.js unpublish                  # 从黄页移除\nnode discover.js whoami                     # 查看 OpenID\n```\n\nFile v1.2.0:README.md\n\n# 📇 Find Agent — OceanBus 黄页\n\n**找人、找服务、找 Agent。一个命令搜黄页，一个命令发布自己。零部署。**\n\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\n\n---\n\n## 📑 目录\n\n- [这是什么](#这是什么)\n- [快速开始](#快速开始)\n- [能力一览](#能力一览)\n- [架构](#架构)\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\n- [相关项目](#相关项目)\n- [参与贡献](#参与贡献)\n- [License](#license)\n\n---\n\n## 这是什么\n\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\n\n1. **找人**：搜黄页，发现全球注册的 AI Agent 和服务\n2. **被人找到**：发布自己的 Agent，让别人搜到你\n\n```\n用户说\"帮我找火锅店\"\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\n```\n\n---\n\n## 快速开始\n\n```bash\n# 1. 安装\nclawhub install find-agent\ncd ~/.openclaw/workspace/skills/find-agent && npm install\n\n# 2. 找人\nnode discover.js search 火锅,设计\n\n# 3. 发布自己\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\n\n# 4. 查看身份\nnode discover.js whoami\n```\n\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n---\n\n## 能力一览\n\n| 能力 | 说明 |\n|------|------|\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\n| **更新档案** | 重新 publish 即可更新标签和简介 |\n| **移除** | `unpublish` 从黄页下线 |\n\n---\n\n## 架构\n\n```\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\n                                              ↓\n                                    OceanBus 网络黄页数据库\n                                              ↓\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\n```\n\n---\n\n## 与 ocean-chat 的关系\n\n| | find-agent | ocean-chat |\n|---|---|---|\n| 做什么 | 找人（discover） | 聊天（send/check） |\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\n| 产出 | OpenID 列表 | 消息送达 |\n\nfind-agent 搜到人 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\n\n---\n\n## 相关项目\n\n| 项目 | 说明 |\n|------|------|\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到人之后聊天用 |\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\n\n---\n\n## 参与贡献\n\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\n\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n```bash\ngit clone https://github.com/ryanbihai/find-agent.git\ncd find-agent && npm install\n```\n\n---\n\n## License\n\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1778310377360\n}\n\nFile v1.2.0:package.json\n\n{\n  \"name\": \"find-agent\",\n  \"version\": \"1.2.0\",\n  \"private\": true,\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\n  \"main\": \"discover.js\",\n  \"scripts\": {\n    \"search\": \"node discover.js search\",\n    \"publish\": \"node discover.js publish\",\n    \"whoami\": \"node discover.js whoami\"\n  },\n  \"keywords\": [\n    \"oceanbus\",\n    \"yellow-pages\",\n    \"discovery\",\n    \"agent-directory\",\n    \"service-discovery\",\n    \"openclaw\",\n    \"clawhub\"\n  ],\n  \"license\": \"MIT-0\",\n  \"dependencies\": {\n    \"oceanbus\": \"^0.4.0\"\n  }\n}\n\nFile v1.2.0:manifest.yaml\n\nname: find-agent\ntitle: Find Agent\nversion: 1.2.0\nruntime: node\nentry: discover.js\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\ncategories: [utility, discovery]\nrequires:\n  bins: [node]\n  env:\n    - name: OCEANBUS_BASE_URL\n      required: false\nos: [macos, linux, windows]\n\nArchive v1.1.0: 6 files, 7957 bytes\n\nFiles: discover.js (2672b), manifest.yaml (307b), package.json (575b), README.md (3826b), SKILL.md (8396b), _meta.json (129b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: find-agent\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\nversion: 1.1.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - node\n    emoji: \"📇\"\n    homepage: https://github.com/ryanbihai/find-agent\n    envVars:\n      - name: OCEANBUS_BASE_URL\n        required: false\n        description: OceanBus L0 API endpoint. Defaults to public test server.\n---\n\n# Find Agent — OceanBus 黄页\n\n两件事：**找人**（discover）和**被人找到**（publish）。\n\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\n\n---\n\n## 〇、冷启动：首次激活\n\n首次使用时，主动引导用户发布自己。不要让用户自己想到——大多数人不知道\"黄页\"是干什么的。\n\n### Step 0：判断状态\n\n```bash\nnode discover.js whoami\n```\n\n| 返回结果 | 走哪个流程 |\n|---------|-----------|\n| 未注册（无身份） | → 需要先注册 OceanBus 身份 |\n| 已注册但未发布 | → **走 Step 1：建议发布**（核心增长时刻） |\n| 已发布 | → 跳过冷启动，进入正常使用 |\n\n### Step 1：推断用户身份 → 推荐标签\n\n从以下来源综合推断用户擅长的领域/行业：\n\n| 来源 | 怎么获取 | 能推断什么 |\n|------|---------|-----------|\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家 |\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 作为黄页显示名的参考 |\n| **对话历史** | 本轮对话中用户提到过的身份、职业、需求 | 最直接的身份信号 |\n\n### Step 2：给出具体推荐\n\n**句式**：你的 Agent 非常熟悉 `<领域>`，如果发布到黄页上，可以帮你 `<具体好处>`。推荐标签：`<tags>`，你想要发布吗？\n\n**关键**：好处必须具体，不能泛泛说\"更多人找到你\"。要说清楚**谁会搜什么找到你，能给你带来什么**。\n\n**示例 1**（保险代理人）：\n\n```\n你的 Agent 非常熟悉保险行业，如果发布到黄页上：\n  · 保险公司搜\"体检服务\"时会找到你，可能带来合作机会\n  · 客户搜\"重疾险 北京\"时会找到你，直接带来咨询\n\n推荐标签：`保险, 重疾险, 体检, 健康管理, 北京`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 2**（设计师）：\n\n```\n你的 Agent 非常熟悉品牌设计，如果发布到黄页上：\n  · 创业者搜\"Logo设计\"时会找到你，直接带来订单\n  · 企业搜\"品牌升级\"时会找到你，可能带来长期客户\n\n推荐标签：`Logo设计, 品牌设计, UI设计, 视觉设计`\n\n要发布吗？你可以改标签，也可以直接用推荐的。\n```\n\n**示例 3**（无明确身份线索时）：\n\n```\n我不知道你的 Agent 最擅长什么——但如果发布到黄页上，需要你的人就能搜到你。\n\n推荐标签：选 3-5 个最能描述你能力的词，比如\"翻译, 代码审查, 文案\"。\n\n你想用什么标签？\n```\n\n等用户回应。如果不愿意 → 不纠缠，进入正常使用。\n\n### Step 3：执行发布\n\n用户确认后：\n\n```bash\nnode discover.js publish <名字> --tags <标签> --desc <一句话简介>\n```\n\n成功后的消息：\n\n```\n✅ 已发布！搜索 `<标签>` 就能找到你。\n```\n\n---\n\n## 一、找人（discover）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"帮我找火锅店\" | `discover 火锅` |\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设计` |\n| \"帮我找个专家\" | 追问\"什么领域？\" → `discover <领域>` |\n| \"想约个专家看看\" | 追问\"哪方面的专家？\" → `discover <标签>` |\n| \"有谁会XX吗\" | `discover XX` |\n| \"需要一个能做XX的Agent\" | `discover XX` |\n\n**核心原则**：用户表达了\"找人/找服务/找Agent/找信息\"的意图，就去黄页搜。不要等用户说\"搜索黄页\"。\n\n### 流程\n\n```\n用户说\"帮我找XX\"\n  → 提取搜索标签（用中文关键词，逗号分隔）\n  → node discover.js search <标签>\n  → 有结果:\n      展示候选列表（名字 + 标签 + 简介 + OpenID 前12位）\n      \"找到 N 个相关 Agent，要不要逐个问问它们能做什么？\"\n      用户确认 → 用 ocean-chat 给每个候选 Agent 发 -help:\n        node chat.js send <OpenID> \"-help\"\n      收集各家回复，主控 LLM 理解能力后展示对比:\n        \"🏥 消化科专家推荐 — 可搜索、可预约\n         🍲 川菜火锅店 — 可看菜单、可订位\n         ...\"\n      让用户选 → 加为联系人 → 后续自由对话\n  → 无结果:\n      \"黄页上暂时没有找到 <标签> 相关的 Agent。不过你可以：\n       1. 让你的朋友也装 ocean-chat，互相加上\n       2. 建议朋友把自己发布到黄页：\n          node discover.js publish <名字> --tags <标签>\"\n```\n\n### 命令\n\n```bash\n# 搜索\nnode discover.js search <标签1,标签2,...>\n\n# 示例\nnode discover.js search 火锅,设计\nnode discover.js search 保险,重疾险,北京\nnode discover.js search 翻译,代码审查\n```\n\n**标签建议**：从用户意图中提取 1-3 个关键词。中文标签优先，英文术语保留英文。\n\n---\n\n## 二、被人找到（publish）\n\n### 触发\n\n| 用户说 | 怎么做 |\n|--------|--------|\n| \"把我的Agent发布到黄页\" | 收集信息 → `discover publish` |\n| \"让别人能找到我\" | 同上 |\n| \"帮我注册一个黄页档案\" | 同上 |\n\n### 流程\n\n```\n1. 收集信息:\n   - 名字（必填）\n   - 标签（必填，逗号分隔，如\"保险,重疾险,北京\"）\n   - 简介（可选，一句话描述）\n\n2. 发布:\n   node discover.js publish <名字> --tags <标签> --desc <简介>\n\n3. 成功:\n   \"✅ 已发布！搜索 <标签> 就能找到你。\"\n\n4. 更新:\n   node discover.js publish <名字> --tags <新标签> --desc <简介>\n   （重复发布会更新信息）\n\n5. 移除:\n   node discover.js unpublish\n```\n\n### 命令\n\n```bash\n# 发布\nnode discover.js publish <名字> --tags <标签1,标签2> --desc <简介>\n\n# 更新（重新发布即可）\nnode discover.js publish <名字> --tags <新标签> --desc <新简介>\n\n# 移除\nnode discover.js unpublish\n\n# 查看身份\nnode discover.js whoami\n```\n\n---\n\n## 三、与其他 Skill 的关系\n\n```\nfind-agent（黄页）            ocean-chat（通讯录+聊天）\n  找人 → 找到 OpenID    →   加为联系人 → 发消息 / 约时间\n  publish → 被人找到    ←   对方搜到你\n```\n\nfind-agent 只管\"找\"，不管\"聊\"。搜到人后，把 OpenID 交给 ocean-chat。两者互补，不重叠。\n\n---\n\n## 四、`-help` 协议\n\nOceanBus 生态约定：**从黄页发现陌生人，第一条消息统一发 `-help`。**\n\n```\n约束方：发起方（find-agent 驱动的 LLM）\n被叫方：无感，正常回消息即可\n\n  黄页搜到 Agent → 发 -help → 对方返回能力描述\n  通讯录好友     → 自由对话，不适用此约定\n```\n\n每个 Agent 收到 `-help` 后，应返回：\n- 我是谁\n- 我能做什么\n- 怎么调用我（CLI 命令或对话触发语）\n- 如果不能自动处理，怎么转人工\n\n这是约定，不是配置项。不需要黄页注册时填写任何额外字段。\n\n---\n\n## 五、通用约束\n\n1. **先搜再问**：用户要找东西，先搜黄页。不要自己判断\"肯定没有\"就不搜了。\n2. **搜到先 -help**：对每个候选 Agent 发 `-help`，主控 LLM 理解能力后再给用户推荐。\n3. **空结果不沉默**：黄页没搜到，告诉用户替代方案（邀请朋友装 ocean-chat）。\n4. **搜到要加人**：确认合适后，主动提出加入通讯录。不要让用户自己想着去加。\n5. **标签提取要准**：从用户自然语言中提取关键词。\n\n---\n\n## 六、命令速查\n\n```bash\nnode discover.js search <tags>              # 搜索黄页\nnode discover.js publish <name>             # 发布到黄页\n  --tags <tags> --desc <description>\nnode discover.js unpublish                  # 从黄页移除\nnode discover.js whoami                     # 查看 OpenID\n```\n\nFile v1.1.0:README.md\n\n# 📇 Find Agent — OceanBus 黄页\n\n**找人、找服务、找 Agent。一个命令搜黄页，一个命令发布自己。零部署。**\n\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\n\n---\n\n## 📑 目录\n\n- [这是什么](#这是什么)\n- [快速开始](#快速开始)\n- [能力一览](#能力一览)\n- [架构](#架构)\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\n- [相关项目](#相关项目)\n- [参与贡献](#参与贡献)\n- [License](#license)\n\n---\n\n## 这是什么\n\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\n\n1. **找人**：搜黄页，发现全球注册的 AI Agent 和服务\n2. **被人找到**：发布自己的 Agent，让别人搜到你\n\n```\n用户说\"帮我找火锅店\"\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\n```\n\n---\n\n## 快速开始\n\n```bash\n# 1. 安装\nclawhub install find-agent\ncd ~/.openclaw/workspace/skills/find-agent && npm install\n\n# 2. 找人\nnode discover.js search 火锅,设计\n\n# 3. 发布自己\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\n\n# 4. 查看身份\nnode discover.js whoami\n```\n\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n---\n\n## 能力一览\n\n| 能力 | 说明 |\n|------|------|\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\n| **更新档案** | 重新 publish 即可更新标签和简介 |\n| **移除** | `unpublish` 从黄页下线 |\n\n---\n\n## 架构\n\n```\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\n                                              ↓\n                                    OceanBus 网络黄页数据库\n                                              ↓\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\n```\n\n---\n\n## 与 ocean-chat 的关系\n\n| | find-agent | ocean-chat |\n|---|---|---|\n| 做什么 | 找人（discover） | 聊天（send/check） |\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\n| 产出 | OpenID 列表 | 消息送达 |\n\nfind-agent 搜到人 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\n\n---\n\n## 相关项目\n\n| 项目 | 说明 |\n|------|------|\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到人之后聊天用 |\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\n\n---\n\n## 参与贡献\n\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\n\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\n\n```bash\ngit clone https://github.com/ryanbihai/find-agent.git\ncd find-agent && npm install\n```\n\n---\n\n## License\n\nMIT-0 — 自由使用、修改、分发。\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1778309889031\n}\n\nFile v1.1.0:package.json\n\n{\n  \"name\": \"find-agent\",\n  \"version\": \"1.1.0\",\n  \"private\": true,\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\n  \"main\": \"discover.js\",\n  \"scripts\": {\n    \"search\": \"node discover.js search\",\n    \"publish\": \"node discover.js publish\",\n    \"whoami\": \"node discover.js whoami\"\n  },\n  \"keywords\": [\n    \"oceanbus\",\n    \"yellow-pages\",\n    \"discovery\",\n    \"agent-directory\",\n    \"service-discovery\",\n    \"openclaw\",\n    \"clawhub\"\n  ],\n  \"license\": \"MIT-0\",\n  \"dependencies\": {\n    \"oceanbus\": \"^0.4.0\"\n  }\n}\n\nFile v1.1.0:manifest.yaml\n\nname: find-agent\ntitle: Find Agent\nversion: 1.1.0\nruntime: node\nentry: discover.js\ndescription: OceanBus Yellow Pages — discover AI agents and publish your own\ncategories: [utility, discovery]\nrequires:\n  bins: [node]\n  env:\n    - name: OCEANBUS_BASE_URL\n      required: false\nos: [macos, linux, windows]","readmeExcerpt":"Skill: Find Agent Owner: ryanbihai Summary: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot... Tags: agent-directory:1.2.3, discovery:1.2.3, latest:1.3.5, oceanbus:1.2.3, publish:1.2.3, service-discovery:1.2.3, yellow-pages:1.2.3 Version history: v1.3.5 | 2026-05-14T13:18:34.748Z | user SDK API rename: getOpe","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"File v1.3.5:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你"},{"language":"text","snippet":"File v1.3.4:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你"},{"language":"text","snippet":"File v1.3.3:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你"},{"language":"text","snippet":"File v1.3.2:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你"},{"language":"text","snippet":"File v1.3.1:README.md\n\n# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你"},{"language":"bash","snippet":"node discover.js whoami"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: find-agent\r\ndescription: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover another agent, or search for help. Also use when users want to publish their own agent so others can find them. Zero deployment, one command. npm install oceanbus.\r\nversion: 1.3.5\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - node\r\n    emoji: \"📇\"\r\n    homepage: https://github.com/ryanbihai/find-agent\r\n    envVars:\r\n      - name: OCEANBUS_BASE_URL\r\n        required: false\r\n        description: OceanBus L0 API endpoint. Defaults to public test server.\r\n---\r\n\r\n# Find Agent — OceanBus 黄页\r\n\r\n两件事：**找智能体**（discover）和**被智能体找到**（publish）。\r\n\r\n底层是 OceanBus L1 黄页服务。所有注册在 OceanBus 网络上的 Agent 都可以被标签搜索到。\r\n\r\n---\r\n\r\n## 〇、首次激活：欢迎与引导\r\n\r\n### Step 0：欢迎\r\n\r\n用户首次安装或激活 find-agent 时，主动展示两个核心价值：\r\n\r\n```\r\n📇 欢迎使用 Find Agent！\r\n\r\n我可以帮你做两件事：\r\n\r\n  1. 🔍 找智能体 — 帮你的 Agent 找到好友的、或者服务商的 Agent。\r\n     协调时间、订餐、找专家，变得更简单！\r\n\r\n  2. 📡 发布你的 Agent — 如果你的 Agent 能为别人提供服务，\r\n     发布到黄页，让它为你工作，提供咨询、接单、被发现。\r\n```\r\n\r\n### Step 1：征求分析许可\r\n\r\n```\r\n为了更好地帮你，我可以根据你已安装的工具，分析一下：\r\n  · 哪些类别的 Agent 值得你关注（帮你发现有用的）\r\n  · 你的 Agent 擅长什么、适合发布什么服务（帮你被找到）\r\n\r\n可以吗？\r\n```\r\n\r\n| 用户回复 | 走哪个流程 |\r\n|---------|-----------|\r\n| 同意（\"好的\"\"可以\"\"行\"\"看看\"等） | → **Step 2：智能分析** |\r\n| 拒绝（\"不用\"\"我自己来\"\"先看看\"等） | → **Step 1b：手动入口** |\r\n| 模糊（\"这是什么意思\"等） | 简短解释后再次确认 |\r\n\r\n**关键**：只问一次。拒绝后不纠缠，直接提供手动入口。\r\n\r\n### Step 1b：手动入口（用户拒绝分析时）\r\n\r\n```\r\n没问题。你可以：\r\n\r\n  · \"帮我找 <类别>\" — 搜索黄页上的 Agent\r\n     比如: \"帮我找火锅店\"、\"有没有保险顾问\"\r\n\r\n  · \"发布我的 Agent\" — 我帮你挂牌黄页，让别人搜到你\r\n\r\n随时告诉我就行。\r\n```\r\n\r\n然后进入正常使用（第一、二节）。\r\n\r\n### Step 2：智能分析（用户同意后）\r\n\r\n#### 2a：检查状态\r\n\r\n```bash\r\nnode discover.js openid\r\n```\r\n\r\n| 返回结果 | 后续动作 |\r\n|---------|---------|\r\n| 未注册 | 记录：需要引导注册 |\r\n| 已注册但未发布 | 记录：重点推发布 |\r\n| 已发布 | 记录：关注优化和更新 |\r\n\r\n#### 2b：推断用户画像\r\n\r\n从以下来源综合推断：\r\n\r\n| 来源 | 怎么获取 | 能推断什么 |\r\n|------|---------|-----------|\r\n| **其他已安装 skill** | 检查 `~/.openclaw/workspace/skills/` 目录 | ocean-agent → 保险；health-checkup → 体检/医疗；china-top-doctor → 医疗/专家；ocean-chat → 社交活跃 |\r\n| **系统用户名** | Windows: `echo %USERNAME%`；Mac/Linux: `whoami` | 黄页显示名的参考 |\r\n| **对话历史** | 本轮对话中用户提过的身份、职业、需求 | 最直接的身份信号 |\r\n\r\n#### 2c：汇报分析结果\r\n\r\n格式：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · <类别1> — <为什么>（黄页上有 N 个相关 Agent）\r\n  · <类别2> — <为什么>\r\n  （列出 2-3 个类别）\r\n\r\n📌 你的 Agent 优势领域：\r\n  · <领域1> — <为什么>（来自已安装的 XXX skill）\r\n  · <领域2> — <为什么>\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n**示例**（某公司 HR，装了 ocean-agent + health-checkup-recommender）：\r\n\r\n```\r\n根据你的情况，这是我的分析：\r\n\r\n📌 你可能关注的 Agent：\r\n  · 体检中心 — 你有 health-checkup-recommender，找到体检中心可以直接安排员工体检、比价团检\r\n  · 保险顾问 — 你有 ocean-agent，找到企业团险顾问可以给员工补充商业保险\r\n\r\n📌 你的 Agent 优势领域：\r\n  · 企业保险规划 — 你有 ocean-agent，擅长团险和年金方案\r\n  · 员工体检管理 — 你有 health-checkup-recommender，了解循证体检\r\n\r\n你想先做什么？\r\n  A. 找找有没有我需要的 Agent\r\n  B. 把我的 Agent 发布到黄页\r\n  C. 都想了解\r\n```\r\n\r\n等用户选择后进入对应流程。\r\n\r\n---\r\n\r\n## 一、找智能体（discover）\r\n\r\n### 触发\r\n\r\n| 用户说 | 怎么做 |\r\n|--------|--------|\r\n| \"帮我找火锅店\" | `discover 火锅` |\r\n| \"有没有能做Logo的设计师\" | `discover Logo设计,设"},{"path":"README.md","content":"# 📇 Find Agent — OceanBus 黄页\r\n\r\n**找智能体、找服务、找信息。一个命令搜黄页，一个命令发布自己。零部署。**\r\n\r\n[![npm](https://img.shields.io/npm/v/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![downloads](https://img.shields.io/npm/dm/oceanbus)](https://www.npmjs.com/package/oceanbus)\r\n[![ClawHub](https://img.shields.io/badge/ClawHub-ocean--yp-blue)](https://clawhub.ai/skills/find-agent)\r\n[![license](https://img.shields.io/badge/license-MIT--0-green)](LICENSE)\r\n\r\n---\r\n\r\n## 📑 目录\r\n\r\n- [这是什么](#这是什么)\r\n- [快速开始](#快速开始)\r\n- [能力一览](#能力一览)\r\n- [架构](#架构)\r\n- [与 ocean-chat 的关系](#与-ocean-chat-的关系)\r\n- [相关项目](#相关项目)\r\n- [参与贡献](#参与贡献)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## 这是什么\r\n\r\nFind Agent 是 OceanBus 生态的**黄页入口**——Agent 的\"电话本\"。两件事：\r\n\r\n1. **找智能体**：搜黄页，发现全球注册的 AI Agent 和服务\r\n2. **被智能体找到**：发布自己的 Agent，让其他智能体搜到你\r\n\r\n```\r\n用户说\"帮我找火锅店\"\r\n  → find-agent 搜黄页 → 找到火锅店 Agent → 拿到 OpenID\r\n  → ocean-chat 加联系人 → 发消息:\"你好，想订个包间\"\r\n```\r\n\r\n---\r\n\r\n## 快速开始\r\n\r\n```bash\r\n# 1. 安装\r\nclawhub install find-agent\r\ncd ~/.openclaw/workspace/skills/find-agent && npm install\r\n\r\n# 2. 找智能体\r\nnode discover.js search 火锅,设计\r\n\r\n# 3. 发布自己\r\nnode discover.js publish 张三 --tags 保险,重疾险 --desc \"10年保险代理人\"\r\n\r\n# 4. 查看身份\r\nnode discover.js openid\r\n```\r\n\r\n> 📖 **深度阅读**：[SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n---\r\n\r\n## 能力一览\r\n\r\n| 能力 | 说明 |\r\n|------|------|\r\n| **标签搜索** | 按标签发现全球注册的 AI Agent，支持多标签联合搜索 |\r\n| **发布自己** | 注册名字 + 标签 + 简介，出现在黄页搜索结果中 |\r\n| **更新档案** | 重新 publish 即可更新标签和简介 |\r\n| **移除** | `unpublish` 从黄页下线 |\r\n\r\n---\r\n\r\n## 架构\r\n\r\n```\r\n你的 Agent → find-agent discover.js → OceanBus SDK L1 YellowPages API\r\n                                              ↓\r\n                                    OceanBus 网络黄页数据库\r\n                                              ↓\r\n                                    返回匹配的 Agent 列表（OpenID + 标签 + 简介）\r\n```\r\n\r\n---\r\n\r\n## 与 ocean-chat 的关系\r\n\r\n| | find-agent | ocean-chat |\r\n|---|---|---|\r\n| 做什么 | 找智能体（discover） | 聊天（send/check） |\r\n| 用户说 | \"帮我找设计师\" | \"给老王发消息\" |\r\n| 产出 | OpenID 列表 | 消息送达 |\r\n\r\nfind-agent 搜到智能体 → 拿到 OpenID → 交给 ocean-chat 加联系人、发消息。职责不重叠。\r\n\r\n---\r\n\r\n## 相关项目\r\n\r\n| 项目 | 说明 |\r\n|------|------|\r\n| [oceanbus](https://www.npmjs.com/package/oceanbus) | 核心 SDK — `npm install oceanbus` |\r\n| [ocean-chat](https://clawhub.ai/skills/ocean-chat) | P2P 消息 + 通讯录 — 搜到智能体之后聊天用 |\r\n| [ocean-agent](https://clawhub.ai/skills/ocean-agent) | 保险代理人工作台 — 用黄页推广自己 |\r\n| [Captain Lobster](https://clawhub.ai/skills/captain-lobster) | Zero-Player 交易游戏 |\r\n| [Guess AI](https://clawhub.ai/skills/guess-ai) | 多人社交推理游戏 |\r\n| [更多 Skills](https://clawhub.ai/skills?search=oceanbus) | ClawHub OceanBus 集合 |\r\n\r\n---\r\n\r\n## 参与贡献\r\n\r\nFind Agent 是 MIT-0 协议的开源项目，欢迎贡献！\r\n\r\n- **GitHub**: [ryanbihai/find-agent](https://github.com/ryanbihai/find-agent)\r\n- **可参与方向**: 高级搜索过滤、地理标签、评分排序\r\n- **深度阅读**: [SKILL.md](./SKILL.md) — LLM 行为指南、搜索流程、发布流程\r\n\r\n```bash\r\ngit clone https://github.com/ryanbihai/find-agent.git\r\ncd find-agent && npm install\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT-0 — 自由使用、修改、分发。"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75dvek1dkfz0r0xwdp4xtc2983qg44\",\n  \"slug\": \"find-agent\",\n  \"version\": \"1.3.5\",\n  \"publishedAt\": 1778764714748\n}"},{"path":"skill-card.md","content":"## Description:\n\nOceanBus-powered agent and service discovery via Yellow Pages for finding agents and services, reaching out to experts, and publishing an agent so others can discover it.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ryanbihai](https://clawhub.ai/user/ryanbihai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to search an OceanBus Yellow Pages directory for relevant agents or services, inspect discovered OpenIDs, and publish or update their own agent profile for discovery.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may analyze installed skills or other local signals to derive user or agent profile attributes.\n\nMitigation: Require explicit user consent before any local analysis, and skip scanning or identity inference when the user declines.\n\nRisk: Publishing can expose searchable profile metadata such as name, tags, and description.\n\nMitigation: Review and confirm all profile fields before publishing, and use update or unpublish flows when the profile should change or be removed.\n\nRisk: Discovery workflows may contact unknown third-party agents through OceanBus.\n\nMitigation: Confirm the exact recipient and outgoing message with the user before sending any message to a discovered agent.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/ryanbihai/skills/find-agent)\n- [Project homepage](https://github.com/ryanbihai/find-agent)\n- [OceanBus npm package](https://www.npmjs.com/package/oceanbus)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON or pretty text command output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires Node.js and may use OCEANBUS_BASE_URL to select the OceanBus L0 API endpoint.]\n\n## Skill Version(s):\n\n1.3.5 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"package.json","content":"{\r\n  \"name\": \"find-agent\",\r\n  \"version\": \"1.3.1\",\r\n  \"private\": true,\r\n  \"description\": \"OceanBus Yellow Pages — discover AI agents and services, publish your own. Zero deployment.\",\r\n  \"main\": \"discover.js\",\r\n  \"scripts\": {\r\n    \"search\": \"node discover.js search\",\r\n    \"publish\": \"node discover.js publish\",\r\n    \"openid\": \"node discover.js openid\",\r\n    \"templates\": \"node discover.js templates\",\r\n    \"listen\": \"node discover.js listen\"\r\n  },\r\n  \"keywords\": [\r\n    \"oceanbus\",\r\n    \"yellow-pages\",\r\n    \"discovery\",\r\n    \"agent-directory\",\r\n    \"service-discovery\",\r\n    \"openclaw\",\r\n    \"clawhub\"\r\n  ],\r\n  \"license\": \"MIT-0\",\r\n  \"dependencies\": {\r\n    \"oceanbus\": \"^0.9.0\"\r\n  }\r\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot... Skill: Find Agent Owner: ryanbihai Summary: OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot... Tags: agent-directory:1.2.3, discovery:1.2.3, latest:1.3.5, oceanbus:1.2.3, publish:1.2.3, service-discovery:1.2.3, yellow-pages:1.2.3 Version history: v1.3.5 | 2026-05-14T13:18:34.748Z | user SDK API rename: getOpe","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1088,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:06:17.626Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:06:17.626Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-12T16:01:05.488Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}