@begryp/博客自定义-核心
框架-不可知域引擎,用于自主博客生成,质量门评价,分流,并进行舞台检查.
特征
- Zod域合同: 租户、题目、草稿、质量评估报告和跑步的纯粹计划定义.
- LLM 提供者适配器数字 :
OpenAIClient, (中文(简体) ),AnthropicClient, (中文(简体) ),GoogleGeminiClient,以及OpenAICompatibleClient执行LLMClient带有瞬态- error 重试( 最大 3, 指数回放) 、 Zod- 验证结构输出, 和无效输出重试, 并附加于 提示的验证错误 。 API 密钥从未被登录或包含在错误消息中 . LLMDrafter: 通过版本提示编辑和修改来自@begryp/blog-automation-prompts,对DraftPostSchema。 。 。 .TopicSource执行情况数字 :LLMTopicSource(通过LLM提出题目,水合物满分)Topic目标)和StaticTopicSource(东道国提供的provided编号 :import模式).createEngineFromSettings: 选择提供者客户端、构建起草者/专题源并返回已配置的一通电话接线厂AutomationEngine从租户简介和宿主适配器.- 纯粹质量保证规则登记处:决定性SSO规则(元限制,被禁短语,备选案文,内部链接),GEO规则(摘要,引用,直接回答)和风险规则(YMYL医疗索赔).
- 专题重复:Jaccard相似性引擎,有严格的租户隔离(拒绝阈值)和跨租户重复打旗.
- 阶段检查 Orchestrator: 有暂停/重置,自动修正回路(最大 1) 和 YMYL 安全执行功能的Idepotent 状态机器.
- 安全变量:以代码和计划执行(1个员额/日上限、YMYL审查任务、关键参考安全).
使用量
快速接线( 建议)
import { createEngineFromSettings } from '@begryp/blog-automation-core';
const engine = createEngineFromSettings({
tenant, // TenantProfile
apiKey: await keyVault.resolveKey(tenant.llm.keyRef),
publisher: payloadPublisher, // Publisher port adapter
runStore: payloadRunStore, // RunStore port adapter
keyVault: payloadKeyVault // KeyVault port adapter
});
const run = await engine.runPipeline(tenant);
手动接线
import {
AnthropicClient,
LLMDrafter,
LLMTopicSource,
DefaultClock,
DefaultIdGenerator,
DefaultQAGate,
AutomationEngine
} from '@begryp/blog-automation-core';
const idGen = new DefaultIdGenerator();
const llm = new AnthropicClient({ apiKey, model: 'claude-sonnet-4-20250514' });
const engine = new AutomationEngine({
topicSource: new LLMTopicSource({ llm, idGen }),
drafter: new LLMDrafter({ llm }),
qaGate: new DefaultQAGate(),
publisher,
runStore,
keyVault,
clock: new DefaultClock(),
idGen
});