social-autoposter

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Social Autoposter

社交媒体自动发布工具(Social Autoposter)

Automates finding, posting, and tracking social media comments across Reddit, X/Twitter, LinkedIn, and Moltbook.
可在Reddit、X/Twitter、LinkedIn和Moltbook平台自动完成主题帖查找、评论发布及互动追踪操作。

Quick Start

快速开始

CommandWhat it does
/social-autoposter
Full posting run (find threads + post + log)
/social-autoposter stats
Update engagement stats via API
/social-autoposter engage
Scan and reply to responses on our posts
/social-autoposter audit
Full browser audit of all posts
命令功能说明
/social-autoposter
完整发布流程(查找主题帖 + 发布评论 + 日志记录)
/social-autoposter stats
通过API更新互动数据
/social-autoposter engage
扫描并回复对我们帖子的评论
/social-autoposter audit
通过浏览器对所有帖子进行全面审核

Accounts

账号信息

  • Reddit: u/Deep_Ad1959 (logged in via Google with matt@mediar.ai). Use old.reddit.com.
  • X/Twitter: @m13v_
  • LinkedIn: Matthew Diakonov
  • Moltbook: matthew-autoposter (API key in
    ~/social-autoposter/.env
    )
  • Reddit:u/Deep_Ad1959(使用matt@mediar.ai通过Google登录),请使用old.reddit.com操作。
  • X/Twitter:@m13v_
  • LinkedIn:Matthew Diakonov
  • Moltbook:matthew-autoposter(API密钥存储在
    ~/social-autoposter/.env
    文件中)

Our Projects & Links

我们的项目及链接

ProjectWhat it doesWebsiteGitHub
FazmAI computer agent for macOShttps://fazm.ai
TerminatorDesktop automation frameworkhttps://t8r.techhttps://github.com/mediar-ai/terminator
macOS MCPMCP server for macOS automationhttps://github.com/mediar-ai/mcp-server-macos-use
VipassanaResource site for meditatorshttps://vipassana.coolhttps://github.com/m13v/vipassana-cool
S4LSocial media autoposter (this tool)https://s4l.aihttps://github.com/m13v/social-autoposter
Prefer website links when one exists (drives signups). Use GitHub for open source tools without a website.
项目功能说明官网GitHub
Fazm适用于macOS的AI计算机Agenthttps://fazm.ai
Terminator桌面自动化框架https://t8r.techhttps://github.com/mediar-ai/terminator
macOS MCP用于macOS自动化的MCP服务器https://github.com/mediar-ai/mcp-server-macos-use
Vipassana禅修者资源网站https://vipassana.coolhttps://github.com/m13v/vipassana-cool
S4L社交媒体自动发布工具(即本工具)https://s4l.aihttps://github.com/m13v/social-autoposter
优先使用官网链接(可引导注册),无官网的开源工具使用GitHub链接。

Database

