快速开始
环境要求
- Node.js >= 18
- npm >= 9 或 pnpm >= 8
- Git
安装
克隆仓库
bash
git clone https://github.com/gitcoffee-os/magicms.git
cd magicms安装依赖
bash
npm install
# 或
pnpm install开发
启动开发服务器
bash
npm run dev
# 或
pnpm dev开发服务器启动后,访问 http://localhost:3000 即可预览。
构建生产版本
bash
npm run build
# 或
pnpm build构建产物将输出到 dist 目录。
项目结构
magicms/
├── apps/ # 应用目录
│ ├── admin/ # 管理后台
│ ├── web/ # 前台站点
│ └── mobile/ # 移动端应用
├── packages/ # 共享包
│ ├── ui/ # UI 组件库
│ ├── sdk/ # CMS SDK
│ └── shared/ # 共享工具
├── server/ # 服务端
│ ├── api/ # API 服务
│ ├── render/ # SSR 渲染服务
│ └── scheduler/ # 定时任务服务
├── plugins/ # 插件目录
├── themes/ # 主题目录
├── docs/ # 文档
└── scripts/ # 脚本配置说明
基础配置
在项目根目录创建 .env 文件:
env
# 服务端地址
VITE_API_BASE_URL=http://localhost:8080
# 站点名称
VITE_APP_NAME=MagiCMS
# AI 引擎配置(可选)
VITE_AI_ENABLED=true
VITE_AI_MODEL=gpt-4多站点配置
env
# 默认站点
VITE_SITE_ID=default
# 多站点模式
VITE_MULTI_SITE=trueAI 引擎配置(可选)
env
# AI 引擎开关
VITE_AI_ENABLED=true
# 大模型配置
VITE_AI_API_KEY=your_api_key
VITE_AI_MODEL=gpt-4
VITE_AI_BASE_URL=https://api.openai.com/v1💡 AI 引擎为可插拔设计,不配置 AI 相关参数时,系统依然作为专业级 CMS 正常运行。
使用示例
创建内容模型
typescript
import { createModel } from '@magicms/sdk'
const articleModel = createModel({
name: 'article',
displayName: '文章',
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'content', type: 'richtext', required: true },
{ name: 'cover', type: 'image' },
{ name: 'category', type: 'relation', target: 'category' },
{ name: 'tags', type: 'relation', target: 'tag', multiple: true }
]
})创建内容
typescript
import { MagiCMS } from '@magicms/sdk'
const cms = new MagiCMS({
apiBaseUrl: 'http://localhost:8080',
siteId: 'default'
})
// 创建文章
await cms.content.create('article', {
title: 'Hello MagiCMS',
content: '这是我的第一篇文章',
category: 'tech',
tags: ['cms', 'ai']
})AI 辅助创作
typescript
// AI 生成文章大纲
const outline = await cms.ai.generateOutline({
topic: 'AI 原生 CMS 的未来',
style: 'professional'
})
// AI 智能翻译
const translated = await cms.ai.translate({
contentId: 'article_123',
targetLang: 'en'
})
// AI 生成封面图
const cover = await cms.ai.generateImage({
prompt: '科技感 CMS 系统封面图',
size: '1200x630'
})常见问题
Q: 如何切换开发环境?
A: 使用 .env.development、.env.production 等文件来配置不同环境。
Q: 如何添加新的内容模型?
A: 在管理后台的「内容模型」页面中,点击「新建模型」,配置字段即可。
Q: 如何自定义主题?
A: 在 themes/ 目录下创建新主题,参考已有主题的结构进行开发。
Q: 如何启用/关闭 AI 引擎?
A: 在 .env 文件中设置 VITE_AI_ENABLED=true/false,或在管理后台的「系统设置」中切换。