返回顶部
B

BlogForge — End-to-End Blog Post Generator博客锻造器

A comprehensive AI-powered blog post generator that creates SEO-optimized, human-sounding content and optionally publishes directly to Medium, WordPress, or Ghost. Supports Anthropic Claude, OpenAI GPT, and local Ollama models. Includes built-in readability analysis, humanization post-processing, and multi-platform publishing.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
346
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

BlogForge — End-to-End Blog Post Generator

BlogForge — 端到端博客文章生成器

BlogForge 是一个面向AI辅助智能体的技能,能够根据简单的主题、可选关键词和期望的语气,生成完整且经过SEO优化的博客文章。它通过结构化提示、可读性分析、人性化后处理以及直接发布到主流博客平台,将大语言模型生成能力整合为一体。

功能特性

  • - 多提供商大语言模型支持:Anthropic Claude、OpenAI GPT 以及本地 Ollama 模型
  • SEO优化:关键词密度控制、元描述生成、结构化标题
  • 可读性分析:Flesch-Kincaid 评分、句子/单词/音节统计
  • 人性化处理流水线:缩略词注入、句子节奏变化、段落重构
  • 直接发布:通过单一方法调用即可将草稿发布到 Medium、WordPress 或 Ghost
  • 零外部依赖:仅使用 Node.js 内置的 https、http 和 crypto 模块

方法

generatePost(options)

生成一篇完整的博客文章。

参数:

参数类型必填默认值描述
topicstring博客文章主题
keywords
string[] | ❌ | [] | 目标SEO关键词 |
| tone | string | ❌ | conversational | 写作语气(例如 professional、casual、technical) |
| wordCount | number | ❌ | 1500 | 目标字数 |
| model | string | ❌ | anthropic/claude-sonnet-4-20250514 | 带提供商前缀的模型标识符 |
| humanize | boolean | ❌ | true | 应用人性化后处理 |

返回: { content, title, meta, readability, wordCount }

示例:

javascript
const forge = new BlogForge();

const post = await forge.generatePost({
topic: 2025年远程工作的未来,
keywords: [远程工作, 混合办公, 生产力],
tone: conversational,
wordCount: 1800,
model: anthropic/claude-sonnet-4-20250514
});

console.log(post.title);
// 为什么远程工作不会消失——以及接下来会发生什么

console.log(post.readability);
// { fleschKincaid: 8.2, avgSentenceLength: 16.4, avgSyllablesPerWord: 1.4 }

console.log(post.meta);
// 探索2025年远程工作的未来...

使用 OpenAI 模型:

javascript
const post = await forge.generatePost({
topic: 容器园艺初学者指南,
keywords: [容器园艺, 小空间, 城市花园],
tone: friendly,
model: openai/gpt-4o
});

使用本地 Ollama 模型:

javascript
const post = await forge.generatePost({
topic: 理解 Rust 的所有权模型,
tone: technical,
model: ollama/llama3
});



analyzeReadability(text)

分析任意文本的可读性。

参数:

参数类型必填描述
textstring待分析的文本

返回: { fleschKincaid, avgSentenceLength, avgSyllablesPerWord }

示例:

javascript
const forge = new BlogForge();

const stats = forge.analyzeReadability(
短句有效。它们简洁有力。而长句则往往在多个从句和观点之间迂回,最终才得出结论。
);

console.log(stats);
// { fleschKincaid: 7.1, avgSentenceLength: 12.3, avgSyllablesPerWord: 1.5 }



publishPost(options)

将生成的(或任意)博客文章发布到 Medium、WordPress 或 Ghost。

参数:

参数类型必填描述
contentstringMarkdown 格式的博客文章内容
title
string | ✅ | 文章标题 |
| platform | string | ✅ | medium、wordpress 或 ghost |
| credentials | object | ✅ | 平台特定的凭据(见下方) |

各平台凭据:

  • - Medium:{ token: your-integration-token }
  • WordPress:{ url: https://yoursite.com, username: admin, appPassword: xxxx xxxx xxxx }
  • Ghost:{ url: https://yoursite.com, adminApiKey: id:secret }

返回: { success, url, id, platform }

示例 — Medium:

javascript
const forge = new BlogForge();

const post = await forge.generatePost({
topic: 构建SaaS的10个教训,
tone: personal
});

const result = await forge.publishPost({
content: post.content,
title: post.title,
platform: medium,
credentials: {
token: process.env.MEDIUMINTEGRATIONTOKEN
}
});

console.log(result);
// { success: true, url: https://medium.com/@you/10-lessons-abc123, id: abc123, platform: medium }

示例 — WordPress:

javascript
const result = await forge.publishPost({
content: post.content,
title: post.title,
platform: wordpress,
credentials: {
url: process.env.WP_URL,
username: process.env.WP_USERNAME,
appPassword: process.env.WPAPPPASSWORD
}
});

示例 — Ghost:

javascript
const result = await forge.publishPost({
content: post.content,
title: post.title,
platform: ghost,
credentials: {
url: process.env.GHOST_URL,
adminApiKey: process.env.GHOSTADMINAPI_KEY
}
});



完整端到端示例

javascript
const BlogForge = require(./blogforge);
const forge = new BlogForge();

async function createAndPublish() {
// 生成文章
const post = await forge.generatePost({
topic: 为什么每个开发者都应该在2025年学习SQL,
keywords: [SQL, 数据库, 开发者技能, 后端],
tone: conversational,
wordCount: 2000,
model: anthropic/claude-sonnet-4-20250514,
humanize: true
});

console.log(已生成: ${post.title} (${post.wordCount} 字));
console.log(可读性: Flesch-Kincaid 等级 ${post.readability.fleschKincaid});

// 以草稿形式发布到 Medium
const result = await forge.publishPost({
content: post.content,
title: post.title,
platform: medium,
credentials: { token: process.env.MEDIUMINTEGRATIONTOKEN }
});

console.log(已发布草稿: ${result.url});
}

createAndPublish().catch(console.error);



人性化处理流水线

当 humanize: true(默认值)时,BlogForge 会应用以下后处理步骤,使AI生成的文本听起来更自然:

  1. 1. 缩略词注入:概率性地将正式表达(is not → isnt,do not → dont 等)转换约60%的时间,以实现自然变化
  2. 句子节奏变化:检测段落中所有句子长度相似的情况,并拆分其中一个句子以创造多样性
  3. 段落节奏变化:发现连续3个及以上字符数相似的段落时,在句子边界处拆分其中一个段落
  4. 过渡短语:偶尔在段落前添加自然的过渡语(关键在于:、简单来说:、在实践中,)

支持的模型

提供商前缀示例需要API密钥
Anthropicanthropic/anthropic/claude-sonnet-4-20250514是(ANTHROPICAPIKEY)
OpenAI
openai/ | openai/gpt-4o | 是(OPENAIAPIKEY) | | Ollama | ollama/ | ollama/llama3 | 否(本地) |

更新日志

v1.0.3

  • - 移除了编造统计数据的指令;生成的数据点现在标记为示意性内容

v1

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 blog-forge-1776185659 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 blog-forge-1776185659 技能

通过命令行安装

skillhub install blog-forge-1776185659

下载

⬇ 下载 BlogForge — End-to-End Blog Post Generator v1.0.3(免费)

文件大小: 32.84 KB | 发布时间: 2026-4-15 13:58

v1.0.3 最新 2026-4-15 13:58
- Updated version to 1.0.3
- Documentation improvements in SKILL.md
- No functional or API changes detected

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部