Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
写文章并发布到 CSDN。使用浏览器自动化 + 扫码登录。支持通过 Telegram 发送二维码,无需 VNC。集成 blog-writer 写作方法论,产出高质量、有个人风格的技术文章。 --- name: csdn-publisher version: 2.3.0 description: 写文章并发布到 CSDN。使用浏览器自动化 + 扫码登录。支持通过 Telegram 发送二维码,无需 VNC。集成 blog-writer 写作方法论,产出高质量、有个人风格的技术文章。 --- CSDN Publisher 通过浏览器自动化发布文章到 CSDN。支持扫码登录,二维码可通过 Telegram 发送。 **v2.0 新增**:集成 blog-writer 写作方法论,自动产出高质量、有个人风格的技术文章。 --- 🎯 核心工作流(v2.0) --- ✍️ 内容创作阶段(核心) 触发条件 当用户请求写文章时,**必须先完成内容创作**,再进行发布。 触发词: - "帮我写篇文章" - "发布到 CSDN" - "写一篇关于 XXX 的博客" - 提供主题、素材、链接等 写作流程 Step 1: 收集信息 向用 Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
csdn-publisher is best for general automation workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
写文章并发布到 CSDN。使用浏览器自动化 + 扫码登录。支持通过 Telegram 发送二维码,无需 VNC。集成 blog-writer 写作方法论,产出高质量、有个人风格的技术文章。 --- name: csdn-publisher version: 2.3.0 description: 写文章并发布到 CSDN。使用浏览器自动化 + 扫码登录。支持通过 Telegram 发送二维码,无需 VNC。集成 blog-writer 写作方法论,产出高质量、有个人风格的技术文章。 --- CSDN Publisher 通过浏览器自动化发布文章到 CSDN。支持扫码登录,二维码可通过 Telegram 发送。 **v2.0 新增**:集成 blog-writer 写作方法论,自动产出高质量、有个人风格的技术文章。 --- 🎯 核心工作流(v2.0) --- ✍️ 内容创作阶段(核心) 触发条件 当用户请求写文章时,**必须先完成内容创作**,再进行发布。 触发词: - "帮我写篇文章" - "发布到 CSDN" - "写一篇关于 XXX 的博客" - 提供主题、素材、链接等 写作流程 Step 1: 收集信息 向用
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 25, 2026
Vendor
C4chuan
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/c4chuan/csdn-publisher.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
C4chuan
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
text
1. 用户说"帮我发篇 CSDN 文章"或提供主题/素材 2. 【内容创作阶段】调用 blog-writer 写作方法论 ├─ 阅读 style-guide-cn.md 校准写作风格 ├─ 参考 examples/ 目录中的示例文章 ├─ 整合用户提供的素材/研究材料 └─ 产出初稿,用户确认后继续 3. 检查登录状态 ├─ 已登录 → 继续 └─ 未登录 → 扫码登录流程 4. 启动浏览器,打开编辑器 5. 注入标题和内容 6. 添加标签,点击发布 7. 验证发布成功,返回文章链接 8. 【可选】用户确认终稿后,保存到 examples/ 目录
markdown
# [直接、有态度的标题] [开头:1-2句话抛出核心观点或问题] ### [小标题1:问题/背景] [2-3个短段落] ### [小标题2:过程/分析] [具体细节、代码、截图] ### [小标题3:解决方案/结论] [实操步骤或观点总结] ### 写在最后 [个人感想、行动号召、或前瞻性思考]
bash
cd /tmp && curl -sL \ "https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm" \ -o chrome.rpm && yum install -y ./chrome.rpm
bash
pip install playwright -i https://pypi.org/simple/ playwright install chromium
bash
# 通过 gateway config.patch 添加:
{"browser": {"headless": true, "noSandbox": true}}bash
cd /root/.openclaw/workspace/skills/csdn-publisher nohup python scripts/login.py login --timeout 300 > /tmp/csdn-login.log 2>&1 &
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
写文章并发布到 CSDN。使用浏览器自动化 + 扫码登录。支持通过 Telegram 发送二维码,无需 VNC。集成 blog-writer 写作方法论,产出高质量、有个人风格的技术文章。 --- name: csdn-publisher version: 2.3.0 description: 写文章并发布到 CSDN。使用浏览器自动化 + 扫码登录。支持通过 Telegram 发送二维码,无需 VNC。集成 blog-writer 写作方法论,产出高质量、有个人风格的技术文章。 --- CSDN Publisher 通过浏览器自动化发布文章到 CSDN。支持扫码登录,二维码可通过 Telegram 发送。 **v2.0 新增**:集成 blog-writer 写作方法论,自动产出高质量、有个人风格的技术文章。 --- 🎯 核心工作流(v2.0) --- ✍️ 内容创作阶段(核心) 触发条件 当用户请求写文章时,**必须先完成内容创作**,再进行发布。 触发词: - "帮我写篇文章" - "发布到 CSDN" - "写一篇关于 XXX 的博客" - 提供主题、素材、链接等 写作流程 Step 1: 收集信息 向用
通过浏览器自动化发布文章到 CSDN。支持扫码登录,二维码可通过 Telegram 发送。
v2.0 新增:集成 blog-writer 写作方法论,自动产出高质量、有个人风格的技术文章。
1. 用户说"帮我发篇 CSDN 文章"或提供主题/素材
2. 【内容创作阶段】调用 blog-writer 写作方法论
├─ 阅读 style-guide-cn.md 校准写作风格
├─ 参考 examples/ 目录中的示例文章
├─ 整合用户提供的素材/研究材料
└─ 产出初稿,用户确认后继续
3. 检查登录状态
├─ 已登录 → 继续
└─ 未登录 → 扫码登录流程
4. 启动浏览器,打开编辑器
5. 注入标题和内容
6. 添加标签,点击发布
7. 验证发布成功,返回文章链接
8. 【可选】用户确认终稿后,保存到 examples/ 目录
当用户请求写文章时,必须先完成内容创作,再进行发布。
触发词:
向用户确认:
必须阅读 style-guide-cn.md 校准写作风格。
核心原则:
阅读 examples/ 目录中的示例文章,感受目标风格。
按照风格指南撰写,完成后展示给用户确认。
根据用户反馈修改,直到用户满意。
详见 style-guide-cn.md,核心要点:
用强有力的观点或个人经历开场:
✅ 好的开头:
❌ 避免的开头:
# [直接、有态度的标题]
[开头:1-2句话抛出核心观点或问题]
### [小标题1:问题/背景]
[2-3个短段落]
### [小标题2:过程/分析]
[具体细节、代码、截图]
### [小标题3:解决方案/结论]
[实操步骤或观点总结]
### 写在最后
[个人感想、行动号召、或前瞻性思考]
用这些:
避免这些:
写新闻汇总、行业日报等资讯类文章时:
[新闻标题](原文URL) 或在新闻末尾标注 👉 [原文链接](URL)发布新闻汇总类文章时,必须先去重,避免同一条新闻反复出现。
scripts/notion-query-recent.sh 14 获取最近 14 天的 Notion 数据库记录以下算同一条新闻:
| 脚本 | 用途 |
|------|------|
| scripts/notion-query-recent.sh [天数] | 查询最近 N 天的已有新闻,输出 标题 \| URL \| 日期 |
| scripts/notion-check-duplicate.sh "标题" ["URL"] | 精确检查单条新闻是否重复,返回 duplicate 或 new |
⚠️ 脚本中的 Notion API Key 和 Database ID 需要根据实际环境配置。
cd /tmp && curl -sL \
"https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm" \
-o chrome.rpm && yum install -y ./chrome.rpm
pip install playwright -i https://pypi.org/simple/
playwright install chromium
需要 headless + noSandbox 模式(服务器无显示器):
# 通过 gateway config.patch 添加:
{"browser": {"headless": true, "noSandbox": true}}
cd /root/.openclaw/workspace/skills/csdn-publisher
nohup python scripts/login.py login --timeout 300 > /tmp/csdn-login.log 2>&1 &
ls ~/.openclaw/workspace/credentials/csdn-qr.png
message(action="send", filePath="~/.openclaw/workspace/credentials/csdn-qr.png", target="用户ID", caption="请用 CSDN App 扫码登录")
cat /tmp/csdn-login.log
python scripts/login.py check
browser action=start profile=openclaw
browser action=navigate targetUrl=https://editor.csdn.net/md
browser action=snapshot
检查 snapshot 结果:
textbox "请输入文章标题" → 已登录 ✅登录 或 扫码 → 需要扫码登录browser action=navigate targetUrl=https://passport.csdn.net/login
browser action=screenshot # 截取二维码发给用户
使用 browser 工具的 type 操作:
browser action=snapshot → 找到标题输入框的 ref(通常是 textbox "请输入文章标题")
browser action=act request={kind: "click", ref: "<标题ref>"}
browser action=act request={kind: "type", ref: "<标题ref>", text: "你的标题"}
CSDN 使用 cledit 编辑器(contentEditable),不能用以下方法:
browser evaluate 嵌入长字符串 → 参数长度限制document.execCommand('insertText') → 换行符不被 cledit 识别navigator.clipboard → headless Chrome 无权限✅ 正确方案:使用 scripts/inject-content.js 通过 CDP 注入
# 前置:确保 ws 模块已安装
cd /root/.openclaw/workspace/skills/csdn-publisher
npm install ws 2>/dev/null
# 注入内容(自动跳过 frontmatter)
node scripts/inject-content.js /tmp/csdn-article-YYYY-MM-DD.md
脚本原理:
/json 找到 CSDN 编辑器 tabRuntime.evaluate + JSON.stringify(content) 将内容存入 window 变量(绕过长度限制)editor.textContent = content + dispatchEvent('input') 注入(cledit 兼容)注意: 运行脚本前必须先用 browser 工具打开 CSDN 编辑器页面。
browser action=snapshot → 找到"发布文章"按钮的 ref
browser action=act request={kind: "click", ref: "<发布按钮ref>"}
browser action=snapshot → 检查发布对话框
- 确认标签已添加(必填)
- 文章类型选"原创"
browser action=act request={kind: "click", ref: "<对话框中的发布按钮ref>"}
browser action=snapshot → 验证"发布成功!正在审核中"
浏览器自动化容易因网络、服务中断等原因失败。以下策略确保内容不丢失、发布可重试。
内容创作是昂贵的(搜索+写作),发布是廉价的(浏览器操作)。必须先把内容落盘,再尝试发布。
在尝试浏览器发布之前,必须将文章保存到本地文件:
/tmp/csdn-article-YYYY-MM-DD.md
文件格式:
---
title: 文章标题
date: YYYY-MM-DD
tags: [标签1, 标签2]
status: draft | published
csdn_url: (发布成功后回填)
---
文章正文 Markdown 内容...
这样即使发布失败,文章内容也不会丢失,可以随时重试。
在打开 CSDN 编辑器之前,先确认浏览器服务可用:
1. browser action=start profile=openclaw
2. browser action=snapshot profile=openclaw
如果 start 或 snapshot 返回错误:
如果发布过程中浏览器操作失败:
1. browser action=stop profile=openclaw # 关闭浏览器
2. 等待 5 秒
3. browser action=start profile=openclaw # 重启浏览器
4. 重新执行发布流程(从打开编辑器开始)
5. 只重试 1 次,避免无限循环
注意:只重试发布步骤,不重跑内容创作。 从本地文件 /tmp/csdn-article-YYYY-MM-DD.md 读取已保存的内容。
如果重试后仍然失败:
status: failed/tmp/csdn-article-YYYY-MM-DD.md,可以手动触发重新发布内容创作完成
↓
保存到 /tmp/csdn-article-YYYY-MM-DD.md ← 落盘
↓
browser start + snapshot ← 健康检查
↓ (失败 → 跳到兜底通知)
打开编辑器 → 注入内容 → 发布
↓ (失败)
browser stop → 等 5s → browser start ← 重试
↓
重新打开编辑器 → 注入内容 → 发布
↓ (仍然失败)
发送失败通知 + 文章保存路径 ← 兜底
csdn-publisher/
├── SKILL.md # 本文档
├── style-guide-cn.md # 中文写作风格指南
├── examples/ # 示例文章库
│ └── *.md # 示例文章(YYYY-MM-DD-slug.md)
├── scripts/
│ ├── login.py # 扫码登录脚本
│ ├── inject-content.js # CDP 内容注入脚本(核心)
│ ├── notion-query-recent.sh # 查询最近N天已有新闻
│ └── notion-check-duplicate.sh # 精确去重检查
当用户确认文章为终稿时,保存到 examples/ 目录:
examples/YYYY-MM-DD-slug-title.md
例如:examples/2025-02-02-gui-agent-overview.md
本技能依赖 blog-writer 的写作方法论:
skills/blog-writer/
├── SKILL.md # 写作工作流
├── style-guide.md # 英文风格指南(参考)
└── *.md # 示例文章
在撰写文章时,可参考 blog-writer 的:
| 坑 | 原因 | 解决方案 |
|----|------|----------|
| Playwright 安装失败 | 国内镜像源没有 | pip install playwright -i https://pypi.org/simple/ |
| 进程被 kill | OpenClaw 超时机制 | 用 nohup 后台运行 |
| 二维码定位失败 | 选择器不对 | 用 img[src*="qrcode"] |
| 浏览器启动失败 | 服务器无显示器 | 配置 headless: true, noSandbox: true |
| Cookie 注入无效 | domain 设置错误 | 必须设置 domain=.csdn.net |
| 标签未添加 | 必填项 | 发布前必须添加至少一个标签 |
~/.openclaw/workspace/credentials/csdn-cookie.json # Playwright storage_state 格式
~/.openclaw/workspace/credentials/csdn-cookie.txt # 简单字符串格式(兼容)
~/.openclaw/workspace/credentials/csdn-qr.png # 登录二维码截图
browser 工具使用 Chrome 的 user-data 目录,登录状态是持久化的:
/root/.openclaw/browser/openclaw/user-datapython scripts/login.py setup-notify \
--bot-token "YOUR_BOT_TOKEN" \
--chat-id "YOUR_CHAT_ID"
nohup python scripts/login.py login --timeout 300 --notify > /tmp/csdn-login.log 2>&1 &
scripts/login.pyMachine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/snapshot"
curl -s "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/contract"
curl -s "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-17T02:14:54.678Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "C4chuan",
"href": "https://github.com/c4chuan/csdn-publisher",
"sourceUrl": "https://github.com/c4chuan/csdn-publisher",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:23:44.217Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T02:23:44.217Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/c4chuan-csdn-publisher/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to csdn-publisher and adjacent AI workflows.