# AgentCMS社区版 **Repository Path**: xueshu_space/agent-cms-free ## Basic Information - **Project Name**: AgentCMS社区版 - **Description**: 本项目已在单宿主 `Web` 中提供本地 MCP 服务 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-05 - **Last Updated**: 2026-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 糖糕 CMS 社区版开发与部署项目 本项目开放社区版业务源码,版本为 1.2.11,使用 .NET 10。 1.2.6:后台默认布局统一为 MainLayout,iframe 静态页只渲染正文;公共菜单样式统一,插件配置保留功能开关、密钥及版本校验,列表和安装由现有插件列表页负责。本次不变更数据库、Runtime 配套 DLL、会员或本地 MCP。 本目录用于社区版开源发行。维护者从开发源仓库导出完整项目;后续原目录同步依据 `release.json` 校验并更新变更文件,保留 Git 配置和清单外文件,发现开发者修改或文件冲突即停止。运行中的站点应通过独立发布目录部署,不直接用发行导出覆盖。 - `Web/`:网站入口、前台、会员、后台客户端、宿主与静态资源源码。 - `Orchestrator/`、`Single/`、`ServiceDefaults/`、`Plugins/`:社区版业务、服务注册、基础设施、对象存储与小程序插件源码。 - `Common/`、`Agent.Abstractions/`、`Plugin.Abstractions/`:公开模型与插件契约。 - `Components/`:数据库备份、图片处理、邮件、API 模板四个开放组件。 - `runtime/`:Runtime、AiJson、CmsTemplates 三个配套混淆 DLL;不含私有源码。 - `Plugin.Hot/`:热插件 SDK、模板与内容模型示例。 - `template/`、`MiniProgram/`、`docs/`、`database/`:网站模板、小程序、中文文档及完整和增量 SQL。 站内 AI 管理、Skills、知识库、代码编辑器和数据库管理插件不在社区版中。AI 接口通过后台兼容配置调用,外部 AI 软件可连接本地 MCP。 管理概览的“快速开始”介绍兼容接口配置与测试。CMS、概览、插件列表、备份、用户权限和站点设置采用静态 Vue 页面,访问这些页面无需下载 WASM;插件详情保留现有交互组件。 “站点设置 → 用户协议”可编辑会员注册协议,会员注册必须勾选同意。正文保存在 `appsettings.json` 的 `Admin.UserAgreement`,旧配置使用默认文本。发布后的 WASM 框架资源通过 `MapStaticAssets` 协商 Brotli/Gzip 压缩。 ## 构建与运行 安装 .NET 10 SDK 后,在项目目录执行: ```powershell dotnet build agentOne.sln -c Release ./start.ps1 -Build ``` Linux 可执行 `./start.sh`,或 `dotnet run --project Web/Web.csproj`。首次访问进入安装向导,支持 MySQL 和 SQLite;初始配置来自公开示例,不包含开发环境凭据。 发布 Linux 运行目录: ```sh dotnet publish Web/Web.csproj -c Release -r linux-x64 --self-contained false -o ../cms-publish ``` `core/` 为 portable 托管程序集。第三方依赖由 `Web/NuGet.Dependencies.props` 和各项目的 PackageReference 自动还原,不混淆第三方包。`protection.json` 记录交付 Core 的保护哈希,`third-party.json` 及 `ThirdParty/` 记录依赖和许可,`release.json` 记录发行文件哈希。 已有站点升级前备份数据库和持久密钥,按 [社区版内容模型与会员升级](docs/社区版内容模型与会员升级.md) 手动执行对应 SQL。不要对已有数据库运行完整新安装脚本。 升级时保留原有 `Storage.KeyDirectory` 及全部密钥,Data Protection 应用名保持 `NTGAgent`。旧 Cookie 引用已不存在的密钥时,清除此站点 Cookie 后重新打开页面,不要删除服务器密钥。源码仓库的导出脚本拒绝覆盖正在运行、已有安装锁或持久密钥的目录,应将新版本导出到独立干净目录后部署。 需要扩展后台或服务端业务时,通过 `Plugin.Hot/` 的公开契约开发热插件;网站及会员界面可直接修改 `Web/UIComponents/`。Core、SDK 与公开契约必须匹配部署。