数据库

  • Path:
    ~/social-autoposter/social_posts.db
    (also symlinked at
    ~/.claude/social_posts.db
    )
  • Prompt DB:
    ~/claude-prompt-db/prompts.db
  • 路径
    ~/social-autoposter/social_posts.db
    (同时软链接至
    ~/.claude/social_posts.db
  • 提示词数据库
    ~/claude-prompt-db/prompts.db

Helper Scripts

辅助脚本

Standalone Python scripts — no LLM needed.
bash
python3 ~/social-autoposter/scripts/find_threads.py --topic "macOS automation"
python3 ~/social-autoposter/scripts/scan_replies.py
python3 ~/social-autoposter/scripts/update_stats.py --quiet

独立Python脚本 — 无需LLM支持。
bash
python3 ~/social-autoposter/scripts/find_threads.py --topic "macOS automation"
python3 ~/social-autoposter/scripts/scan_replies.py
python3 ~/social-autoposter/scripts/update_stats.py --quiet

Workflow: Post (
/social-autoposter
)

工作流:发布(
/social-autoposter

1. Rate limit check

1. 速率限制检查

sql
SELECT COUNT(*) FROM posts WHERE posted_at >= datetime('now', '-24 hours')
Max 10 posts per 24 hours. Stop if at limit.
sql
SELECT COUNT(*) FROM posts WHERE posted_at >= datetime('now', '-24 hours')
24小时内最多发布10条帖子,达到限制则停止操作。

2. Find candidate threads

2. 寻找候选主题帖

Option A — Script (preferred):
bash
python3 ~/social-autoposter/scripts/find_threads.py --include-moltbook
Option B — Browse manually: Browse
/new
and
/hot
on: r/ClaudeAI, r/ClaudeCode, r/AI_Agents, r/ExperiencedDevs, r/macapps, r/vipassana. Also check Moltbook via API.
选项A — 脚本(推荐):
bash
python3 ~/social-autoposter/scripts/find_threads.py --include-moltbook
选项B — 手动浏览: 浏览以下社区的
/new
/hot
板块:r/ClaudeAI、r/ClaudeCode、r/AI_Agents、r/ExperiencedDevs、r/macapps、r/vipassana。同时通过API检查Moltbook平台。

3. Pick the best thread

3. 选择最佳主题帖

  • Must have a genuine angle from Matthew's work: building desktop AI agents, running 5 Claude agents in parallel on Swift/Rust/Flutter, CLAUDE.md specs, Playwright MCP, token costs, rate limits, vipassana practice
  • Not already posted in:
    SELECT thread_url FROM posts
  • Last 5 comments don't repeat:
    SELECT our_content FROM posts ORDER BY id DESC LIMIT 5
  • If nothing fits, stop
  • 必须与Matthew的工作内容相关:开发桌面AI Agent、在Swift/Rust/Flutter上并行运行5个Claude Agent、CLAUDE.md规范、Playwright MCP、Token成本、速率限制、禅修实践
  • 未在已发布列表中:
    SELECT thread_url FROM posts
  • 最近5条评论未重复:
    SELECT our_content FROM posts ORDER BY id DESC LIMIT 5
  • 若无合适主题帖,停止操作

4. Read the thread + top comments

4. 阅读主题帖及热门评论

Check tone, length cues, thread age. Find best comment to reply to (50+ upvotes = more visibility).
检查语气、篇幅提示、主题帖发布时长。选择最佳评论进行回复(50+点赞量=更高曝光度)。

5. Draft the comment

5. 撰写评论

Follow Content Rules below. 2-3 sentences, first person, specific. No product links in top-level comments.
遵循下方内容规则。2-3句话,第一人称表述,内容具体。顶层评论中不得包含产品链接。

6. Post it

6. 发布评论

Reddit: old.reddit.com → reply box → type → submit → verify → capture permalink → close tab. X/Twitter: tweet → reply box → type → Reply → verify → capture URL → close tab. LinkedIn: post → comment box → type → Post → close tab. Moltbook (API, no browser):
bash
source ~/social-autoposter/.env
curl -s -X POST -H "Authorization: Bearer $MOLTBOOK_API_KEY" -H "Content-Type: application/json" \
  -d '{"title": "...", "content": "...", "type": "text", "submolt_name": "general"}' \
  "https://www.moltbook.com/api/v1/posts"
On Moltbook: write as agent ("my human" not "I"). Max 1 post per 30 min.
Reddit:访问old.reddit.com → 打开回复框 → 输入内容 → 提交 → 验证发布结果 → 复制永久链接 → 关闭标签页。 X/Twitter:打开帖子 → 回复框 → 输入内容 → 点击“回复” → 验证发布结果 → 复制链接 → 关闭标签页。 LinkedIn:打开帖子 → 评论框 → 输入内容 → 点击“发布” → 关闭标签页。 Moltbook(通过API,无需浏览器):
bash
source ~/social-autoposter/.env
curl -s -X POST -H "Authorization: Bearer $MOLTBOOK_API_KEY" -H "Content-Type: application/json" \
  -d '{"title": "...", "content": "...", "type": "text", "submolt_name": "general"}' \
  "https://www.moltbook.com/api/v1/posts"
在Moltbook平台发布时,需以Agent视角撰写(使用“我的人类”而非“我”)。每30分钟最多发布1条内容。

7. Log + sync

7. 记录并同步

sql
INSERT INTO posts (platform, thread_url, thread_author, thread_author_handle,
  thread_title, thread_content, our_url, our_content, our_account,
  source_summary, status, posted_at)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'active', datetime('now'));
Then sync:
bash ~/social-autoposter/syncfield.sh

sql
INSERT INTO posts (platform, thread_url, thread_author, thread_author_handle,
  thread_title, thread_content, our_url, our_content, our_account,
  source_summary, status, posted_at)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'active', datetime('now'));
然后执行同步:
bash ~/social-autoposter/syncfield.sh

Workflow: Stats (
/social-autoposter stats
)

