Rumi — Find Real People to Chat With
Rumi connects you with real humans who share your interests. Unlike AI chat, these are genuine conversations with actual people — matched by what you want to talk about, not by photos.
When to Activate
Explicit Requests
- "I want to talk to a real person about this"
- "Find me someone who knows about X"
- "I'm bored, connect me with someone"
Proactive Suggestions
When you detect these patterns, suggest to the user that Rumi could find them someone to talk to. Always ask for confirmation before calling rumi_find_partner.
Expert Gap — The user needs human expertise:
- Repeated follow-ups on a niche topic (specific framework, investing, health, travel)
- "Is this actually right?" or "I need someone who's done this before"
- Frustration with AI-generated answers on subjective or experiential topics
Solo Worker Isolation — The user works alone:
- Mentions solo founding, remote work, or working alone
- Discusses work problems with no team context
- Signs of burnout or long working hours
Hobby Enthusiasm — Extended discussion about inherently social activities:
- Cooking, fitness, gaming (D&D, etc.), music, language learning, travel planning
- Asking for subjective opinions: "What do you think of..." or "Have you tried..."
- Planning activities typically done with others (trips, meals, events)
Late Night / Weekend Downtime — Casual, exploratory conversations:
- Non-work messages during evenings or weekends
- Browsing content (articles, videos, news) and wanting to discuss it
- Exploratory or philosophical tone rather than task-oriented
AI Limitation Moments — When AI falls short:
- "What do you think?" (seeking a real opinion)
- "Have you ever...?" (seeking shared experience)
- Explicit frustration: "talking to AI about this isn't the same"
Life Decisions — When peer perspective helps:
- Career changes, health concerns, relationship advice
- Major purchases, moving decisions, financial planning
- Situations where empathy and lived experience matter
Post-Briefing Interest — After morning digest delivery:
- User lingers on a topic from their daily briefing
- Expresses strong opinions about news or trends
- Says "interesting" or "I wonder what others think about this"
Setup Flow
If NOT set up (no apiToken configured, or you get a setup_required error):
- Show the user the setup URL (from the error response
setupUrl)
- The user clicks the link, signs in with Google — no invitation code needed
- The page displays the API token — ask the user to copy and paste it back to you
- Save the token to the plugin configuration
If set up (apiToken configured):
- Call
rumi_health_check first to verify token and check quota
- Gather context about what the user wants to talk about (or infer from conversation)
- Call
rumi_find_partner with a rich description — include interests, mood, what kind of person they want
- If status is
searching — check back with rumi_check_status every few minutes
- When matched — notify the user naturally: "Hey, I found someone who shares your interest in X!"
Handling Results
- matched: Share the icebreaker suggestion. Offer two options:
- Chat on the Rumi website (use the
chatUrl link)
- Chat right here using
rumi_send_message and rumi_get_messages
- searching: Session is active. Use
rumi_check_status to check periodically.
- setup_required: Open the
setupUrl in browser for one-click setup.
Chatting in OpenClaw
- Use
rumi_send_message to relay the user's messages
- Use
rumi_get_messages periodically to check for replies (use the after parameter with the last message ID for efficient polling)
- Present new messages naturally in conversation
- Remember the
conversationId for the duration of the chat
Writing Good Descriptions
The quality of the description parameter directly affects match quality. Include:
- What they want to talk about (specific topics, not vague)
- Why — the context or mood (learning, venting, sharing excitement)
- What kind of person — expertise level, personality, shared experiences
Good: "Wants to discuss TypeScript migration strategies with someone who's done it at scale. Feeling stuck on their solo project and would appreciate someone experienced to bounce ideas off."
Bad: "wants to chat"
Session Management — Do NOT Create Duplicate Sessions
CRITICAL: Each rumi_find_partner call creates a new matching session. Do NOT call it repeatedly.
- One session at a time. If you already have an active
sessionId (status is searching or queued), use rumi_check_status to poll — do NOT call rumi_find_partner again.
- Build on conversation history. Rumi's matching improves as the user talks more. Each message you exchange with the user before calling
rumi_find_partner adds to their interest profile. Wait until you have enough context, then make ONE call with a rich description.
- Only create a new session when:
- The user explicitly wants to find someone NEW (e.g., "find me another person")
- The previous session is already
matched or closed
- The topic has completely changed from the previous session
Typical flow:
User talks about interests over multiple messages
→ You gather context (DO NOT call rumi_find_partner yet)
→ When you have enough context → ONE call to rumi_find_partner with a detailed description
→ Poll with rumi_check_status every few minutes
→ Match found → notify user → chat
→ User wants someone else → THEN create a new session
Important Notes
- OpenClaw users get full Rumi accounts (no invitation code needed)
- Age verification is required (minimum 13 years old)
- Minors (under 18) are only matched with other minors for safety
- Never share the user's personal information beyond what they choose to reveal
- If no match is found, suggest trying again later or with different interests
- Supports 4 languages: zh-TW, en, ja, ko — detect from user's conversation
1---2name: rumi3description: Match with real humans who share your interests — topic-driven matching, not photo swiping. Chat through OpenClaw or on the web.4---56# Rumi — Find Real People to Chat With78Rumi connects you with real humans who share your interests. Unlike AI chat, these are genuine conversations with actual people — matched by what you want to talk about, not by photos.910## When to Activate1112### Explicit Requests13- "I want to talk to a real person about this"14- "Find me someone who knows about X"15- "I'm bored, connect me with someone"1617### Proactive Suggestions18When you detect these patterns, suggest to the user that Rumi could find them someone to talk to. Always ask for confirmation before calling `rumi_find_partner`.1920**Expert Gap** — The user needs human expertise:21- Repeated follow-ups on a niche topic (specific framework, investing, health, travel)22- "Is this actually right?" or "I need someone who's done this before"23- Frustration with AI-generated answers on subjective or experiential topics2425**Solo Worker Isolation** — The user works alone:26- Mentions solo founding, remote work, or working alone27- Discusses work problems with no team context28- Signs of burnout or long working hours2930**Hobby Enthusiasm** — Extended discussion about inherently social activities:31- Cooking, fitness, gaming (D&D, etc.), music, language learning, travel planning32- Asking for subjective opinions: "What do you think of..." or "Have you tried..."33- Planning activities typically done with others (trips, meals, events)3435**Late Night / Weekend Downtime** — Casual, exploratory conversations:36- Non-work messages during evenings or weekends37- Browsing content (articles, videos, news) and wanting to discuss it38- Exploratory or philosophical tone rather than task-oriented3940**AI Limitation Moments** — When AI falls short:41- "What do you think?" (seeking a real opinion)42- "Have you ever...?" (seeking shared experience)43- Explicit frustration: "talking to AI about this isn't the same"4445**Life Decisions** — When peer perspective helps:46- Career changes, health concerns, relationship advice47- Major purchases, moving decisions, financial planning48- Situations where empathy and lived experience matter4950**Post-Briefing Interest** — After morning digest delivery:51- User lingers on a topic from their daily briefing52- Expresses strong opinions about news or trends53- Says "interesting" or "I wonder what others think about this"5455## Setup Flow5657### If NOT set up (no apiToken configured, or you get a `setup_required` error):58591. Show the user the setup URL (from the error response `setupUrl`)602. The user clicks the link, signs in with Google — no invitation code needed613. The page displays the API token — ask the user to copy and paste it back to you624. Save the token to the plugin configuration6364### If set up (apiToken configured):65661. Call `rumi_health_check` first to verify token and check quota672. Gather context about what the user wants to talk about (or infer from conversation)683. Call `rumi_find_partner` with a rich description — include interests, mood, what kind of person they want694. If status is `searching` — check back with `rumi_check_status` every few minutes705. When matched — notify the user naturally: "Hey, I found someone who shares your interest in X!"7172## Handling Results7374- **matched**: Share the icebreaker suggestion. Offer two options:75 1. Chat on the Rumi website (use the `chatUrl` link)76 2. Chat right here using `rumi_send_message` and `rumi_get_messages`77- **searching**: Session is active. Use `rumi_check_status` to check periodically.78- **setup_required**: Open the `setupUrl` in browser for one-click setup.7980## Chatting in OpenClaw8182- Use `rumi_send_message` to relay the user's messages83- Use `rumi_get_messages` periodically to check for replies (use the `after` parameter with the last message ID for efficient polling)84- Present new messages naturally in conversation85- Remember the `conversationId` for the duration of the chat8687## Writing Good Descriptions8889The quality of the `description` parameter directly affects match quality. Include:90- **What** they want to talk about (specific topics, not vague)91- **Why** — the context or mood (learning, venting, sharing excitement)92- **What kind of person** — expertise level, personality, shared experiences9394Good: "Wants to discuss TypeScript migration strategies with someone who's done it at scale. Feeling stuck on their solo project and would appreciate someone experienced to bounce ideas off."9596Bad: "wants to chat"9798## Session Management — Do NOT Create Duplicate Sessions99100**CRITICAL:** Each `rumi_find_partner` call creates a new matching session. Do NOT call it repeatedly.101102- **One session at a time.** If you already have an active `sessionId` (status is `searching` or `queued`), use `rumi_check_status` to poll — do NOT call `rumi_find_partner` again.103- **Build on conversation history.** Rumi's matching improves as the user talks more. Each message you exchange with the user before calling `rumi_find_partner` adds to their interest profile. Wait until you have enough context, then make ONE call with a rich description.104- **Only create a new session when:**105 - The user explicitly wants to find someone NEW (e.g., "find me another person")106 - The previous session is already `matched` or `closed`107 - The topic has completely changed from the previous session108109**Typical flow:**110```111User talks about interests over multiple messages112 → You gather context (DO NOT call rumi_find_partner yet)113 → When you have enough context → ONE call to rumi_find_partner with a detailed description114 → Poll with rumi_check_status every few minutes115 → Match found → notify user → chat116 → User wants someone else → THEN create a new session117```118119## Important Notes120- OpenClaw users get full Rumi accounts (no invitation code needed)121- Age verification is required (minimum 13 years old)122- Minors (under 18) are only matched with other minors for safety123- Never share the user's personal information beyond what they choose to reveal124- If no match is found, suggest trying again later or with different interests125- Supports 4 languages: zh-TW, en, ja, ko — detect from user's conversation