AI Tools.

Search

About AI Tools Directory

Curated open-source AI models — summaries, use cases, and tradeoffs at a glance.

What this site does

AI Tools Directory indexes HuggingFace public API and GitHub data and provides structured directory pages to help you evaluate options quickly. Each entry includes:

Why it exists

Directory sites exist because raw API data is not human-readable at scale. We add a thin, opinionated editorial layer on top of public data so you can decide faster whether a project is worth a deeper look. This is intentionally a starting point for evaluation, not a substitute for reading the source repository, model card, or store page.

How content is produced — and what is not verified

Text on this site is produced in one of three ways: (a) written or line-edited by hand by the operator and signed with a date; (b) drafted with Claude through Claude Code sessions or scheduled routines the operator runs against the upstream metadata, then spot-checked — not individually reviewed unless (a) applies; (c) assembled by deterministic templates from metadata. We stopped calling Anthropic's API from the pipeline in May 2026; entries drafted through the API before then are not distinguishable from (b) and are labelled Claude-drafted.

On this site that maps as follows:

1. Data ingestion — path (c): the fields shown for each model (metadata, download or star counts, timestamps, licenses, tags) were fetched from HuggingFace public API and GitHub by a scheduled job. For this site that job currently runs with new-model ingestion switched off (the fetch limit is set to zero in the pipeline configuration), so no new entries are added and the counts and timestamps shown are those of the last fetch, not live values. These fields are shown as fetched and are not hand-edited.

2. Per-model summary, use cases, and pros/cons — path (b) or (c): when a model is first added, the pipeline fills these fields from a deterministic template. A scheduled Claude Code routine (nominally weekly) run under the operator's account later replaces template text with Claude-drafted text for a batch of entries. Every row in the data set carries a label naming the generator that produced its text — claude-routine, metadata-derived, polish-py-template, fallback-template or human-edited — and only claude-routine and human-edited rows are built into pages; rows carrying one of the three template labels are kept as data and get no page. The labels were re-derived on 2026-09-06 by matching each row's stored text against the deterministic generators, which makes claude-routine a residual class: text that matches none of the templates. A label says how the text was produced, not that it is correct — the operator spot-checks samples of the routine's output, and entries are not individually read, run, or tested for this site.

3. Facts block — path (c): a table of upstream metadata (publisher, pipeline tag, library, licence, downloads, likes) rendered directly from the source. Pages carry no template-generated prose: the page template no longer adds "how we look at" or FAQ paragraphs.

4. This About page, the legal pages, and the Contact page — path (a): written by the operator.

Where licensing, version numbers, or recent model activity matter to a decision, every page links the upstream source as the primary citation so you can confirm the current state directly. Correction requests sent to the contact email below are handled by the operator.

Editorial principles

Update cadence

Affiliations

We are not affiliated with any of the vendors, projects, or models listed. We are an independent directory.

Operator

This site is operated by Yusuke Morinaga, an independent developer based in Japan who builds and self-hosts small web products. Editorial decisions, rankings, and corrections are handled by the operator directly.

Contact

Corrections, partnership inquiries, removal requests, or feedback: [email protected].

Which entries have a public page

The pipeline's export (models.json) holds 1,859 model rows. 240 of them have a page on this site. The other 1,619 are kept as data only and are not built, so their /models/… URLs return 404. Nothing is deleted from the export; the page set is decided at build time by the rule below (apps/ai-tools/src/lib/curation.ts in the site repository).

A model page is built only when all three hold:

  1. The summary was written for that entry. Each row records which generator produced its text. Pages are built for claude-routine and human-edited (drafted by the scheduled Claude Code routine, or edited by the operator). Rows whose text came from a deterministic template — polish-py-template (fixed sentences chosen per pipeline), metadata-derived (sentences assembled from HuggingFace metadata) and fallback-template (the ingest placeholder) — are not built. This currently keeps 801 rows off the site. The labels were re-derived on 2026-09-06 by matching each row's stored text against the deterministic generators, so claude-routine is the residual class — text that matches none of the templates. The label therefore says how a summary was produced; it is not a review of whether the summary is right.
  2. The id is not a CI test fixture (HuggingFace repos such as *-testing/*, tiny-random-*, dummy-*): 36 rows.
  3. Someone is looking for it. Either the URL had at least one impression in the Google Search Console export committed to the repository (Google Search Console searchAnalytics (page dimension); captured 2026-09-04, previous 90 days; 276 model URLs had impressions) — 156 pages — or the entry is on the editorial allow-list (editorial-picks.json, 84 entries) — 84 pages. The allow-list exists so a page that has never been shown in search can still be published; its current criterion is recorded in the file itself: Manual allow-list for the publish gate (apps/ai-tools/src/lib/curation.ts). Entries whose summary is labelled claude-routine, whose id is not a CI fixture, that had 0 impressions in the GSC snapshot (src/data/gsc-demand-2026-09.json) and that had >= 1000 HuggingFace likes at the last fetch; third-party quantised/merged repacks (GGUF/AWQ/GPTQ/MLX/uncensored/merge …) of another publisher's checkpoint are left out because the upstream repo is the canonical entry. Slugs may be added or removed by hand; a slug listed here is published even with 0 impressions. Rows that pass 1 and 2 but neither part of 3 are not built: 782 rows.

Pipeline pages (/tags/…) are built for the 34 pipelines that have at least one published model; 12 of them list 5 or more models and are the ones linked from the home page and the sitemap — the rest are marked noindex. Comparison pages (/compare/…) are built only when a person wrote the key differences and both models are published: 0 of 50 comparison rows qualify today.

The search-demand snapshot is a file in the repository, not a live query; it is re-captured by hand and the page set only changes when the file or the allow-list changes.