工作流:数据统计(
/social-autoposter stats

bash
python3 ~/social-autoposter/scripts/update_stats.py
Or the legacy bash version:
bash ~/social-autoposter/skill/stats.sh

bash
python3 ~/social-autoposter/scripts/update_stats.py
或使用旧版bash脚本:
bash ~/social-autoposter/skill/stats.sh

Workflow: Engage (
/social-autoposter engage
)

工作流:互动(
/social-autoposter engage

Phase A: Scan for replies (no browser)

阶段A:扫描评论(无需浏览器)

bash
python3 ~/social-autoposter/scripts/scan_replies.py
bash
python3 ~/social-autoposter/scripts/scan_replies.py

Phase B: Respond to pending replies

阶段B:回复待处理评论

Query pending:
SELECT * FROM replies WHERE status='pending' ORDER BY discovered_at LIMIT 10
Draft replies: 2-4 sentences, casual, expand the topic. Apply Tiered Reply Strategy. Max 5 per run.
Post via browser (Reddit) or API (Moltbook). Update:
UPDATE replies SET status='replied', our_reply_content=?, replied_at=datetime('now') WHERE id=?
查询待处理评论:
SELECT * FROM replies WHERE status='pending' ORDER BY discovered_at LIMIT 10
撰写回复:2-4句话,语气随意,拓展话题内容。遵循分层回复策略。每次最多回复5条。
通过浏览器(Reddit)或API(Moltbook)发布回复。更新记录:
UPDATE replies SET status='replied', our_reply_content=?, replied_at=datetime('now') WHERE id=?

Phase C: X/Twitter replies (browser required)

阶段C:X/Twitter评论回复(需浏览器)

Navigate to
https://x.com/notifications/mentions
. Extract mentions replying to @m13v_. Respond to substantive ones (max 5). Log to
replies
table.

访问
https://x.com/notifications/mentions
。提取@m13v_的提及评论,仅回复有实质内容的评论(最多5条)。记录至
replies
表。

Workflow: Audit (
/social-autoposter audit
)

工作流:审核(
/social-autoposter audit

Visit each post URL via browser. Check status (active/deleted/removed/inactive). Update engagement metrics.

通过浏览器访问每条帖子的链接,检查状态(活跃/已删除/已移除/不活跃),更新互动指标。

Content Rules

内容规则

  1. Write like you're texting a coworker. Lowercase fine. Sentence fragments fine. Never start with "Makes sense" or "The nuance here is." If it sounds like a blog post, rewrite it.
  2. First person, specific. "I run 5 agents in parallel and my API bill is becoming a second rent payment" beats "Token costs scale linearly."
  3. Reply to top comments, not just OP.
  4. Only comment when you have a real angle from Matthew's work. Desktop AI agents, multi-agent workflows, Swift/macOS dev, Playwright MCP, vipassana. If the thread doesn't connect, skip it.
  5. No product links in top-level comments. Earn attention first.
  6. On Moltbook, write as an agent. "my human" not "I".
  7. Log everything.
  1. 语气如同给同事发消息:可以使用小写字母,允许句子不完整。切勿以“Makes sense”或“The nuance here is”开头。若语气像博客文章,请重写。
  2. 第一人称,内容具体:“我同时运行5个Agent,API账单快赶上第二份房租了” 优于 “Token成本线性增长”。
  3. 回复热门评论,而非仅楼主
  4. 仅当与Matthew的工作相关时才评论:桌面AI Agent、多Agent工作流、Swift/macOS开发、Playwright MCP、Token成本、速率限制、禅修。若主题帖无关,跳过。
  5. 顶层评论中不得包含产品链接:先获取关注。
  6. 在Moltbook平台以Agent视角撰写:使用“我的人类”而非“我”。
  7. 所有操作均需记录

Bad vs Good

反面示例 vs 正面示例

BAD: "Makes sense — Claude already tries to
| tail -n 50
on its own but by then the tokens are already in context." GOOD: "gonna try this — I run 5 agents in parallel and my API bill is becoming a second rent payment"
BAD: "What everyone here is describing is basically specification-driven development." GOOD: "I spend more time writing CLAUDE.md specs than I ever spent writing code. the irony is I'm basically doing waterfall now and shipping faster than ever."

反面示例:"Makes sense — Claude already tries to
| tail -n 50
on its own but by then the tokens are already in context." 正面示例:"gonna try this — I run 5 agents in parallel and my API bill is becoming a second rent payment"
反面示例:"What everyone here is describing is basically specification-driven development." 正面示例:"I spend more time writing CLAUDE.md specs than I ever spent writing code. the irony is I'm basically doing waterfall now and shipping faster than ever."

Tiered Reply Strategy

分层回复策略

Tier 1 — Default (no link): Genuine engagement. Expand topic, ask follow-ups. Most replies.
Tier 2 — Natural mention: Conversation touches something we're building. Mention casually, link only if it adds value. Triggers: "what tool do you use", problem matches a project, 2+ replies deep.
Tier 3 — Direct ask: They ask for link/try/source. Give it immediately.

Tier 1 — 默认(无链接): 真实互动,拓展话题,提出后续问题。适用于大多数回复。
Tier 2 — 自然提及: 对话内容涉及我们正在开发的产品时,自然提及,仅在有价值时添加链接。触发场景:“你用什么工具”、问题与我们的项目匹配、回复层级在2层及以上。
Tier 3 — 直接提供链接: 对方明确要求链接/试用/资源时,立即提供。

Database Schema

数据库表结构

posts
: id, platform, thread_url, thread_title, our_url, our_content, our_account, posted_at, status, upvotes, comments_count, views, source_summary
replies
: id, post_id, platform, their_author, their_content, our_reply_content, status (pending|replied|skipped|error), depth
posts
表:id, platform, thread_url, thread_title, our_url, our_content, our_account, posted_at, status, upvotes, comments_count, views, source_summary
replies
表:id, post_id, platform, their_author, their_content, our_reply_content, status (pending|replied|skipped|error), depth