One Assistant, Three Boundaries: What Doudou Can Really Do Offline

In yczz/oc-english, Doudou is the small assistant that sits between the learner’s question and the application’s existing content or customization state. This chapter examines what that local assistant actually routes, how a short clothing request becomes a saved wardrobe item, and why the offline design is both a sensible prototype choice and a strict limit on what can be called artificial intelligence. The useful result is a capability map, not a magical description of Doudou.

An assistant can appear broad simply because it accepts free text. The important question is what happens after the text arrives. Does the system search a knowledge base, select from a fixed drawing, assemble a visual fragment, call an outside model, or return a canned response? Doudou’s behavior becomes clear when those paths are separated.

Four routes, one local surface

Doudou’s interface presents one conversational surface, but its implementation recognizes several quite different intents. The first is word lookup. If the input contains an English word or a Chinese query that looks like a translation request, Doudou asks the Rust-backed content layer for matching words. The search looks for an English substring or a Chinese meaning and returns a bounded number of hits, each with the English form, gloss, and book title. Doudou formats those results for the chat panel.

This route does not make Doudou a second textbook. It reuses the same embedded curriculum that powers practice and exams. If a learner asks about a word, the assistant is retrieving an entry already present in the application’s content layer. That creates consistency: the word lookup can point back to the material the learner will meet in a unit. It also sets a clear limit: a word absent from the retained content may produce a “not found” response even if it is common in English.

The second route is grammar lookup. Doudou watches for terms such as plurals, comparison, be verbs, there be, or the present continuous, then sends the query to the grammar search command. The response is drawn from the application’s grammar points and is capped at a small number of cards. Again, the assistant is not reasoning through an arbitrary sentence. It is a quick entrance to an existing, bounded explanation layer.

The third route is drawing. Doudou recognizes a fixed set of subjects, such as a cat, dog, flower, house, or butterfly, and returns an SVG illustration with a simple background chosen from a few color cues. The user can ask for a drawing in natural language, but the output comes from a predefined library of vector fragments. The interaction feels conversational because the input is conversational; the visual capability remains enumerated.

The fourth route is outfit design. A request containing a garment term and a design verb can trigger a local generator. Doudou searches a small vocabulary for color, pattern, and garment cues, then chooses a slot and assembles SVG. It can recognize combinations such as a colored striped hoodie, but it does not infer an unrestricted fashion brief or render an arbitrary illustration. The output is a structured item that can enter the wardrobe, which makes this route more consequential than a chat-only response.

There are also help and fallback responses.