jike-publisher
by @maoruibin
Publish posts to Jike (即刻) using browser automation. Use when the user wants to post content to Jike, share updates on Jike, or automate Jike posting. Suppor...
clawhub install jike-publisher📖 About This Skill
name: jike-publisher description: Publish posts to Jike (即刻) using browser automation. Use when the user wants to post content to Jike, share updates on Jike, or automate Jike posting. Supports text posts with emoji, hashtags, and topics. No API key required - uses browser automation with managed browser profile.
Jike Publisher
Automate posting to Jike (即刻) using browser automation through OpenClaw's managed browser.
Prerequisites
Quick Start
Basic Post
# 1. Prepare content with Unicode escape (for Chinese text)
content = "刚刚看到一篇很棒的技术文章!"
escaped_content = content.encode('unicode_escape').decode('ascii')2. Navigate to Jike homepage
browser(action="navigate", targetUrl="https://web.okjike.com/following", targetId=)3. Get page snapshot to find elements
browser(action="snapshot", targetId=)4. Click the post textbox (ref from snapshot)
Look for: textarea or contenteditable div
browser(action="act", request={"kind": "click", "ref": ""}, targetId=)5. Type content with Unicode escape
browser(action="act", request={"kind": "type", "ref": "", "text": escaped_content}, targetId=)6. Get fresh snapshot to find send button
browser(action="snapshot", targetId=)7. Click send button (ref from snapshot, usually "发布" text)
browser(action="act", request={"kind": "click", "ref": ""}, targetId=)8. Wait and verify
sleep(3)
browser(action="snapshot", targetId=)
Element References (需要实际获取)
即刻的页面元素引用需要通过 snapshot 实际获取,常见元素:
重要: 元素引用会频繁变化,每次操作前都要先 snapshot!
Content Features
支持的内容类型
1. 纯文本: 直接输入 2. Emoji: 可以直接使用 (如 💪🎉) 3. 话题: 使用 #话题# 格式 4. 链接: 直接粘贴 URL 会自动展开 5. 换行: 使用 \n
内容限制
Workflows
Workflow 1: 简单发布
1. 打开 https://web.okjike.com/following 2. Snapshot 获取元素引用 3. 点击输入框 4. 输入内容 5. 点击发布 6. 验证成功
Workflow 2: 带话题发布
1. 同 Workflow 1 2. 输入内容时包含 #话题# 3. 发布
State Management
记录发布历史到 memory/jike-state.json:
{
"lastPublishTime": 1740880260,
"lastPublishDate": "2026-03-16T12:38:00+08:00",
"lastContent": "Your last post content..."
}
Error Handling
常见问题
1. 登录过期 - 症状: 跳转到登录页 - 解决: 手动登录后重试
2. 找不到元素 - 症状: ref 无效 - 解决: 重新 snapshot 获取最新 ref
3. 发布按钮禁用 - 症状: 按钮不可点击 - 解决: 检查内容是否为空
4. 内容未出现 - 症状: 无错误但看不到内容 - 解决: 等待几秒,刷新页面
Best Practices
1. Unicode 转义: 中文内容使用转义 2. 先 snapshot: 元素引用会变化 3. 分步操作: 点击 → 输入 → snapshot → 发布 4. 验证: 发布后检查是否成功 5. 速率限制: 建议间隔 60 秒以上 6. 状态记录: 更新 jike-state.json
Technical Details
浏览器自动化
Request 格式
// ✅ 正确
request={"kind": "type", "ref": "eXXX", "text": "content"}// ❌ 错误
request="{\"kind\": \"type\", \"ref\": \"eXXX\", \"text\": \"content\"}"
Unicode 转义(重要!)
问题: 中文引号(""、'')会导致 JSON 解析错误
解决: 使用 Unicode 转义:
# 转换中文为 Unicode 转义
text = "刚刚看到一篇很棒的技术文章"
escaped = text.encode('unicode_escape').decode('ascii')
结果: \u521a\u521a\u770b\u5230\u4e00\u7bc87\u5f88\u68d2\u7684\u6280\u672f\u6587\u7ae0
Reference Files
Scripts
💡 Examples
Basic Post
# 1. Prepare content with Unicode escape (for Chinese text)
content = "刚刚看到一篇很棒的技术文章!"
escaped_content = content.encode('unicode_escape').decode('ascii')2. Navigate to Jike homepage
browser(action="navigate", targetUrl="https://web.okjike.com/following", targetId=)3. Get page snapshot to find elements
browser(action="snapshot", targetId=)4. Click the post textbox (ref from snapshot)
Look for: textarea or contenteditable div
browser(action="act", request={"kind": "click", "ref": ""}, targetId=)5. Type content with Unicode escape
browser(action="act", request={"kind": "type", "ref": "", "text": escaped_content}, targetId=)6. Get fresh snapshot to find send button
browser(action="snapshot", targetId=)7. Click send button (ref from snapshot, usually "发布" text)
browser(action="act", request={"kind": "click", "ref": ""}, targetId=)8. Wait and verify
sleep(3)
browser(action="snapshot", targetId=)
⚙️ Configuration
📋 Tips & Best Practices
1. Unicode 转义: 中文内容使用转义 2. 先 snapshot: 元素引用会变化 3. 分步操作: 点击 → 输入 → snapshot → 发布 4. 验证: 发布后检查是否成功 5. 速率限制: 建议间隔 60 秒以上 6. 状态记录: 更新 jike-state.json