# 🤖 Discourse llms.txt 생성기 플러그인

**URL:** https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170
**Category:** Plugin
**Tags:** ai, security-issue
**Created:** [11월 11, 2025, 6:45오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170 "2025-11-11T18:45:19Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![kaktak](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kaktak/32/529093_2.png) [@kaktak](https://meta.discourse.org/u/kaktak)
#### Post date: [11월 11, 2025, 6:45오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/1 "2025-11-11T18:45:19Z")

</div>

# Discourse llms.txt 생성기

| | | |
| --- | --- | --- |
| ℹ | **요약** | ChatGPT, Claude 및 기타 AI 시스템과 같은 대규모 언어 모델(LLM)이 포럼 콘텐츠를 인식할 수 있도록 llms.txt 파일을 자동으로 생성합니다 |
| 🛠 | **레포지토리 링크** | [GitHub - kaktaknet/discourse-llms-txt-generator: 🤖 Discourse llms.txt Generator Plugin. Automatically generates llms.txt and llms-full.txt files for your Discourse forum to optimize content discovery by Large Language Models (LLMs) and AI systems. · GitHub](https://github.com/kaktaknet/discourse-llms-txt-generator) |
| 📖 | **설치 가이드** | [Discourse에서 플러그인 설치하는 방법](https://meta.discourse.org/t/install-plugins-in-discourse/19157) |
|   
 | | |

### 기능

이 플러그인은 [llms.txt 표준](https://llmstxt.org/)을 구현합니다. 이는 웹사이트에서 LLM 친화적인 콘텐츠를 제공하는 것을 제안하는 규약입니다. AI 생성 응답에 포럼 콘텐츠가 표시되도록 돕는 "AI용 robots.txt"라고 생각하면 됩니다.

**상세 기능 문서** 는 [README.md](https://github.com/kaktaknet/discourse-llms-txt-generator/blob/main/README.md)를 참조하세요.

**기술 문서 및 개발** 은 [CONTRIBUTING.md](https://github.com/kaktaknet/discourse-llms-txt-generator/blob/main/CONTRIBUTING.md)를 참조하세요.

이 비디오는 Discourse나 그 플러그인에 대해 구체적으로 다루지는 않지만, 왜 llms.txt 파일이 포럼에 중요한지를 훌륭하게 설명하고 있습니다.

[![](https://global.discourse-cdn.com/meta/original/4X/d/c/b/dcb9be2515b281f84e594c2d9c01c0d96419b3f8.jpeg "How to Create an llms.txt File for Your Website") ](https://www.youtube.com/watch?v=goc1f9zPJgM)

수천 개의 사이트,其中包括 세계 최대 및 가장 존경받는 기술 기업 중 많은 곳이 이미 자체 도메인에서 llms.txt 표준을 구현했습니다. 예시:

- ✅ Amazon AWS — `https://docs.aws.amazon.com/llms.txt`
- ✅ Cloudflare — `https://developers.cloudflare.com/llms.txt`
- ✅ Stripe — `https://stripe.com/llms.txt`
- ✅ Angular — `https://angular.dev/llms.txt`
- ✅ Redis — `https://redis.io/llms.txt`
- ✅ Docker — `https://docs.docker.com/llms.txt`
- ✅ Model Context Protocol — `https://modelcontextprotocol.io/llms-full.txt`

산업 거인들이 "공식"이 되기 훨씬 전에 대규모로 표준을 채택한다는 것은 llms.txt가 실제적이고 시급한 문제를 해결한다는 명확한 신호입니다. 이러한 기업들은 쉽게 사이트 전체 이니셔티브를 배포하지 않으며, 항상 견고한 전략적 이유가 있습니다. 기술 산업 전반에서 llms.txt의 빠른 대규모 채택은 AI를 위한 구조화된 콘텐츠가 얼마나 중요해졌는지를 보여주며, 산업 자체가 공식 표준 기구보다도 빠르게 이 채택을 주도하고 있음을 보여줍니다.

**주요 기능:**

1. **메인 내비게이션 파일** (`/llms.txt`)

2. **전체 콘텐츠 인덱스** (`/llms-full.txt`)

3. **동적 리소스별 파일**

4. **사이트맵 인덱스** (`/sitemaps.txt`)

5. **SEO 보호**

6. **스마트 캐싱**

7. **봇 제어**

8. **개인정보 및 보안**

**포럼에 대한 이점:**

- **노출 증가** : 콘텐츠가 ChatGPT, Claude 및 기타 AI 응답에 표시
- **직접 출처 표기** : AI 시스템이 포럼을 인용하고 링크로 연결
- **트래픽 증가** : AI 기반 검색을 통한 발견 증가
- **더 나은 GEO** : AI 시스템을 위한 생성형 엔진 최적화
- **유지보수 불필요** : 자동 생성 및 업데이트

### 설정

플러그인을 설치한 후 **관리자 → 설정 → 플러그인 → discourse-llms-txt-generator** 로 이동하세요.

**단계 1: 플러그인 활성화**

`llms_txt_enabled`을 `true`(기본값)로 설정하세요.

**단계 2: 인덱싱 구성**

AI 크롤러 액세스를 허용하려면 `llms_txt_allow_indexing`을 `true`(기본값)로 설정하세요.

이 설정은 llms.txt 파일이 robots.txt에서 허용된 것으로 표시될지, 아니면 거부된 것으로 표시될지를 제어합니다.

**단계 3: 콘텐츠 필터 설정**

포럼 규모에 따라 다음 설정을 구성하세요:

- `llms_txt_min_views`: 포함할 최소 주제 뷰 수 (기본값: 50)
- `llms_txt_posts_limit`: 포함할 주제 수
  - `small`: 500개 주제 (대형 포럼에 권장)
  - `medium`: 2,500개 주제 (대부분의 포럼에 권장)
  - `large`: 5,000개 주제
  - `all`: 모든 주제 (대형 포럼에서는 신중하게 사용)

**단계 4: 선택 - 사용자 정의 설명 추가**

포럼의 목적과 커뮤니티를 설명하는 2~4문장으로 `llms_txt_full_description`을 채우세요. 이는 AI 시스템이 포럼에 대해 더 정확한 정보를 제공하도록 돕습니다.

예시:

```plaintext
This forum is dedicated to discussing Python programming, with focus on web development,
data science, and machine learning. Our community includes beginners and experienced
developers sharing practical solutions and best practices.

```

**단계 5: 선택 - 특정 봇 차단**

특정 AI 크롤러를 차단하려면 `llms_txt_blocked_user_agents`에 사용자 에이전트 이름을 쉼표로 구분된 목록으로 입력하세요:

예시: `Omgilibot, ChatGPT-User, CCBot`

**단계 6: 설치 확인**

포럼에서 다음을 방문하세요:

- `/llms.txt` - 메인 내비게이션 파일
- `/llms-full.txt` - 전체 콘텐츠 인덱스
- `/sitemaps.txt` - 완전한 사이트맵

통합을 확인하기 위해 `/robots.txt`를 확인하세요.

### 설정값

| 이름 | 기본값 | 설명 |
| --- | --- | --- |
| `llms_txt_enabled` | `true` | 플러그인 활성화 또는 비활성화 |
| `llms_txt_allow_indexing` | `true` | AI 크롤러가 llms.txt 파일에 액세스하도록 허용 (robots.txt에 영향) |
| `llms_txt_blocked_user_agents` | `""` | llms.txt 파일에서 차단할 봇 사용자 에이전트의 쉼표로 구분된 목록 |
| `llms_txt_intro_text` | 사용자 정의 텍스트 | 메인 llms.txt 파일에 표시되는 소개 텍스트 |
| `llms_txt_full_description` | `""` | AI가 포럼 컨텍스트를 이해하도록 돕는 llms-full.txt용 사용자 정의 설명 |
| `llms_txt_min_views` | `50` | llms-full.txt에 포함되는 데 필요한 최소 주제 뷰 수 |
| `llms_txt_posts_limit` | `medium` | 주제 수 제한: `small` (500), `medium` (2,500), `large` (5,000) 또는 `all` |
| `llms_txt_include_excerpts` | `false` | llms-full.txt에 게시글 발췌 포함 (파일 크기가 크게 증가함) |
| `llms_txt_post_excerpt_length` | `500` | 발췌가 활성화된 경우 최대 발췌 길이 (문자 수, 100-5000) |
| `llms_txt_latest_topics_count` | `50` | 메인 llms.txt 파일에 표시할 최신 주제 수 |
| `llms_txt_cache_minutes` | `60` | 내비게이션 파일의 캐시 지속 시간 (분) |

**중요한 참고 사항:**

- `llms_txt_posts_limit`이 `all`로 설정된 상태에서 `llms_txt_include_excerpts`를 활성화하면 대형 포럼에서 극도로 큰 파일 크기(잠재적으로 10-100+ MB)와 높은 서버 부하를 초래할 수 있습니다.
- 비공개 카테고리는 모든 llms.txt 파일에서 자동으로 제외됩니다.
- 동적 리소스별 파일(카테고리, 주제, 태그)은 캐시되지 않고 요청 시 생성됩니다.
- 이 플러그인은 robots.txt 통합을 위해 뷰 커넥터를 사용하므로 robots.txt를 수동으로 편집할 필요가 없습니다.

### 기술적 세부 사항

**아키텍처:**

- 사전 생성된 파일 없이 요청 시 생성
- 시간당 백그라운드 확인을 통한 스마트 캐싱
- Discourse Guardian을 사용한 권한 인식
- 비공개 콘텐츠에 대한 SQL 수준의 보안 필터링
- SEO 패널티를 방지하기 위한 HTTP 헤더의 정본 URL

**성능:**

- 내비게이션 파일은 60분 동안 캐시됨 (구성 가능)
- 전체 콘텐츠 파일은 요청 시 생성됨
- 스마트 캐시는 새 콘텐츠가 존재할 때만 재생성
- 캐시된 콘텐츠의 응답 시간은 50ms 미만

**호환성:**

- Discourse 2.7.0+
- Ruby 2.7+
- Discourse 3.6.0.beta3에서 테스트됨

**표준 준수:**

- llms.txt 표준 ([https://llmstxt.org/](https://llmstxt.org/))
- RFC 3986 (국제 문자를 위한 URL 인코딩)
- RFC 6596 (정본 링크 헤더)

### 사용 사례

**커뮤니티 포럼:**  
사용자가 AI 어시스턴트에게 관련 질문을 할 때 토론과 해결책이 표시되어 자격을 갖춘 트래픽을 포럼으로 유도합니다.

**문서 사이트:**  
AI 시스템이 문서와 튜토리얼을 참조하여 적절한 출처 표기와 함께 정확한 정보를 제공합니다.

**지원 포럼:**  
사용자는 AI 어시스턴트를 통해 지식 베이스에서 직접 답변을 얻으며, 전체 토론으로의 링크가 제공됩니다.

**기술 커뮤니티:**  
개발자는 AI 기반 코딩 어시스턴트를 통해 포럼 콘텐츠를 발견하여 커뮤니티 참여도를 높입니다.

### 유지보수

이 플러그인은 최소한의 유지보수가 필요합니다:

- 캐시는 매시간 자동으로 새로고침됩니다.
- 콘텐츠 업데이트는 게시글 생성/편집 시 자동으로 수행됩니다.
- 수동 파일 생성이 필요하지 않습니다.
- 선택적 rake 작업 사용 가능: `llms_txt:refresh` 및 `llms_txt:check`

### 문제 해결

**파일 접근 불가:**

- `llms_txt_enabled`이 `true`인지 확인하세요.
- `llms_txt_allow_indexing`이 `true`인지 확인하세요.
- 관리자의 플러그인에서 플러그인이 설치되었는지 확인하세요.

**콘텐츠가 비어 있음:**

- 충분한 뷰 수가 있는 공개 주제가 있는지 확인하세요 (`llms_txt_min_views` 설정 확인).
- 카테고리가 공개(읽기 제한 없음)인지 확인하세요.
- `llms_txt_posts_limit` 설정을 확인하세요.

**robots.txt 통합이 작동하지 않음:**

- robots.txt 캐시 삭제: `Rails.cache.delete('robots_txt')`
- rake 작업 사용: `bundle exec rake llms_txt:refresh`
- Discourse 재시작: `./launcher restart app`

### 지원

- GitHub Issues: [Issues · kaktaknet/discourse-llms-txt-generator · GitHub](https://github.com/kaktaknet/discourse-llms-txt-generator/issues)

### 라이선스

MIT 라이선스 - 무료 오픈 소스 소프트웨어

### 크레딧

- Standard Answer.AI: [llms.txt by Jeremy Howard (Answer.AI)](https://llmstxt.org/)
- GitHub Answer.AI: [GitHub - AnswerDotAI/llms-txt: The /llms.txt file, helping language models use your website · GitHub](https://github.com/AnswerDotAI/llms-txt)
- 플랫폼: [Discourse](https://www.discourse.org/)

---

<div class="post-metadata">

### Author: ![Ivan\_Rapekas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ivan_rapekas/32/248924_2.png) [@Ivan\_Rapekas](https://meta.discourse.org/u/Ivan_Rapekas)
#### Post date: [11월 20, 2025, 3:25오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/2 "2025-11-20T15:25:59Z")

</div>

며칠 전 이 플러그인을 설치했습니다. 작성자의 문서가 잘 되어 있어 설치는 순조롭게 진행되었습니다.

현재 제가 확인한 내용입니다. 제 사이트에 `https://discuss.rabkesov.ru/llms.txt`와 같은 txt 파일이 많이 생성되었습니다. AI 챗봇(Perplexity)이 채팅 답변으로 제 콘텐츠를 보여주는 것을 기대하기에는 아직 이르다는 것을 알고 있습니다.

따라서 LLM과 호환되는지 확인하기 위해 Qwen에 업로드했습니다(불행히도 위 링크는 지원하지 않음):

```plaintext
llms.txt 페이지를 분석하여 읽은 내용에서 무엇을 이해했는지 알려줄 수 있나요? 마인드 맵(Mermaid) 형태의 트리를 만들어 주세요.

```

> P.S. 모든 내용을 영어로 번역하라고 요청하면 트리가 깨집니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/c/6/1c6c71edeb0ee1189c2502ec8de833246011e288.png)  
 ![image](https://global.discourse-cdn.com/meta/original/4X/3/a/9/3a925165f75b59743183c65fe80f1c7370d91114.png)

여기 제 사이트의 구조입니다( **공개 부분** 만 포함). LLM이 `llms.txt`로부터 이를 생성했습니다! 이것은 가능한 사례 중 아주 일부라고 생각합니다.

* * *

> **Mermaid 없이 텍스트 출력**
>
> ```plaintext
> llms.txt 페이지를 분석하여 읽은 내용에서 무엇을 이해했는지 알려줄 수 있나요?
> 
> ```
> 
> 네. `llms.txt`의 내용에 기반하여, 제가 이해한 내용은 다음과 같습니다:
> 
> 해당 파일은 \*\*“discuss | Комната ломки”\*\*를 설명하고 있으며, 이는 대략 \*“토론 포럼 | 깨어남의 방”\*으로 번역됩니다. 이는 IT 분야에서 \*환상(illusion)\*을 깨는 것을 위해 의도된 공간이지, 사람을 깨는 것이 아닙니다. 슬로건과 초점은 IT 전문가들이 전제를 검토하고, 경험을 공유하며, 실질적인 과제에 대해 협력할 수 있는 성찰적이고 비판적이며 커뮤니티 중심의 환경을 시사합니다.
> 
> ### 핵심 주제 및 목적:
> 
> - **IT 관행, 커리어 경로, 조직 역학 및 개인적 성장에 대한 비판적 성찰**.
> - 업무를 단순화하는 **도구 및 방법론** 강조: 문서화(Markdown/GitLab/Docsify), 시각화(Mermaid/Drawio), 피드백 메커니즘, 공동 작성 — 특히 **Discourse 기반 기업 플랫폼** 내에서.
> - **기술적, 철학적, 개인적 주제** 의 혼합, 종종 교차: 예: “왜 쉬운 작업을 선택하는가”, “평온의 비용”, “미루기와 결정 회피”.
> 
> ### 구조:
> 
> 사이트는 주제별 **카테고리** 로 구성되어 있으며, 여기에는 다음이 포함됩니다:
> 
> - **AI** : 모델(예: Gemma, LM Studio), 배포(Runpod, GPU 계산기), 도구화에 대한 토론.
> - **Discourse** : 기술적 백엔드 주제(사이트 구성, rake 태스크, 인증 방법, 숨겨진 파라미터).
> - **Основная (메인)**: 업무 문화, 리더십, 문서 표준, 책임에 대한 핵심 성찰.
> - **Блог (블로그)**: 개인 서사(예: 커리어 전환, 사마라 이전, 직장 내 사건).
> - **Школа (학교)**: 학생을 위한 리소스, 윤리(14세 이상 사용자의 부모 동의) 및 디지털 리터러시(UTM 파라미터) 포함.
> - **Анонимная (익명)**: 민감한 아이디어를 위한 안전한 공간.
> - **Книги (책)**, **Мысль дня (오늘의 생각)** 등 — 지적 및 일상적 성찰을 지원.
> 
> ### 주목할 만한 기술적 및 문화적 신호:
> 
> - **다국어 및 국제적 대상 독자** : 예: 러시아어/영어 병행 인증 가이드.
> - **포용적 인증** 에 대한 관심: 예: 러시아어가 아닌 사용자를 위해 Google/GitHub 로그인을 유지하는 동시에 국내 제공자(VK, [Mail.ru](http://Mail.ru), OK)도 지원.
> - **자동화, 표준화, DevOps** 에 대한 강한 관심: GitLab CI/CD, 아티팩트 처리, Runpod 통합, SSH 기반 배포.
> - **전문적 실망감** 이라는 반복되는 주제, 특히 지원 역할로 이동한 시니어 엔지니어들 사이에서 — 그리고 이를 대처하거나 퇴사를 계획하는 전략.
> 
> 요약하면, `llms.txt`는 기술적 깊이와 심리적 및 조직적 성찰을 결합한 성숙하고 세심하게 설계된 커뮤니티 플랫폼을 개요화하며, 복잡성, 번아웃, 그리고 업무에서의 의미 찾기를 헤쳐 나가는 경험 많은 IT 실무자를 대상으로 합니다.
> 
> 시각적 맵, 주제 클러스터링, 또는 다음 단계 제안(예: 검색 가능성, 참여도, 온보딩 개선)이 필요하시면 알려주세요.

* * *

저에게는 SEO 등에 사용하기에 훌륭한 플러그인입니다.

탐색해 볼 몇 가지 포인트:

1. 영어가 아닌 콘텐츠는 어떻게 처리해야 하나요? `llms.txt`의 텍스트가 영어인지 여부가 LLM에 중요한가요?
2. 최종 루트 `llms.txt`에 비공개 페이지가 절대 포함되지 않는다는 증거를 찾습니다(현재 `llms.txt`는 사이트의 **모든** 페이지에 대해 생성됨)
3. `/admin/site_settings/category/security?filter=crawler`의 권한을 확인하여 필요한 AI 봇이 차단되지 않았는지 확인합니다 🙂
4. 이전에 LLM에 저장된 기억(memories)과 사이트 구조가 간헐적으로 섞이는 것에 대한 생각(이것은 _플러그인의 결함이 아니라_ 챗봇의 기능입니다, 아래 예 참조)

#4번 포인트에 대해. Qwen이 처음에 다음과 같이 판단했습니다:

- 제가 퇴사를 계획하고 있다고
- 제가 인간관계에 문제가 있다고 🙂  
그리고 **이 점들을** 사이트 설명에 추가했습니다!

Qwen은 `llms.txt`로 제공된 사이트맵 분석이라는 현재 요청과 기억을 섞을 수 있습니다. 주의하세요 🙂

---

<div class="post-metadata">

### Author: ![pacharanero](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pacharanero/32/500583_2.png) [@pacharanero](https://meta.discourse.org/u/pacharanero)
#### Post date: [4월 8, 2026, 2:05오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/4 "2026-04-08T14:05:13Z")

</div>

이 플러그인을 만들어 주셔서 감사합니다. Discourse에 훌륭한 추가 기능이 되었습니다.

혹시 다른 분들도 이 플러그인과 Discourse의 비교적 최근 도입된 ‘half-feature’ 사이에 충돌 문제가 발생하고 있는지 궁금해서 여쭤봅니다. 이 'half-feature’는 `llms.txt`를 구현하지만, 이 플러그인이 수행하는 유용한 작업은 전혀 하지 않고 완전히 수동으로만 처리합니다.

> [@Discourse에서 네이티브 LLMs.txt 지원 활성화](https://meta.discourse.org/t/enabling-native-llms-txt-support-in-discourse/383088/):
>
> bookmark 이 가이드는 llms.txt 표준을 통해 AI 에이전트와 LLM 크롤러가 커뮤니티를 쉽게 발견하고 활용할 수 있도록 하는 방법을 설명합니다. 자동 생성되는 기본 문서와 사용자 지정 업로드 파일 모두를 다룹니다. person_raising_hand 필요한 사용자 권한: 관리자 요약 Discourse는 웹사이트의 LLM 친화적인 개요를 제공하기 위한 제안된 컨벤션인 [llms.txt 표준](https://llmstxt.org/)에 대한 네이티브 지원을 포함하고 있습니다. 이를 "AI를 위한 robots.txt"라고 생각할 수 있습니다. /llms.txt에 위치한 작은 Markdown 파일로, 대규모 언어 모델(LLM)과 AI 에이전트가 사이트의 주제가 무엇인지와 어떻게 책임감 있게 접근해야 하는지 이해하는 데 도움을 줍니다. 두 가지 방법 중 하나를 선택하거나 결합하여 사용할 수 있습니다: 사이트 설정에서 기본 문서를 자동으로 생성하도록 Discourse에 맡기기 콘텐츠에 대한 완전한 제어를 …

새로운 Discourse 기능은 **설정이 되어 있거나 활성화되어 있지 않더라도** `/llms.txt` 경로를 완전히 덮어씁니다. 이것이 Discourse 코어에서 유용하거나 프로덕션 환경에 적합하다고 여겨진다는 사실에 다소 당황스럽습니다.

제 경우 `/llms-full.txt`와 `/sitemaps.txt`는 완벽하게 작동했지만, 메인 `/llms.txt` 경로는 전혀 작동하지 않았습니다(404 오류).

제 임시 해결책은 수동으로 `llms.txt` 파일을 만들어 업로드하고, 이 파일에서 `/llms-full.txt`를 가리키도록 설정하는 것입니다.

아래 중 하나가 개선되면 좋겠습니다:

- Discourse 코어 기능이 이 플러그인이 하는 것과 동일한 작업을 수행하도록 업그레이드되거나,
- 또는 Discourse 코어 기능이 `llms.txt`를 덮어쓰지 않고 이 플러그인과 충돌하지 않도록 해야 합니다. (llms.txt를 업로드하여 활성화하는 경우를 제외하고)

---

<div class="post-metadata">

### Author: ![Ivan\_Rapekas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ivan_rapekas/32/248924_2.png) [@Ivan\_Rapekas](https://meta.discourse.org/u/Ivan_Rapekas)
#### Post date: [4월 8, 2026, 2:36오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/5 "2026-04-08T14:36:52Z")

</div>

[Enabling native LLMs.txt support in Discourse - #7 by pacharanero](https://meta.discourse.org/t/enabling-native-llms-txt-support-in-discourse/383088/7?u=ivan_rapekas) 에 대한 관찰과 보고를 감사합니다.

/llms-full.txt는 여전히 작동하지만, /llms.txt는 불행히도 오류가 발생하고 있습니다…

---

<div class="post-metadata">

### Author: ![kaktak](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kaktak/32/529093_2.png) [@kaktak](https://meta.discourse.org/u/kaktak)
#### Post date: [4월 11, 2026, 7:27오전 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/6 "2026-04-11T07:27:15Z")

</div>

단기적으로 어떤 조치가 가능한지 살펴보고, 코어가 플러그인의 동작을 덮어쓰지 않도록 업데이트를 배포하겠습니다. 너무 어렵지 않기를 바랍니다. 결국 이것이 플러그인의 전체 철학의 일부이기 때문입니다. 바로 기본 기능과 동작, 그리고 이러한 것들을 포함하여 오버라이드하고 세밀하게 조정하는 것이죠.

---

<div class="post-metadata">

### Author: ![pacharanero](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pacharanero/32/500583_2.png) [@pacharanero](https://meta.discourse.org/u/pacharanero)
#### Post date: [9월 16, 2026, 3:51오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/7 "2026-09-16T15:51:31Z")

</div>

공개적으로 이 문제를 올리는 것이라 정말 죄송합니다. 플러그인 개발자인 @kaktak에게 개인적으로 연락을 취했지만 답변을 받지 못했습니다. 이 플러그인을 사용하는 사이트에 영향을 줄 수 있는 보안 문제이기 때문에 결국 커뮤니티에 알릴 수밖에 없었습니다.

**보안 문제** : 해당 플러그인은 사이트 전체의 `login_required`를 우회하여, 일반적으로 사이트 로그인이 필요한 콘텐츠가 공개된 `llms.txt`에 노출되게 만듭니다.

**중요한 부연 설명** : 카테고리 가시성이나 비공개 메시지의 보안은 우회되지 **않으므로** , 될 수 있는 최악의 상황보다는 덜 심각한 문제입니다!

플러그인 컨트롤러가 [calls `skip_before_action :redirect_to_login_if_required`](https://github.com/kaktaknet/discourse-llms-txt-generator/blob/cf99e6a28c77140ca99db05ca9380ff76dd3c8b5/app/controllers/discourse_llms_txt/llms_controller.rb#L10)를 호출하기 때문에, 로그인 필수 사이트에서는 익명 사용자가 일반적으로 볼 수 없는 주제 목록이 출력에 포함되어 나타납니다. 카테고리별 및 주제별 라우트에는 Guardian 체크가 적용됩니다.

로그인 필수 사이트에서는 수정될 때까지 이 플러그인을 비활성화할 것을 권고합니다. `llms.txt`가 필요하고 'login-required’가 설정된 것은 대부분의 사용자에게 다소 상반되는 요구사항이므로, 해당 설정을 사용하는 사이트는 많지 않을 수 있다는 점은 알고 있습니다.

[생성된 LLMs.txt가 코어에 포함](https://meta.discourse.org/t/automatically-generated-llms-txt/411435)되었기 때문에, 어쨌든 이 플러그인에 대한 필요성은 줄어든 상태입니다.

---

<div class="post-metadata">

### Author: ![satonotdead](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/satonotdead/32/447830_2.png) [@satonotdead](https://meta.discourse.org/u/satonotdead)
#### Post date: [9월 16, 2026, 9:30오후 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/8 "2026-09-16T21:30:11Z")

</div>

현재 실제 지원이 없음을 나타내기 위해 적절하게 태그를 지정하거나, 보안 문제에 대해 원 게시글에 주석을 추가해야 하는 것일까요?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [9월 17, 2026, 1:43오전 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/9 "2026-09-17T01:43:50Z")

</div>

아이고… 해결될 때까지 이 목록을 비공개로 두겠습니다.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [9월 17, 2026, 1:43오전 UTC](https://meta.discourse.org/t/discourse-llms-txt-generator-plugin/388170/10 "2026-09-17T01:43:54Z")

</div>


