English | 日本語
A CMS adapter architecture for building secure, permission-aware AI assistants.
CMS platforms stay the source of truth for identity, authorization, and content. Your AI agent (Assistant Core) handles intent, reranking, and answers. Adapters connect them with a small, stable HTTP contract — so one agent implementation can talk to Concrete CMS, WordPress, a headless CMS, Salesforce, Kintone, or other knowledge systems without rewriting the agent.
Atlas reuses the CMS’s existing search. You do not need a separate RAG pipeline, vector store, or content copy to get started.
Knowledge belongs to the CMS. Understanding belongs to AI. Trust belongs to the boundary between them.
| Macareux Atlas | Custom RAG / vector DB | CMS-native AI chatbot plugin | Direct LLM + CMS APIs | |
|---|---|---|---|---|
| Respects CMS permissions at answer time | Yes — adapter enforces per session | Often weak — embeddings usually indexed once; ACL sync is hard | Varies; often public-only or admin-only | Easy to get wrong; caller must reimplement authz |
| Agent reusable across CMS / services | Yes — same Core, swap adapter | No — new index + pipeline per source | No — locked to one CMS | No — custom glue per system |
| Retrieval model | Existing CMS keyword search + two-phase hydrate | Embeddings, chunking, vector store, reindex jobs | Vendor-specific | Ad hoc queries |
| Ops / cost to stand up | Adapter + shared secret; use CMS search you already have | High — ingest, embed, store, refresh, monitor drift | Install plugin; limited control | Medium–high engineering |
| Content ownership / security boundary | Explicit — only adapter-returned content may be answered | Split — copy of content lives in vector store | Inside one CMS product | Unclear unless you design it |
| Adapter / integration effort | Small, contract-driven (3 endpoints) | Large per knowledge source | N/A (not a framework) | Large, one-off |
Atlas fits teams that already trust their CMS search and permissions and want AI on top — without copying knowledge into a separate RAG store.
| Included | Not included |
|---|---|
| Framework specification | Assistant Core (AI orchestration) |
| OpenAPI contract | Browser chat widgets |
| CMS adapters (Concrete CMS reference) | LLM provider integrations |
Assistant Core and chat UIs are separate (often private) projects. This repo defines how they must talk to a CMS through an adapter.
flowchart TB
browser[Browser / chat UI]
adapter[CMS Adapter]
core[Assistant Core]
llm[LLM provider]
cms[CMS search and permissions]
browser -->|"session/start"| adapter
browser -->|"user message + session token"| core
core -->|"HMAC + search / feedback"| adapter
adapter --> cms
core --> llm
The CMS Adapter is the security boundary. Only content the adapter returns for the current session may be used in answers.
| Endpoint | Caller | Purpose |
|---|---|---|
POST .../assistant/session/start |
Browser | Mint an opaque assistantSessionToken (CMS auth + optional CAPTCHA) |
POST .../assistant/search-candidates |
Assistant Core | Two-phase search: overview then detail |
POST .../assistant/feedback |
Assistant Core | Forward ratings (±1) |
The Concrete CMS Help site maintained by Macareux Digital runs the Concrete CMS Atlas adapter in production.
Organizations already on Concrete CMS can install the reference adapter and start building an agent against the published contract today.
| Role | Start here |
|---|---|
| New to Atlas | docs/framework.md |
| Building Assistant Core (your AI agent) | docs/integration-assistant-core.md → openapi/atlas-api.yaml |
| Writing a new CMS / service adapter | docs/building-adapters.md |
| Operating the Concrete CMS adapter | adapter/concretecms/md_atlas_adaptor/README.md |
atlas-framework/
├── docs/ # Architecture and integration guides
├── openapi/atlas-api.yaml # HTTP contract
├── adapter/
│ └── concretecms/
│ └── md_atlas_adaptor/ # Reference Concrete CMS 9+ package
├── CONTRIBUTING.md
├── SECURITY.md
└── LICENSE # MIT
| Document | Description |
|---|---|
| docs/framework.md | Full architecture specification (v1.0) |
| docs/building-adapters.md | How to implement a new adapter |
| docs/integration-assistant-core.md | Guide for Assistant Core developers |
| openapi/atlas-api.yaml | OpenAPI 3 schema |
| adapter/concretecms/md_atlas_adaptor/README.md | Concrete CMS adapter install & config |
| CONTRIBUTING.md | How to contribute |
New adapters (WordPress, Drupal, headless CMS, Salesforce, Kintone, …) are especially welcome. See CONTRIBUTING.md and docs/building-adapters.md.
MIT © 株式会社マカルーデジタル (Macareux Digital, Inc.)