English | 简体中文 | 繁體中文 | 한국어 | Français | Deutsch | Italiano | Español | Русский | Bahasa Indonesia | Português (BR)
Тема Astro, рассчитанная на ИИ и построенная вокруг красивого текста. ✍️
Типографика для людей, машиночитаемые эндпоинты для ИИ-агентов.
Aither — это мультиязычная тема публикации, в которой и человекочитаемая часть, и протоколы для агентов являются частью продукта.
Читательозначает человека, который читает HTML-сайт: главная страница, страницы статей, страница «О сайте», комментарии и переключатели темы.Агентозначает софт, который потребляет публичную машиночитаемую поверхность:protocol.json,skill.md,agent/home.jsonдля каждой языковой версии,llms.txt,api/posts.jsonи Markdown для каждой статьи.Только чтениеозначает, что сейчас поддерживаются обнаружение, чтение, индексирование и мониторинг; публикация, комментарии и аутентифицированная запись не поддерживаются.
flowchart LR
A["Aither"] --> B["Поверхность для читателя<br/>HTML-страницы"]
A --> C["Поверхность для агента<br/>JSON / Markdown"]
B --> D["Канонические URL статей"]
C --> E["protocol.json -> skill.md -> agent/home.json"]
C --> F["llms.txt / api/posts.json / posts/{slug}.md"]
Большинство блоговых тем оптимизируют стартовые блоки, анимацию и визуальный декор. Aither оптимизирует ритм чтения, типографическую сдержанность и плотность информации.
Одновременно проект исходит из того, что сайт будет читаться не только людьми, но и софтом. Поэтому в репозитории есть полноценная поверхность протокола: protocol.json, skill.md, локализованные машиночитаемые документы, llms.txt, Markdown-версии статей, JSON Schema и API постов для всех языковых версий.
- типографика как основной интерфейс
- две домашние поверхности: для читателя и для агента
- 41 тема
- полный протокол для ИИ
- режим только чтения по умолчанию
- 11 языков
- 66 локализованных примерных постов
- RSS / sitemap / OG / JSON-LD / TOC / pagination
- расширяемость через Content Collections
- современный стек Astro
- Node.js --
22 LTSрекомендуется - pnpm --
pnpm@10.32.1 - Corepack -- выполните
corepack enable - Cloudflare Pages -- только если используете встроенный процесс деплоя
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
corepack enable
pnpm install
pnpm validate
pnpm devПосты лежат в src/content/posts/{locale}/ и используют MDX.
| Команда | Описание |
|---|---|
pnpm dev |
Локальный сервер разработки |
pnpm check |
Проверка Astro и контента |
pnpm check:post-coverage |
Проверка паритета slug между locale |
pnpm build |
Сборка в dist/ |
pnpm smoke:package |
Проверка поверхности пакета @aither/astro и карты exports |
pnpm smoke |
Дымовые тесты пакета и протокола |
pnpm preview |
Локальный предпросмотр производственной сборки |
pnpm validate |
Полный рекомендуемый прогон: check + coverage + build + две проверки smoke |
Сейчас Aither распространяется как тема формата starter-first, а не как устанавливаемый пакет Astro integration. Для уже созданных сайтов правильный путь обновления идёт через release и Git, а не через pnpm up. Если у вас есть чистый upstream-клон, можно сначала запустить pnpm upgrade:diff -- --from <старый-tag> --to <новый-tag> и посмотреть сгруппированный diff. Полный процесс описан в UPGRADING.md.
Рекомендуемый порядок чтения: /protocol.json -> /skill.md -> agent/home.json для нужной locale.
Для обнаружения по всем языкам используйте /api/posts.json, а для конечного текста статьи — /{locale}/posts/{slug}.md.
Ключевые файлы: astro.config.mjs, src/config/site.ts, src/config/themes.ts, src/content.config.ts, src/i18n/index.ts, src/i18n/messages/*.ts, .env.
import { defineConfig } from 'astro/config';
import aither from '@aither/astro';
export default defineConfig({
site: 'https://your-domain.com',
integrations: [aither()],
});src/
├── config/
├── content/
├── i18n/
├── components/
├── lib/
├── layouts/
├── pages/
└── styles/
public/
scripts/
По умолчанию процесс Cloudflare Pages требует secrets CLOUDFLARE_API_TOKEN и CLOUDFLARE_ACCOUNT_ID и использует имя репозитория как имя проекта. Если нужен другой проект, задайте переменную репозитория CLOUDFLARE_PAGES_PROJECT_NAME.
- Типографика — это интерфейс.
- Люди и агенты одинаково важны.
- Мультиязычный паритет нужно проверять.
- Точки расширения должны жить рядом с контентом.
- Меньше магии, больше явных контрактов.
- Вдохновлено yinwang.org.
- Часть системы тем вдохновлена Raphael Publish и EvoMap.
Контрибьюции приветствуются. Сначала откройте issue для обсуждения.