mirror of
https://github.com/LeoYeAI/openclaw-master-skills.git
synced 2026-07-27 22:00:20 +00:00
4.2 KiB
4.2 KiB
Jike Publishing Quick Reference
🚀 Quick Start (Copy-Paste Template)
# 1. Prepare content with Unicode escape
content = """你的中文内容"""
escaped = content.encode('unicode_escape').decode('ascii')
# 2. Navigate to Jike
browser(action="navigate", targetUrl="https://web.okjike.com/following", targetId="<TAB_ID>")
exec(command="sleep 2")
# 3. Snapshot to find textbox
browser(action="snapshot", compact=True, targetId="<TAB_ID>")
# Look for: textarea or contenteditable div
# 4. Click textbox
browser(action="act", request={"kind": "click", "ref": "eXX"}, targetId="<TAB_ID>")
# 5. Type content
browser(action="act", request={"kind": "type", "ref": "eXX", "text": escaped}, targetId="<TAB_ID>")
# 6. Snapshot to find send button
browser(action="snapshot", compact=True, targetId="<TAB_ID>")
# Look for: button "发布" [ref=eXX]
# 7. Click send
browser(action="act", request={"kind": "click", "ref": "eXX"}, targetId="<TAB_ID>")
# 8. Verify
exec(command="sleep 3")
browser(action="snapshot", compact=True, targetId="<TAB_ID>")
⚠️ Critical Rules
1. ALWAYS Use Unicode Escape for Chinese
# ✅ Correct
escaped = content.encode('unicode_escape').decode('ascii')
browser(action="act", request={"kind": "type", "ref": "eXX", "text": escaped})
# ❌ Wrong - Will fail with JSON parsing errors
browser(action="act", request={"kind": "type", "ref": "eXX", "text": "中文内容"})
2. ALWAYS Snapshot Before Each Operation
# ✅ Correct - Fresh snapshot
browser(action="snapshot", targetId=tab_id)
browser(action="act", request={"kind": "click", "ref": "eXX"})
# ❌ Wrong - Hardcoded ref (will break when refs change)
browser(action="act", request={"kind": "click", "ref": "e123"})
3. ALWAYS Separate Operations
# ✅ Correct - Separate click and type
browser(action="act", request={"kind": "click", "ref": "eXX"})
browser(action="act", request={"kind": "type", "ref": "eXX", "text": escaped})
# ❌ Wrong - Combined operations (unreliable)
browser(action="act", request={"kind": "click", "ref": "eXX", "text": escaped})
📋 Common Element Patterns (需要实际获取)
| Element | 查找方式 |
|---|---|
| Post textbox | 搜索 textarea 或 contenteditable |
| Send button | 搜索 "发布" 文本 |
Note: Refs change frequently! Always snapshot first.
🐛 Common Errors
Error: JSON parsing failed
Cause: 中文引号导致 Fix: 使用 Unicode escape
Error: Element not found
Cause: Element ref changed Fix: 重新 snapshot 获取新 ref
Error: Send button disabled
Cause: 输入框为空或内容违规 Fix: 检查内容是否正确输入
✅ Verification Checklist
发布后检查:
- 等待 3 秒
- 刷新页面或 snapshot
- 确认内容出现在动态中
- 更新
memory/jike-state.json
📊 State File Format
{
"lastPublishTime": 1772635680,
"lastPublishDate": "2026-03-16T15:08:00+08:00",
"lastContent": "Your last post content..."
}
🎯 Best Practices
- Unicode escape: 中文内容必须用
- Snapshot first: 不要硬编码 ref
- Separate ops: 点击 → 输入 → snapshot → 发布
- Verify: 检查是否发布成功
- Rate limit: 建议间隔 60 秒
- State tracking: 更新 JSON 记录
📚 Full Documentation
- SKILL.md - 完整指南
- EXAMPLES.md - 实际案例
- TROUBLESHOOTING.md - 错误解决
🔗 Quick Links
- 即刻首页: https://web.okjike.com/
- 关注动态: https://web.okjike.com/following
- Browser tab ID: 用
browser(action="tabs")查看
💡 Pro Tips
- Emoji support: Unicode escape 支持 emoji
- Hashtags: 使用 #话题# 格式
- Line breaks: 转义前包含 \n
- Links: 直接粘贴 URL 会自动展开
- Content length: 100-200 字最佳
🚨 Emergency Recovery
如果发布失败:
- 检查浏览器状态:
browser(action="status") - 检查标签:
browser(action="tabs") - 导航到即刻:
browser(action="navigate", targetUrl="https://web.okjike.com/following") - 快照:
browser(action="snapshot") - 验证登录: 检查快照中是否有用户名
- 用最新 ref 重试
📅 Last Updated
2026-03-16 - 初始版本