5 OneChat is a Go program. It prints its name. It is in early development.
12 OneChat keeps its data and its token file in one directory. It uses the
15 #. ``ONECHAT_DIR``, when it is set.
16 #. ``$XDG_DATA_HOME/onechat``, when ``XDG_DATA_HOME`` is an absolute
17 path. A relative value is ignored.
18 #. ``~/.local/share/onechat``. With no home directory, OneChat exits
21 OneChat creates the directory with mode 0700.
27 ``config.json`` in the data directory holds the settings. OneChat does
28 not create it. A missing file or field takes the default, and an unknown
34 "endpoint": "chatgpt",
35 "compactor": {"model": "gpt-6-luna", "effort": "high"}
39 ``chatgpt`` (the default) sends model calls to the ChatGPT backend
40 with the subscription login. ``api`` sends them to the OpenAI API
41 with the key in ``OPENAI_API_KEY``, which must then be set. With
42 ``chatgpt``, OneChat ignores ``OPENAI_API_KEY``.
45 The model and the reasoning effort of the summaries. The defaults are
46 ``gpt-6-luna`` and ``high``.
52 The ``chatgpt`` endpoint needs a login with a ChatGPT account:
58 The command shows a link and a code. Open the link on any device, enter
59 the code, and approve the login. Device code login must be allowed in
60 the ChatGPT security settings. OneChat writes the tokens to
61 ``auth.json`` in the data directory, with mode 0600, and refreshes them
62 before they expire. The file belongs to OneChat only. Do not share it
63 with the Codex CLI, because each program rotates the refresh token and
70 Nix supplies the Go toolchain and all tools. Enter the development shell
83 The shell sets ``ONECHAT_DIR`` to ``.devenv/onechat`` in the checkout,
84 unless it is already set. Development data goes there, and Git ignores
94 Format and check all files: