← 返回 Skills 市场
oangogah-claw

FB Personal Poster

作者 oangogah-claw · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
110
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install fb-personal-poster
功能描述
Post text and photos to personal Facebook timeline using browser automation (Patchright/Playwright). Use when: user asks to post to personal Facebook, publis...
使用说明 (SKILL.md)

FB Personal Poster

Post text + photos to personal Facebook timeline via Patchright stealth browser automation.

Why Not Graph API?

Facebook removed publish_actions permission in 2018. API cannot post to personal timelines. Only browser automation works — this skill uses Patchright (stealth Chromium) to mimic human behavior.

Requirements

cd scripts/ && pip install -r requirements.txt
python -m patchright install chromium

Environment Variables

Variable Required Description
FB_COOKIE_FILE Path to Facebook cookies JSON (Selenium format). Full account access.
FB_STATE_FILE Writable path for Playwright state (default: /tmp/fb_state.json)
FB_DRY_RUN true (default) = preview only. false = actually post.
FB_USER_AGENT Override browser user agent

How to Get Cookies

  1. Log in to Facebook in Chrome (manually, once)
  2. Export all facebook.com cookies as JSON via EditThisCookie extension
  3. Save to path in FB_COOKIE_FILE with chmod 600

Cookies last ~30–90 days. Re-export when expired.

Usage

Text-only post

FB_COOKIE_FILE=~/.fb_cookies.json FB_DRY_RUN=false \
  python3 scripts/fb_post.py -m "Hello from automation!"

Post with photos

FB_COOKIE_FILE=~/.fb_cookies.json FB_DRY_RUN=false \
  python3 scripts/fb_post.py -m "Beautiful day!" -p photo1.jpg photo2.jpg

Dry run (default)

python3 scripts/fb_post.py -m "Test post" -p photo.jpg
# No actual posting — previews the flow

OpenClaw Integration (Recommended)

Use the built-in browser tool — already proven working for personal timeline posting:

# Step 1: Navigate to Facebook
browser(action="navigate", url="https://www.facebook.com/")

# Step 2: Confirm on personal profile (url should be facebook.com/me)
# Step 3: Click "What's on your mind"
browser(action="act", kind="click", ref="[post input box]")

# Step 4: Type message
browser(action="act", kind="type", text="Your message here")

# Step 5: Upload photo (if needed)
browser(action="upload", paths=["/path/to/photo.jpg"])

# Step 6: Set sharing to Public
# Step 7: Click Post button
browser(action="act", kind="click", ref="[post button]")

Tips

  • Facebook 頁面結構複雜,selector 會變,用 snapshot 找當前可用的 ref
  • 上傳圖片用 browser(action="upload") 功能
  • 如果 timeout,重試一次通常就好
  • 個人動態和粉絲專頁的操作流程不同,注意確認在正確頁面

Safety

  • Dry-run is ON by default — must explicitly set FB_DRY_RUN=false for live posting
  • Cookies stored locally with chmod 600 — never committed to git
  • Human-like delays and typing speed to avoid detection
安全使用建议
This skill appears to do what it says (automated posting to a personal Facebook timeline) but it requires a Facebook session cookie file (FB_COOKIE_FILE) which grants full access to your account. Before installing or running it: (1) verify the skill source and owner — the package shows no homepage and registry metadata omits the env vars the SKILL.md requires; treat this as a red flag. (2) Inspect the code yourself (or have someone you trust do so) and run in an isolated environment or throwaway account. (3) Do not reuse cookies from an important account — use a disposable/test account if possible. (4) Prefer the dry-run mode (FB_DRY_RUN=true) to confirm behavior first. (5) Confirm the patchright package/version you install comes from the official PyPI maintainer and consider pinning the version. (6) If you are not comfortable exporting and storing session cookies, avoid using this skill — browser automation that reuses session cookies can perform any action your account can, and could violate Facebook's terms of service or cause account lockouts.
功能分析
Type: OpenClaw Skill Name: fb-personal-poster Version: 1.0.0 The skill automates Facebook posting by requiring the user to provide full session cookies via a JSON file (FB_COOKIE_FILE), which grants complete account access. It uses the 'patchright' library (a stealth Playwright fork) in scripts/fb_post.py to mimic human behavior and bypass bot detection. While the code appears to function as described and lacks evidence of data exfiltration or intentional malice, the requirement to handle raw session tokens and the use of stealth automation techniques are high-risk behaviors.
能力评估
Purpose & Capability
Name/description, SKILL.md, and the included Python script all consistently implement posting to a personal Facebook timeline via Patchright/Playwright using session cookies or Playwright storage state. There are no unrelated services or credentials requested by the code; the required functionality (cookies/state and Playwright) is coherent with the stated purpose.
Instruction Scope
SKILL.md and the script instruct the agent to read a Facebook cookies JSON (FB_COOKIE_FILE) or Playwright storage state and to control a Chromium browser to navigate and interact with facebook.com. This is within the expected scope for automating personal-posting, but it requires full session cookies (which grant broad account access). The instructions also advise installing packages and running 'python -m patchright install chromium' — these steps are explicit and expected. No instructions appear to exfiltrate data to other endpoints.
Install Mechanism
There is no opaque download URL; the SKILL.md asks to pip install the requirement (patchright) and install Chromium via patchright. That is a common pattern for Playwright-like tooling. Note: pip installs can pull arbitrary code — verify the package source and version before installing in a sensitive environment.
Credentials
The skill requires a Facebook session cookie JSON (FB_COOKIE_FILE) and a writable FB_STATE_FILE as declared in SKILL.md and used in the script; these are sensitive because cookies provide full account access. However, the registry metadata lists no required environment variables or primary credential — a mismatch that reduces transparency. Requiring cookies is proportionate to the stated goal but the metadata omission is concerning and should be corrected/verified before use.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or global agent settings, and has no service that would persistently run beyond user invocation. It writes/reads a local state file if configured, which is expected for Playwright sessions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install fb-personal-poster
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /fb-personal-poster 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: Post text + photos to personal Facebook timeline via Patchright stealth browser automation
元数据
Slug fb-personal-poster
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

FB Personal Poster 是什么?

Post text and photos to personal Facebook timeline using browser automation (Patchright/Playwright). Use when: user asks to post to personal Facebook, publis... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 110 次。

如何安装 FB Personal Poster?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install fb-personal-poster」即可一键安装,无需额外配置。

FB Personal Poster 是免费的吗?

是的,FB Personal Poster 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

FB Personal Poster 支持哪些平台?

FB Personal Poster 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 FB Personal Poster?

由 oangogah-claw(@oangogah-claw)开发并维护,当前版本 v1.0.0。

💬 留言讨论