git404hub

what is noblack fr?

15515151/noblack — explained in plain English

Analysis updated 2026-05-18

15GoAudience · developerComplexity · 3/5LicenseSetup · easy

tl;dr

A Go service that scans text for configured keywords using the Aho-Corasick algorithm, with a web console, hot-reloading keyword lists, and usage stats.

vibe map

mindmap
  root((noblack))
    What it does
      Scans text for keywords
      Hot reloads word list
      Tracks usage stats
    Tech stack
      Go
      Aho-Corasick
      Docker
    Use cases
      Customer service routing
      Content moderation
      Compliance checks
    Audience
      Developers
    License
      AGPL copyleft

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Scan customer service chat messages for keywords that should route to a specific team.

VIBE 2

Flag text content for manual review based on a configurable keyword and tag list.

VIBE 3

Build a compliance check that warns when specific words appear in user-submitted text.

VIBE 4

Run keyword detection alongside a local AI model for extra accuracy on flagged terms.

what's the stack?

GoAho-CorasickDocker

how it stacks up fr

15515151/noblackbunnymq/bunnymqd4l3k/wikigopher
Stars151515
LanguageGoGoGo
Last pushed2019-06-25
MaintenanceDormant
Setup difficultyeasyhardmoderate
Complexity3/55/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 30min

Requires Go 1.21 or newer, or Docker, to run the service.

You can use and modify this freely, but if you run a modified version as a network service, you must make your modified source code available to its users.

in plain english

noblack is a lightweight text keyword matching service written in Go. It is built around the Aho-Corasick algorithm, a method that lets it scan a piece of text for many keywords at once in a single pass instead of checking each word separately. It is meant for tasks like content classification, flagging text for review, routing messages based on rules, compliance warnings, or checking customer service conversations for words that need attention. Text is processed character by character in a way that correctly handles Chinese, English, and emoji, and returns the exact position in the text where each keyword was found. Each keyword entry can carry multiple category tags and notes, and a single entry can define several keywords at once by separating them with commas, so they all share the same tags and notes. The service comes with a built-in web console and an HTTP API for managing the keyword list: adding, editing, deleting, and listing entries, along with reloading the list from a file either automatically when the file changes or by calling an API endpoint. When the keyword list updates, the service builds a brand new matching engine in the background and swaps it in only once it is ready, so requests already in progress keep using the old version and nothing is blocked while the update happens. It also tracks basic usage statistics, like how many requests came in and which keywords matched most often, and these can optionally be saved to a file. Write operations to the keyword list can be locked behind an access token, and the service limits how large an incoming request body can be, rejecting very large ones outright. It also supports two optional local AI models that run alongside the keyword matching for additional detection, with results from both models shown together. It runs directly with Go, or through Docker and Docker Compose, and its code is licensed under the GNU Affero General Public License version 3.

prompts (copy fr)

prompt 1
Help me run this noblack keyword matching service locally with Go and load my own words.json file.
prompt 2
Show me how to deploy noblack with Docker Compose and mount a persistent data directory.
prompt 3
Write a curl request to add a new keyword entry with tags and notes to this service's API.
prompt 4
Explain how noblack's hot-reload mechanism swaps in an updated keyword list without downtime.

Frequently asked questions

what is noblack fr?

A Go service that scans text for configured keywords using the Aho-Corasick algorithm, with a web console, hot-reloading keyword lists, and usage stats.

What language is noblack written in?

Mainly Go. The stack also includes Go, Aho-Corasick, Docker.

What license does noblack use?

You can use and modify this freely, but if you run a modified version as a network service, you must make your modified source code available to its users.

How hard is noblack to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is noblack for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.