关于 Contentrain Ai
Contentrain AI 为团队和 AI Agent 提供基于 Git 的内容层,用于从代码库提取、整理、审核和交付内容。其 MCP 工具执行模式与验证规则,内容变更经 Git 工作流审核,并以可移植的 JSON 和 Markdown 存储。
主要功能
- 01将硬编码文本提取为结构化内容
- 02四种内容类型及字段验证
- 03通过 Git 分支审核变更
- 04通过 stdio 或 HTTP 提供 MCP 工具
- 05本地界面浏览内容与验证结果
- 06生成类型化 TypeScript SDK
适用场景
- 01将应用界面文本转换为可翻译内容
- 02通过 Git 审核 Agent 修改的内容
- 03在应用与文档间共享结构化内容
- 04交付前验证内容
MCP 相关
项目通过 stdio 或 HTTP 提供 27 个 MCP 工具,支持本地 worktree、GitHub 和 GitLab。Agent 可用这些工具管理结构化内容、验证及基于 Git 的审核流程。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Contentrain AI
网站 · 文档 · Discord · Twitter · LinkedIn
从代码库中提取、管理并交付结构化内容。
Contentrain 帮助团队将硬编码的 UI 文本、文档和结构化内容转化为可管理、可审核的内容层。Agent 可以提取、创建、翻译和更新内容,而 Contentrain 会强制执行架构、Git 审核和可移植的文件输出。
Agent extracts or updates content → Contentrain standardizes → Human reviews → Any platform consumes
30 秒快速上手
npx contentrain init # create .contentrain/ workspace
npx contentrain serve # open the local review UI
就这么简单。现在,你已经拥有一个包含模型、验证、审核分支和本地 UI 的内容工作区,无需账户、云服务或专有内容格式。
从这里开始:
Contentrain 的用途
- 从现有应用中挽救硬编码字符串,并将其转化为结构化、可翻译的内容
- 为新项目构建真正的内容层,而不是把文案散落在各个组件中
- 通过 Git 中的纯 JSON 和 Markdown,在 Web、文档、移动端和后端系统中提供相同的内容
它不是什么
- 不是 AI 写作应用
- 不是适用于所有团队的数据库优先或仪表板优先的 CMS 替代品
- 不是会将你的应用锁定在某个平台上的专有内容运行时
效果展示
之前: 硬编码字符串散落在整个代码库中——没有结构、没有翻译、没有审核。
export default function Hero() {
return (
<section>
<h1>Welcome to our platform</h1>
<p>Start your free trial today</p>
<button>Get Started</button>
</section>
)
}
之后: 内容存放在 .contentrain/ 中,具有类型和结构。源文件使用 i18n 键。
export default function Hero() {
const t = useTranslations()
return (
<section>
<h1>{t('hero.title')}</h1>
<p>{t('hero.subtitle')}</p>
<button>{t('hero.cta')}</button>
</section>
)
}
// .contentrain/content/marketing/hero/en.json
{
"cta": "Get Started",
"subtitle": "Start your free trial today",
"title": "Welcome to our platform"
}
规范化流程会提取字符串、创建模型并修补源文件——整个过程都通过可审核的 Git 分支完成。
这是了解产品最直接的方式:
将代码库中已有的内容混乱局面,转化为可管理、可审核的内容层。
工作原理
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐
│ AI Agent │────▶│ MCP (27 tools) │────▶│ .contentrain/│
│ (decides) │ │ (enforces) │ │ (stores) │
└─────────────┘ └──────────────────┘ └──────┬───────┘
│
┌──────────────────┐ │
│ Review UI / Git │◀─────────────┘
│ (human approves)│
└──────────────────┘
- Agent 决定应有哪些内容,以及内容应从何处获取
- Contentrain 强制执行架构、验证、规范化序列化和 Git 工作流
- 人工 通过分支、PR 或本地 Serve UI 进行审核
- 输出 是纯 JSON 和 Markdown,任何语言或框架都可以使用
4 种内容类型
| 类型 | 存储内容 | 存储方式 | 示例 |
|---|---|---|---|
| Collection | 多条有类型的条目 | JSON 对象映射 | 博客文章、产品、团队 |
| Singleton | 每种语言环境一条条目 | JSON 对象 | Hero 区块、网站配置 |
| Document | Markdown + frontmatter | .md 文件 | 文档、文章、更新日志 |
| Dictionary | 扁平的键值字符串 | JSON 扁平映射 | i18n 翻译、UI 标签 |
提供 27 种字段类型(string、email、url、image、relation、array、object、markdown 等),并内置验证功能。
随处使用你的内容
内容是纯 JSON 和 Markdown。任何语言都可以直接读取。
对于 TypeScript 项目,可以生成类型化 SDK:
npx contentrain generate
import { query, singleton, dictionary, document } from '#contentrain'
const hero = singleton('hero').locale('en').get()
const posts = query('blog-post').locale('en').include('author').all()
const labels = dictionary('ui-labels').locale('tr').get('auth.login')
const article = document('docs').locale('en').bySlug('getting-started')
兼容 Nuxt、Next.js、Astro、SvelteKit、Vue、React、Node、Go、Python、Swift、Flutter 及 20 多种技术栈。
团队选择它的原因
- Git 原生 — 每次写入都会经过工作树隔离和评审分支
- 标准化流程 — 扫描代码库中的硬编码字符串 → 提取 → 创建可用于 i18n 的内容 → 修补源文件
- MCP 引擎 — 提供 27 个工具(22 个核心工具 + 5 个媒体工具),支持 stdio 或 HTTP 传输,可与 Claude Code、Cursor、Windsurf 或任何 MCP 客户端配合使用
- 与提供方无关的引擎 — 同一套工具接口可通过本地工作树、GitHub 或 GitLab(包括可自托管版本)运行,无需更改任何工具代码。HTTP 传输可用于 Studio 等远程驱动程序。
- 规范化序列化 — 键已排序,输出具确定性,Git 差异清晰,支持无冲突的并行编辑
- Agent 规则与技能 — 行为策略和分步工作流以 npm 包的形式发布
- 服务界面 — 本地 Web 仪表板,可浏览模型、内容、验证结果和标准化状态
- 与框架无关 — MCP 不会感知你使用的框架。Agent 和技能负责处理特定技术栈的逻辑
Agent Skills
本仓库提供 16 个 Agent Skills — 可按需加载的可复用工作流流程,适用于任何 AI 编码 Agent。
将所有技能安装到你的 Agent:
npx skills add Contentrain/ai/packages/skills
或安装指定技能:
npx skills add Contentrain/ai/packages/skills --skill contentrain-normalize
这些技能适用于 Claude Code、Cursor、Windsurf、GitHub Copilot、OpenAI Codex、Gemini CLI 以及其他 40 多种 Agent。
完整的技能目录和 Agent 使用指南请参阅 AGENTS.md。
软件包
| 软件包 | npm | 作用 |
|---|---|---|
@contentrain/mcp | 27 个 MCP 工具 + stdio / HTTP 传输 + Local / GitHub / GitLab 提供方 | |
contentrain | CLI + 服务界面 + MCP stdio 入口 | |
@contentrain/query | 生成的 TypeScript 查询 SDK | |
@contentrain/types | 共享类型定义 + 常量 | |
@contentrain/rules | 用于 IDE 集成的 Agent 质量规则 | |
@contentrain/skills | 工作流流程 + 框架指南 | |
@contentrain/wp-import | WordPress WXR / REST → RawIR → .contentrain 存储 | |
@contentrain/emitter-astro | ProjectIR → 完整的 Astro 项目 | |
@contentrain/verify | 针对已构建网站的 SEO、索引、链接和资源检查 | |
@contentrain/astro-kit | 可复制到项目中的 Astro 组件 + 目录 + 构建器映射表 | |
@contentrain/decide | 类型化决策 — 优先使用规则,其次是 Jev,然后是 Claude Haiku — 支持缓存、预算控制和审计 |
入门模板
可用于生产的模板,包含 Contentrain 内容模型、生成的 SDK 客户端和针对特定框架的模式:
| 模板 | 框架 | 用途 |
|---|---|---|
| astro-blog | Astro | 博客 / 编辑内容 |
| astro-landing | Astro | 落地页 |
| next-commerce | Next.js | 电商内容叙事 |
| next-multi-surface-saas | Next.js | 统一营销站点 + 应用 + 文档 |
| next-saas-dashboard | Next.js | SaaS 仪表板 UI 文案 |
| next-white-label-portal | Next.js | 白标 / 多租户 |
| nuxt-admin-console | Nuxt | 管理控制台 / 运维 |
| nuxt-saas | Nuxt | SaaS 营销网站 |
| sveltekit-editorial | SvelteKit | 编辑内容 / 出版物 |
| vitepress-docs | VitePress | 文档网站 |
每个模板都是 GitHub 模板仓库——点击“Use this template”即可开始。
templates/astro-starter 位于此仓库中:它是 WordPress 迁移的起点,包含文章、页面、归档和永久链接、SEO、RSS、站点地图、搜索、Studio 表单和评论、Gutenberg 区块样式;即使没有内容,也能通过自身的检查关卡(astro check、knip、构建、已构建网站检查、Lighthouse)。node scripts/starter-gates.mjs 会在独立副本上运行这些检查;CI 则会在 SDK 处于 HEAD 状态时,分别使用空内容和 templates/fixtures/wp-demo 运行检查。
快速参考
npx contentrain init # initialize project
npx contentrain serve # local review UI (port 3333)
npx contentrain serve --stdio # MCP over stdio for IDE agents
npx contentrain validate # check content health
npx contentrain generate # generate typed SDK client
npx contentrain status # project overview
npx contentrain doctor # setup health check
npx contentrain reconcile # merge a diverged base branch, content-aware
npx contentrain studio login # authenticate with Studio
npx contentrain studio connect # connect repo to Studio project
文档
- 2 分钟演示 — 了解产品最快的方式
- 开始使用 — 安装、连接 Agent 并运行第一个工作流
- Normalize 指南 — 救援硬编码字符串的主要工作流
- 生态系统地图 — AI 和 Studio 之间从软件包到产品的桥梁
- Contentrain Studio — 面向 Git 原生结构化内容的开放核心团队运营平台,可自托管,也可选择托管方案(Starter/Pro/Enterprise)
- 完整文档 — 指南、软件包参考和框架集成
开发
pnpm install && pnpm build && pnpm test
pnpm lint # oxlint, warnings treated as errors
pnpm docs:check # the docs must not state a number the code disagrees with
pnpm docs:check 会运行两项检查,运行前都需要先执行 pnpm build:
- 事实 — 从负责维护相关数据的软件包中解析数量(MCP 工具、技能、字段类型、能力键),并与文档、本 README 和
AGENTS.md中所有提及该数量的位置进行比较。 - 示例 — 文档示例中的每个
@contentrain/*导入都必须指向真实导出;示例也不得将 CommonJS 与顶层await混用(这种结构在任何模块系统中都无法运行)。
两项检查运行前都会用本仓库历史中的真实缺陷进行自测,因此,如果检查不再能捕获问题,就会明确报错,而不是静默通过。
版本管理和发布工作流请参阅 RELEASING.md。
社区
- Discord — 与团队和社区交流
- GitHub Discussions — 提问和分享想法
- Twitter / X — 产品更新和公告
- LinkedIn — 公司新闻
- YouTube — 教程和演示
- GitHub Issues — Bug 报告和功能请求
如果 Contentrain AI 对你有帮助,不妨给它点个星——这能帮助其他人发现这个项目。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。