A fully offline general-knowledge fallback for OVOS - "who was
Charlie Chaplin", "what is the Eiffel Tower", "tell me about tomato".
An offline alternative to ovos-skill-wikipedia/ovos-skill-ddg/
ovos-skill-wolfie for the topics covered by each language's own
Wikipedia "Level 4 Vital Articles" equivalent - the subjects that
language's Wikipedia community itself has curated as the most
essential encyclopedia entries. No internet connection needed at
runtime for the natively-supported languages. English, Spanish, and
French are natively supported; any other language works too via
on-demand translation - see Language support
below.
- Usage
- What this is (and isn't)
- Language support
- A Common Query + Fallback skill, not a fixed intent
- Data sourcing and licensing
- Known limitations
- Install
- Development
"who was Charlie Chaplin"
"what is the Eiffel Tower"
"tell me about tomato"
"what do you know about photosynthesis"
"where is Mount Everest"
"quién fue Charlie Chaplin" (Spanish)
"cuéntame sobre el Tomate" (Spanish)
"qui était Charlie Chaplin" (French)
"parle-moi de la Tomate" (French)
"hvem var Charlie Chaplin" (Danish, via translation - see below)
"wer war Charlie Chaplin" (German, via translation - see below)
An encyclopedia lookup, not a reasoning engine. It resolves a single named entity from the question and speaks that entity's own short summary. It can answer "what is a tomato" but not "are tomatoes and potatoes related" - the second is a comparison across two entities, and there's no structured data being compared here, only free-text extracts (some relational questions get answered by luck, when one entity's own summary happens to mention the other - not by design). See DEVELOPMENT.md for the reasoning.
| Language | How | Notes |
|---|---|---|
English (en-us) |
Native, bundled data | ~10,000 topics |
Spanish (es-es) |
Native, bundled data | ~6,200 topics - 3 of 11 topic categories are missing from the source list itself, see Known limitations |
French (fr-fr) |
Native, bundled data | ~10,000 topics |
| Any other language | On-demand translation | Works automatically, no bundled data - requires a translation plugin to be installed and configured, see below |
The natively-supported languages need nothing beyond pip install ovos-skill-wiki-offline - the data ships with the skill. For every
other language (German and Danish included), this skill translates
the question and answer on the fly, using whatever OVOS translation
plugin is configured on the device - it doesn't ship or require one
itself. Recommended:
ovos-translate-plugin-nllb,
which runs a local NLLB-200 model (no internet connection needed once
the model is downloaded, unlike ovos-translate-plugin-server, which
calls a remote server by default). See Install below for
the setup steps. Translated answers take a few extra seconds
(typically 2-5s) compared to a native-language answer - see
DEVELOPMENT.md "Ad-hoc translation for unsupported languages" for
measured performance and the full design reasoning.
Every sibling skill in this project family (geography, geometry,
convert, calculator) uses fixed Padatious intents as the primary
path. This one doesn't - ~10,000 arbitrary proper nouns don't fit a
bounded intent-slot vocabulary the way 194 countries or 24 geometry
terms do. Instead this skill competes via Common Query (alongside
Wikipedia/DDG/Wolfram, when the platform routes a question there) and
catches whatever's left via a Fallback handler - the same dual
pattern ovos-skill-wolfie already uses. See DEVELOPMENT.md for the
full reasoning, including why this needed extending FallbackSkill
specifically (not just adding the @fallback_handler decorator to a
plain skill).
Article titles and summaries both come directly from Wikipedia's own
official APIs - the Level 4 Vital Articles category structure for the
title list, and the REST summary API for the short spoken extracts.
Wikipedia content is CC BY-SA 4.0; this skill bundles it offline the
same way ovos-skill-wikipedia reads it aloud live. Full
attribution and licensing details, plus why Level 4 was chosen over
Kiwix/ZIM, DBpedia, or Wikipedia's own larger vital-article levels:
CREDITS.md and DEVELOPMENT.md.
- Non-native languages need a translation plugin configured - see Language support and Install.
- The Spanish dataset is smaller (~6,200 topics vs ~10,000 for English/French) - 3 of Spanish Wikipedia's own 11 topic categories (biology/health, physics, social sciences) don't actually exist as pages despite the source list claiming full completion. See DEVELOPMENT.md "The Spanish gap" for the full story - this means Spanish can't currently answer biology, physics, or social-science questions.
- Single-entity lookup, not relational reasoning - see above and DEVELOPMENT.md.
-
A snapshot, not a live mirror - each
data/summaries_<lang>.jsonreflects Wikipedia as of wheneverdata/build_data.pywas last run for that language, not the current live article. - Scope is Level 4 (~10,000 topics for en-us/fr-fr) - Level 5 (50,000 articles) exists as a natural future extension (Level 4 is a strict subset), not built in v1.
pip install ovos-skill-wiki-offlineThat's enough for English, Spanish, and French. For any other language (German, Danish, or anything else), also install and configure a translation plugin - see Language support above for why this skill doesn't bundle one itself. Recommended, fully-local option:
pip install ovos-translate-plugin-nllbThen add this to ~/.config/mycroft/mycroft.conf (or wherever your
OVOS config lives):
{
"language": {
"translation_module": "ovos-translate-plugin-nllb",
"ovos-translate-plugin-nllb": {
"model": "nllb-200_600M_int8"
}
}
}Restart ovos-core after installing/configuring. The model
(~600MB) downloads automatically on first use and takes roughly 40
seconds to load the first time a translated answer is requested after
each restart - after that it stays loaded for the rest of the
session. Full plugin details, other model size options, and GPU
configuration:
ovos-translate-plugin-nllb on GitHub.
Any OTHER OVOS translation plugin works too, as long as
language.translation_module points to it - this skill uses
whatever's configured, generically, not specifically NLLB.
See DEVELOPMENT.md.
Information
#wikipedia #offline #encyclopedia #reference #commonquery #fallback