@captain_z/lyra
v1.0.2
Published
Universal content generation framework with plugin-based architecture
Maintainers
Readme
Lyra
Lyra 是一个面向 Markdown 内容生产的 CLI 工具,用于生成周报内容、组装文章 Prompt,并治理 frontmatter 元数据(尤其是 tags)。
包名:@captain_z/lyra
命令:lyra
目录
功能
- 模板化内容生成(
weekly等) - 通过
lyra article/lyra prompt组装 Prompt - 使用
lyra schedule执行调度 - 使用
lyra check-images检查图片域名 - 使用
lyra check-metadata检查并整理元数据与 tags
安装
# 全局安装
npm install -g @captain_z/lyra
# 本地安装
npm install @captain_z/lyra快速开始
# 1) 初始化配置
lyra init
# 2) 查看模板
lyra list
# 3) 预览生成(不写文件)
lyra weekly --dry-run
# 4) 真实生成
lyra weekly命令参考
| 命令 | 别名 | 说明 |
|---|---|---|
| lyra | - | 启动交互模式 |
| lyra <template> | - | 按模板快速生成 |
| lyra create [template] | lyra c | 显式生成命令 |
| lyra list | lyra ls | 列出模板 |
| lyra init | - | 初始化配置 |
| lyra config | - | 查看/验证配置 |
| lyra schedule | lyra sched | 启动调度器 |
| lyra check-images | lyra check-img | 图片域名白名单检查 |
| lyra check-metadata | lyra check-meta | 元数据与 tags 整理 |
| lyra article | lyra a | 文章 Prompt 组装 |
| lyra prompt | lyra p | article 的兼容别名 |
元数据与标签治理
lyra check-metadata 同时支持目录与单文件,并支持自动去重和 AI 补全标签。
# 目录检查(不改文件)
lyra check-metadata --path ../your-notes-repo
# 自动整理 tags
lyra check-metadata --path ../your-notes-repo --fix-tags
# 单文件整理
lyra check-metadata --path ./Input/Notes/today.md --fix-tags
# 本地清洗后,再用 AI 补全 tags
lyra check-metadata --path ../your-notes-repo --fix-tags --ai-tags --provider openai常用参数:
--path <path>:目录或单个 Markdown 文件--fix-tags:去重、trim、分隔符清洗--ai-tags:按标题和正文补全更合适 tags--max-tags <n>:每篇最大 tags 数(默认8)--min-tags <n>:每篇最小 tags 数(默认1)--dry-run:只预览不落盘
Provider 说明:
openai:需要OPENAI_API_KEYanthropic:需要ANTHROPIC_API_KEYlocal:本地模型服务
配置发现规则
CLI 会从当前目录向上查找:
.lyrarc.lyrarc.json.lyrarc.yaml.lyrarc.yml.lyrarc.js.lyrarc.cjs.lyrarc.mjslyra.config.jsonlyra.config.jslyra.config.cjslyra.config.mjs
最小配置示例
{
"global": {
"logLevel": "info",
"defaultTemplate": "weekly"
},
"templates": {
"weekly": {
"enabled": true,
"template": {
"path": "./templates/weekly.hbs"
},
"sources": {
"articles": "./articles",
"tools": "./tools",
"notes": "./notes"
},
"output": {
"path": "./output",
"filename": "Weekly-{{issueNumber}}.md"
},
"content": {
"articles": { "topN": 10, "minRating": 0 },
"tools": { "perCategory": 3 },
"notes": { "groupBy": "none" }
}
}
}
}版本策略
使用语义化版本(MAJOR.MINOR.PATCH):
MAJOR:不兼容变更MINOR:向后兼容功能PATCH:向后兼容修复
建议每次发布至少递增 PATCH。
故障排查
npm publish 在 prepublishOnly 失败
若在 npm run build 阶段出现 EPERM(dist 不可写),先清理并重建:
rm -rf dist
npm run build找不到配置文件
lyra init输出内容不符合预期
lyra weekly --dry-run --verbose文档
许可证
MIT
