Community编程与开发github.com

byteTuto/website

让 bytetuto.com 对 AI 智能体和大语言模型可读——为每个页面提供 Markdown (.md) 版本、/llms.txt、Accept text/markdown 内容协商、语义化 HTML 和 robots.txt。用于 site/ 中页面的创建、修改或删除,以及任何涉及 .md、llms.txt、智能体、ChatGPT/Claude/Perplexity 或 AI 爬虫的场景。

website 是什么?

byteTuto/website 是一个全面的网站适配方案,旨在使 bytetuto.com 对人工智能智能体(如 ChatGPT、Claude、Perplexity)和大语言模型(LLM)完全可读。其核心思想是为每个 HTML 页面创建一个内容完全相同的 Markdown (.md) 双胞胎文件,并通过多种机制让智能体能够轻松发现和消费这些内容:包括 /llms.txt 汇总文件、基于 Accept: text/markdown 头的内容协商、语义化且结构清晰的 HTML,以及友好的 robots.txt 策略。该方案支持所有主流网站页面(site/ 目录下),并严格规定每次创建或修改页面时必须同时更新 .md 文件和 llms.txt 列表。此外,为了确保智能体在导航 HTML 页面时也能有效提取信息,HTML 必须遵循语义化标签、可访问性、初始内容可见(无 JS 依赖)等最佳实践。项目选择开放给 AI 爬虫(如 GPTBot、ClaudeBot),禁止随意添加 Disallow 指令,从而最大化网站在 AI 时代的可见性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/byteTuto/website/tree/HEAD/.claude/skills/site-agent-friendly

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

预览

来自技能 README

替代文字

文档

对 AI 智能体友好的网站

原则:每个 HTML 页面都有一个内容相同的 Markdown 双胞胎,并且智能体知道如何找到它。 运行 python3 scripts/check_seo_agents.py 可验证以下所有内容。

1. 每个页面的 .md 双胞胎

HTML 页面文件Markdown URL
site/index.html → /site/index.md/index.md
site/tutos/git-rebase/index.html → /tutos/git-rebase/site/tutos/git-rebase/index.md/tutos/git-rebase/index.md

例外:404.html(无双胞胎)。

创建或修改页面时,在同一个提交中同时修改两个文件。.md 不是摘要:它包含页面的所有有用内容(文本、步骤、代码、链接),不含装饰性元素。

.md 格式:

---
title: Git rebase 交互式操作,3 分钟搞定
description: 使用 git rebase -i 干净地重写提交,不破坏任何东西。
url: https://bytetuto.com/tutos/git-rebase/
lang: zh
updated: 2026-10-16
---

# Git rebase 交互式操作,3 分钟搞定

> 1-2 句话直接回答:本页面教授什么内容。

## 步骤
1. …

```bash
git rebase -i HEAD~3
```

## 另见
- [撤销提交](https://bytetuto.com/tutos/annuler-commit/index.md)

视频:https://www.youtube.com/watch?v=…

规则:

  • YAML 前置元数据包含 title、description、url(= HTML 规范地址)、lang、updated(与页面值相同)。
  • 只有一个 # 标题 = <h1>。##/### 层级与 HTML 一致。
  • 链接使用绝对路径(https://bytetuto.com/…),且指向 .md 文件(若目标页面有 .md 双胞胎)。
  • 代码写在包含语言标识的 ``` 代码块中。不使用原始 HTML、装饰性表情符号、无文字说明的图片(必须使用 ![替代文字](url))。
  • 在 HTML 的 <head> 中添加:<link rel="alternate" type="text/markdown" href="…/index.md">

2. /llms.txt —— 面向智能体的目录

site/llms.txt,遵循 llmstxt.org 格式:# byteTuto,一个 > 引用来总结网站,然后是带有指向 .md 文件链接列表的 ## 部分:

## 教程
- [Git rebase 交互式操作](https://bytetuto.com/tutos/git-rebase/index.md): 干净地重写提交。

创建/删除页面时添加/移除对应的行。次要内容放入 ## Optional 部分。 当教程超过大约 10 个时:同时生成 site/llms-full.txt(所有 .md 文件的拼接)。

3. 服务器(已在 nginx/ 中配置)

  • .md 文件以 text/markdown; charset=utf-8 格式提供,并带有 X-Robots-Tag: noindex(防止 Google 出现重复内容——仅 HTML 版本被索引)。
  • 内容协商:带有 Accept: text/markdown 头的请求访问 / 或 /tutos/x/ 时会直接返回 .md 文件(HTML 响应包含 Vary: Accept 头)。
  • 测试:
    curl -s http://localhost:8088/index.md | head
    curl -s -H 'Accept: text/markdown' http://localhost:8088/ | head
    curl -sI http://localhost:8088/index.md | grep -i content-type   # text/markdown
    

4. 可供导航的智能体读取的 HTML

  • 内容直接呈现在初始 HTML 中(而非仅通过 JS 渲染)。
  • 使用语义化标签、唯一的 <main>、层级化标题、<ol>/<ul> 列表、<pre><code class="language-…"> 包裹的代码。
  • 按钮使用 <button>,链接使用 <a href>;每个控件都有可访问的名称(可见文本或 aria-label)。
  • 表单(如新闻通讯):每个字段都有 <label for>、明确的 name 和 autocomplete 属性,结果消息在 DOM 中可见。
  • 不将内容置于强制交互之后(如隐藏的标签页:内容应保留在 DOM 中)。
  • 保持 JSON-LD 结构化数据最新(参见 site-seo):智能体也会利用它们。

5. AI 爬虫(robots.txt)

项目选择:允许 AI 爬虫(确保在 ChatGPT、Claude、Perplexity、Google AI 中的可见性)。未经明确决定,不得为 GPTBot、ClaudeBot、PerplexityBot、Google-Extended 等添加 Disallow 指令。在文件末尾保留 Sitemap: 行。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相关技能