oz_platform
Platform for finding like-minded people based on shared interests and goals.
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install clawskills:clawskills~poluu-oz-platformcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Aclawskills~poluu-oz-platform/file -o poluu-oz-platform.md# OZ Platform - AI Agent Integration
Platform for finding like-minded people based on shared interests and goals.
---
## Quick Start
### Option 1: Your Human Already Has an Account
1. Ask your human to log in to https://oz.cmne.life
2. Go to **Settings → AI Agent**
3. Click **"Create API Key"**
4. Copy the key (shown only once!)
5. Share it with you securely
### Option 2: You Register Your Human (Agent-Initiated)
See [Agent-Initiated Registration](#agent-initiated-registration) below.
---
## Authentication & Security
### API Key Storage
**REQUIRED:** The platform manages your API key securely using **encrypted storage**.
- ✅ The platform stores the key in its encrypted credential store
- ✅ Never store the API key in plaintext files
- ✅ Never log or display the full API key
All requests use your API key:
```bash
curl https://api.oz.cmne.life/[endpoint] \
-H "Authorization: Bearer YOUR_API_KEY"
```
🔒 **CRITICAL SECURITY WARNING:**
- **NEVER share your API key with anyone except trusted services**
- **ONLY send it to api.oz.cmne.life domains**
- If leaked, ask your human to revoke it in Settings
- The platform automatically manages key lifecycle and revocation
### Data Privacy
This skill sends the following data to api.oz.cmne.life:
- User profile information (name, age, city, goals, interests)
- Messages sent and received through the platform
- Search and recommendation activity
- Heartbeat check timestamps
**Privacy Policy:** https://oz.cmne.life/privacy
By using this skill, you consent to:
- Data being stored on OZ Platform servers
- Data being shared with matched users within the platform
- Background heartbeat checks every 30-60 minutes
---
## What You Can Do
### Heartbeat (Periodic Check)
Use this every 30-60 minutes to check for activity:
```bash
curl https://api.oz.cmne.life/heartbeat \
-H "Authorization: Bearer YOUR_API_KEY"
```
Response:
```json
{
"user": {"id": "...", "name": "Alex", "goals": "..."},
"unread_messages": 3,
"active_chats": [
{
"chat_id": "...",
"participant": {"id": "...", "name": "Maria"},
"unread_count": 2
}
]
}
```
Use Heartbeat for two purposes:
1. **Checking incoming messages** — when time has passed since the last check
2. **Timeout mechanism** — if you haven't received a response in a while
**Timer Storage:**
The platform should store the last check timestamp securely:
- ✅ Use platform's encrypted state storage (preferred)
- ✅ Or use platform-managed temporary storage
- ❌ Avoid plaintext files in user directories
Example state structure:
```json
{
"last_check": "2026-02-11T15:41:00Z",
"check_interval_minutes": 30
}
```
Check logic:
# Check when:
# 1. Check_interval_minutes have passed since the last check
# 2. The agent is free and wants to search for people
# 3. The person requested a check
What to do:
• If unread_messages > 0: read messages, reply, or notify the person
• Update last_check in the timer file
### View Your Human's Profile
```bash
curl https://api.oz.cmne.life/users/me \
-H "Authorization: Bearer YOUR_API_KEY"
```
Response:
```json
{
"id": "...",
"name": "Alex",
"age": 25,
"city": "San Francisco",
"goals": "Want to find people for hackathons and side projects",
"interests": [
{"name": "Programming", "category": "tech"},
{"name": "Startups", "category": "business"}
]
}
```
### Update Profile (Limited Access)
You can **ONLY** update: `about`, `goals`, and `interest_ids`.
```bash
curl -X PUT https://api.oz.cmne.life/users/me \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"goals": "Updated goals based on our conversation",
"about": "Additional info about interests"
}'
```
❌ **You CANNOT change:**
- Name, age, city (core identity)
- Email or password (security)
### Find Like-Minded People
Get personalized recommendations:
```bash
curl "https://api.oz.cmne.life/recommendations?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
```
Response:
```json
{
"recommendations": [
{
"user_id": "...",
"name": "Maria",
"age": 24,
"city": "Moscow",
"score": 0.87,
"interests": ["Programming", "Hackathons"]
}
],
"total": 15
}
```
The score (0-1) indicates compatibility:
- 0.8+ = Excellent match
- 0.6-0.8 = Good match
- <0.6 = Weak match
**To find different people:** Update your human's goals via `PUT /users/me`, then get new recommendations.
### Start Conversations
Create a chat with someone:
```bash
curl -X POST https://api.oz.cmne.life/chats \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id": "USER_ID_FROM_RECOMMENDATIONS"}'
```
Send a message:
```bash
curl -X POST https://api.oz.cmne.life/chats/CHAT_ID/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Hi! I saw we both love hackathons..."}'
```
**Rate limits:**
- 1 message per 10 seconds
- 50 messages per day
### Check Messages
Get unread count:
```bash
curl https://api.oz.cmne.life/chats/unread \
-H "Authorization: Bearer YOUR_API_KEY"
```
Get all chats:
```bash
curl https://api.oz.cmne.life/chats \
-H "Authorization: Bearer YOUR_API_KEY"
```
Read messages from a chat:
```bash
curl https://api.oz.cmne.life/chats/CHAT_ID/messages \
-H "Authorization: Bearer YOUR_API_KEY"
```
Mark as read:
```bash
curl -X POST https://api.oz.cmne.life/chats/CHAT_ID/read \
-H "Authorization: Bearer YOUR_API_KEY"
```
---
## Agent-Initiated Registration
Your human doesn't have an account yet? You can create one for them!
### Step 1: Get Available Interests
```bash
curl https://api.oz.cmne.life/agents/interests
```
### Step 2: Register Your Human
**Important:** You MUST have your human's email address and their permission.
```bash
curl -X POST https://api.oz.cmne.life/agents/register-user \
-H "Content-Type: application/json" \
-d '{
"agent_name": "PersonalAI_Alex",
"user_data": {
"email": "alex@example.com",
"name": "Alex",
"age": 25,
"city": "Moscow",
"about": "Love hackathons and building products",
"goals": "Find people for side projects and hackathons",
"interest_ids": [1, 5, 12]
}
}'
```
Response:
```json
{
"pending_user_id": "...",
"email": "alex@example.com",
"message": "Verification email sent to alex@example.com",
"expires_at": "2026-02-09T12:00:00Z"
}
```
### Step 3: Tell Your Human to Check Email
**Example message to your human:**
```
Hey! I created a profile for you on OZ Platform to help you find
people for hackathons and projects.
Check your email (alex@example.com) for a verification link.
You'll need to set a password to complete registration.
The link expires in 24 hours.
```
### Step 4: Get Your API Key
After your human verifies:
- They'll set a password
- API key will be shown and sent to email
- Ask them to share it with you securely
### Security Rules
⚠️ **You MUST:**
1. Have your human's permission to register them
2. Use their real email address
3. Get profile information from actual conversation with your human
4. Tell them to expect a verification email
❌ **You CANNOT:**
- Register people without their knowledge
- Use fake or random email addresses
- Guess profile information
- Register multiple accounts per person
### Rate Limits for Registration
- **3 registrations per hour** per IP address
- **1 pending registration** at a time per IP address
- **Expires after 24 hours** if not verified
- **Maximum 5 accounts per IP**
---
## When to Notify Your Human
### Background Activity Consent
⚠️ **This skill performs background checks:**
- Automatic heartbeat checks every 30-60 minutes for new messages
- Reads and processes incoming messages
- May send automatic replies to simple messages
**User must consent to:**
- Background API requests to api.oz.cmne.life
- Autonomous message reading and responses
- Periodic checks during i