Skip to content
Agentmart
Submit a tool

omni-post

Multi-platform, multi-account social publishing engine — Douyin, RedNote, Bilibili today, 10 platforms end of S2.

Skill by LZM163126lzm

IndexedAGPL-3.0
Write a review

Chalk Labs

Need help deploying omni-post?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/lzm163126lzm-omni-post

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Multi-platform, multi-account social publishing engine — Douyin, RedNote, Bilibili today, 10 platforms end of S2. Use when the user wants to post the same video or image-text to N platforms and M accounts in one click, schedule cross-timezone rollouts, or reuse one upload as a reference for other plugins via the Asset Bus.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/omni-post

What's inside

Skill name
omni-post
Description
Multi-platform, multi-account social publishing engine — Douyin, RedNote, Bilibili today, 10 platforms end of S2. Use when the user wants to post the same video or image-text to N platforms and M accounts in one click, schedule cross-timezone rollouts, or reuse one upload as a reference for other plugins via the Asset Bus.
License
AGPL-3.0
Instructions
127 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (61)

  • CHANGELOG.md
  • MULTIPOST_BRIDGE_NOTES.md
  • README.md
  • SKILL.md
  • __init__.py
  • icon.svg
  • __init__.py · omni_post_adapters/
  • base.py · omni_post_adapters/
  • wechat_channels.py · omni_post_adapters/
  • wechat_mp.py · omni_post_adapters/
  • omni_post_assets.py
  • omni_post_cookies.py
  • omni_post_dep_bootstrap.py
  • omni_post_engine_mp.py
  • omni_post_engine_pw.py
  • omni_post_health.py
  • omni_post_mdrm.py
  • omni_post_models.py
  • omni_post_pipeline.py
  • omni_post_scheduler.py
  • bilibili.json · omni_post_selectors/
  • douyin.json · omni_post_selectors/
  • kuaishou.json · omni_post_selectors/
  • rednote.json · omni_post_selectors/
  • tiktok.json · omni_post_selectors/
  • wechat_channels.json · omni_post_selectors/
  • wechat_mp.json · omni_post_selectors/
  • weibo.json · omni_post_selectors/
  • youtube.json · omni_post_selectors/
  • zhihu.json · omni_post_selectors/
  • omni_post_selfheal.py
  • omni_post_system_deps.py
  • omni_post_task_manager.py
  • plugin.json
  • plugin.py
  • requirements.txt
  • __init__.py · tests/
  • conftest.py · tests/
  • test_assets.py · tests/
  • test_calendar_templates.py · tests/
  • test_cookies.py · tests/
  • test_engine_mp.py · tests/
  • test_engine_redact.py · tests/
  • test_mdrm.py · tests/
  • test_models.py · tests/
  • test_pipeline_mdrm.py · tests/
  • test_receipt.py · tests/
  • test_retry.py · tests/
  • test_scheduler.py · tests/
  • test_selectors.py · tests/
  • test_selfheal.py · tests/
  • test_task_manager.py · tests/
  • bootstrap.js · ui/dist/_assets/
  • i18n.js · ui/dist/_assets/
  • icons.js · ui/dist/_assets/
  • markdown-mini.js · ui/dist/_assets/
  • styles.css · ui/dist/_assets/
  • icon.svg · ui/dist/
  • index.html · ui/dist/
  • omni-post-brand.svg · ui/dist/
  • …and 1 more

SKILL.md (first lines)

# omni-post · Cursor Skill Card

> 一线插件。一次创作 → N 平台 × M 账号 → 统一任务/截图/秒传归档。

## 1 · 何时触发我

代理在用户出现以下意图时**优先**调用 omni-post 的工具,而不是让用户
去平台 UI 手动上传:

- "这条视频同时发抖音、小红书、B 站"
- "帮我把这篇图文分发到小红书和微博"
- "明天上午 10 点 3 个账号定时发这条视频"
- "这条素材我已经发过一次了,能不能秒传归档并回填 publish_receipt 给
  idea-research"

**不**应触发 omni-post:

- 仅生成内容,不发布 → 调 `avatar-studio` / `seedance-video` /
  `tongyi-image`
- 仅抓平台舆情/选题 → 调 `idea-research`
- 需要跨平台实名认证 / 人工审核绕过 → **拒绝**

## 2 · 工具清单(0.2.0 发布版,14 个)

| 工具名 | 用途 | 关键参数 |
|---|---|---|
| `omni_post_publish` | 创建一组发布任务(N 平台 × M 账号扇出) | `asset_id`, `payload`, `platforms[]`, `account_ids[]`, `client_trace_id` |
| `omni_post_schedule` | 定时发布(Sprint 3 启用) | `tasks[]`, `run_at`, `timezone` |
| `omni_post_retry_task` | 重投失败任务,继承原 `client_trace_id` | `task_id` |
| `omni_post_cancel_task` | 取消 pending / running 任务 | `task_id` |
| `omni_post_get_task` | 查询单任务状态 | `task_id` |
| `omni_post_list_tasks` | 过滤任务列表 | `platform?`, `status?`, `limit?` |
| `omni_post_ingest_asset` | 由其他插件(例如 avatar-studio)直接入库一段素材 | `kind`, `storage_path`, `md5?`, `tags[]?` |
| `omni_post_list_assets` | 素材库检索 | `kind?`, `tag?`, `limit?` |
| `omni_post_account_bind` | 绑定一个平台账号(Cookie 注入或 MultiPost 引导) | `platform`, `engine`, `credentials` |
| `omni_post_account_list` | 列出当前账号矩阵及健康状态 | `platform?` |
| `omni_post_account_unbind` | 解绑账号并擦除 Cookie | `account_id` |
| `omni_post_selectors_probe` | 自愈探针:给定 `platform` 单跑一次 | `platform` |
| `omni_post_settings_get` | 读取插件配置 | — |
| `omni_post_settings_update` | 更新插件配置 | 字段白名单见 `SettingsUpdateRequest` |

