+****************
+ Data directory
+****************
+
+OneChat keeps its data and its token file in one directory. It uses the
+first of these:
+
+#. ``ONECHAT_DIR``, when it is set.
+#. ``$XDG_DATA_HOME/onechat``, when ``XDG_DATA_HOME`` is an absolute
+ path. A relative value is ignored.
+#. ``~/.local/share/onechat``. With no home directory, OneChat exits
+ with an error.
+
+OneChat creates the directory with mode 0700.
+
+***************
+ Configuration
+***************
+
+``config.json`` in the data directory holds the settings. OneChat does
+not create it. A missing file or field takes the default, and an unknown
+field is an error.
+
+.. code:: json
+
+ {
+ "endpoint": "chatgpt",
+ "compactor": {"model": "gpt-6-luna", "effort": "high"}
+ }
+
+``endpoint``
+ ``chatgpt`` (the default) sends model calls to the ChatGPT backend
+ with the subscription login. ``api`` sends them to the OpenAI API
+ with the key in ``OPENAI_API_KEY``, which must then be set. With
+ ``chatgpt``, OneChat ignores ``OPENAI_API_KEY``.
+
+``compactor``
+ The model and the reasoning effort of the summaries. The defaults are
+ ``gpt-6-luna`` and ``high``.
+