docs-search

toss's avatarfrom toss

Lightweight search utility for Toss / Apps-in-Toss llms-full.txt docs, caching sources and ranking snippets with keyword + similarity (Korean-aware) scoring.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 22, 2025⬇️1downloads

When & Why to Use This Skill

Docs Search is a high-performance, lightweight utility designed to streamline information retrieval from the Toss and Apps-in-Toss documentation ecosystem. By implementing advanced keyword matching and Korean-aware similarity scoring, it allows developers to instantly query and rank snippets from llms-full.txt sources, providing a faster and more precise alternative to manual documentation browsing.

Use Cases

  • API & Integration Reference: Quickly locate specific API endpoints, authentication flows, or payment gateway details within the Toss developer center.
  • Technical Troubleshooting: Search for optimization tips and porting guides, such as Unity WebGL performance or React Native configurations, using natural language queries.
  • Localized Documentation Search: Leverage Korean-aware similarity utilities to find relevant technical context in multi-lingual documentation sets.
  • Offline-Ready Research: Utilize the built-in caching mechanism to perform rapid documentation searches without repeated network requests, improving developer productivity in low-bandwidth environments.
namedocs-search
descriptionLightweight search utility for Toss / Apps-in-Toss llms-full.txt docs, caching sources and ranking snippets with keyword + similarity (Korean-aware) scoring.

Docs Search

Lightweight search utility and usage guide for the Toss / Apps-in-Toss llms-full.txt documents. It retrieves snippets from three sources with simple keyword + similarity scoring.

Sources

Files

  • requirements.txt: Python dependency (requests).
  • skills/docs-search/core/docs_search.py: CLI searcher that downloads and caches llms-full.txt files, then ranks paragraphs.
  • skills/docs-search/core/korean_similarity.py: Korean-aware similarity utilities.

Installation

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Usage

python -m core.docs_search -q "Unity WebGL optimization" -k 5
  • -q / --query: search query (required)
  • -k / --topk: number of results to show (default 5)
  • --refresh-cache: bypass cache and re-download all sources
  • Output: [index] <source URL> - <heading> / score: <score> / snippet

How it works

  • Downloads each llms-full.txt and caches under <temp>/apps-in-toss/skills/.cache/ (cross-platform: /tmp on Linux/macOS, %TEMP% on Windows).
  • Splits by blank lines into paragraphs and attaches the most recent heading (#, ##, etc.) as context.
  • Ranks by keyword overlap plus SequenceMatcher similarity; returns top results.

Examples

  • Quickly find where an API or guide is described.
  • Search optimization/porting/auth/payment references with queries like “Unity WebGL performance”.
  • Open the returned source URL in a browser for full context.

Notes

  • Searches only the text contained in llms-full.txt; it does not crawl linked pages.
  • Requires network access; deleting the cache triggers re-downloads.

Core workflow

  1. Fetch & cache: download each llms-full.txt and store under <temp>/apps-in-toss/skills/.cache/ (reuse cache when present).
  2. Chunk: split by blank lines, tagging each paragraph with the most recent heading.
  3. Score: keyword overlap (weight 2) + similarity; Korean text uses korean_similarity, otherwise SequenceMatcher.
  4. Rank & output: sort by score, return top‑k snippets (source URL, heading, score, snippet).
from core.docs_search import search

results = search("Unity WebGL optimization", topk=5, refresh=False)
for item in results:
    print(item["source"], item["heading"], item["score"])
    print(item["snippet"])

Requirements

  • Python 3.9+
  • requests>=2.31.0 — HTTP 요청 및 llms-full.txt 다운로드