## 3 · 关键输入 schema

所有 `POST` body 都用 Pydantic v2 + `extra="forbid"` 严格校验(沿用
Pixelle C6,不会静默丢字段)。以 `omni_post_publish` 为例:

```jsonc
{
  "asset_id": "ast_...",
  "payload": {
    "title": "今天在峨眉山看到的……",
    "description": "附带 Hashtag 说明",
    "tags": ["峨眉山", "旅行"],
    "cover_asset_id": "ast_...?",
    "topic": "旅行"
  },
  "platforms": ["douyin", "rednote", "bilibili"],
  "account_ids": ["acc_...", "acc_..."],
  "client_trace_id": "2026-04-24T10:00:00Z-douyin-峨眉山"
}
```

返回 `{"task_ids": ["tsk_...", ...]}`;后续状态走 SSE
`plugin:omni-post:task_update` 推送,UI 端 Tasks Tab 自动更新。

## 4 · 错误码速查

13 类 `ErrorKind`(9 标准 + 4 omni-post 专属),每条都有中英 `ErrorHint`:

| kind | 典型触发 | 代理处置 |
|---|---|---|
| `network` / `timeout` | 上传流量抖动、渲染超时 | 指数退避重试 |
| `rate_limit` | 插件自身排队过于激进 | 让 pipeline 回退 |
| `rate_limited_by_platform` | 平台实际限频 | 冷却 10 min 再试 |
| `auth` / `cookie_expired` | Cookie 失效或首次登录 | 引导重新绑定 |
| `moderation` / `content_moderated` | 平台审核驳回 | **不重试**,回传给用户改稿 |
| `not_found` | 账号/素材消失 | 结束任务 |
| `quota` | 单账号当日已达上限 | 推迟到次日窗口 |
| `dependency` | 缺 ffmpeg / ffprobe / Playwright 浏览器 | 引导装依赖 |
| `platform_breaking_change` | 选择器自愈命中率跌破阈值 | 告警 + 拉 MultiPost Compat 兜底 |
| `unknown` | 其它 | 保留截图等待人工 |

## 5 · 与其它插件的握手

omni-post 是 Asset Bus 上的**双向节点**:

- 作为消费者:收 `avatar-studio` / `seedance-video` / `tongyi-image`
  产出的素材,通过 `omni_post_ingest_asset` 秒传入库。
- 作为生产者:发布成功后推 `publish_receipt` 到 Asset Bus,`shared_with=["*"]`。
  `metadata` 严格遵循:`{platform, account_id, asset_id, published_url,
  published_at, task_id, engine}`。`idea-research` / `fin-pulse` 按
  `asset_kind="publish_receipt"` 订阅即可。

## 6 · 边界与限制

- 不代理登录。Cookie 必须由用户在本机浏览器手动拷贝或通过 MultiPost
  扩展注入。
- 不代办实名 / 绑卡 / 解封。
- S1 仅开放 3 平台选择器;S2 进 7 个;S3 补定时与矩阵模式;S4 落自愈
  与 MDRM。
- 单 host 单 Chromium;如需更大并发应考虑多实例部署,而不是在本插件里
  再起多个 playwright 进程(会抢 CPU / GPU)。

## 7.5 · S4 专属能力

- **双引擎选择**:`settings.engine = "auto" | "pw" | "mp"`。`auto` 探测到
  MultiPost 就走扩展(复用日常浏览器登录态),否则回落 Playwright。
- **MultiPostGuide**:Settings Tab 顶部,3s `postMessage` PING 检测扩展、
  版本号、信任域;不满足时给出 Chrome Web Store / GitHub 安装链接和
  配置指引。
- **选择器自愈**:`SelfHealTicker` 每 24h 扫一次 `selectors_health`;
  低于 60% 命中率且 24h 内未告警过的平台会广播 `selector_alert`
  UI 事件,由任一 IM 桥插件订阅转发。
- **MDRM 写入**:每次终态(成功或失败)通过 `OmniPostMdrmAdapter` 写
  一条 `SemanticMemory(type=experience, subject="omni-post:publish:{platform}:{account}", tags=[platform:…,account:…,hour:…,weekday:…,engine:…,outcome:…])`。
  无 `memory.write` 权限时返回 `{"status": "skipped"}`,绝不阻塞发布。

## 7 · 测试入口

From LZM163126lzm/openakita, AGPL-3.0.

More from LZM163126lzm/openakita

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jun 18, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
AGPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from LZM163126lzm

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get omni-post running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying omni-post?

CallGet help
Cite this page

omni-post skill. Agent Mart. https://agentmart.dev/skills/lzm163126lzm-omni-post (last updated 2026-10-24)