]> git.giacomolli.uk - onechat/blobdiff - README.rst
Send the cache key in the session_id header
[onechat] / README.rst
index 362eeebd7d3d807a38dbeb2ce08d50a02e7569f1..c74a815ee0387db961d3d4d1953b8280114d23e0 100644 (file)
@@ -45,6 +45,43 @@ field is an error.
    The model and the reasoning effort of the summaries. The defaults are
    ``gpt-6-luna`` and ``high``.
 
+*******
+ Login
+*******
+
+The ``chatgpt`` endpoint needs a login with a ChatGPT account:
+
+.. code:: console
+
+   onechat login
+
+The command shows a link and a code. Open the link on any device, enter
+the code, and approve the login. Device code login must be allowed in
+the ChatGPT security settings. OneChat writes the tokens to
+``auth.json`` in the data directory, with mode 0600, and refreshes them
+before they expire. The file belongs to OneChat only. Do not share it
+with the Codex CLI, because each program rotates the refresh token and
+logs the other out.
+
+*******
+ Probe
+*******
+
+``onechat probe LOG COUNT`` measures the compactor on a log. It appends
+the first COUNT messages of LOG, one JSON object ``{"kind", "text"}`` on
+each line, to a new chat in ``probe/`` in the data directory, and builds
+its tree with real model calls. The calls use the quota of the account.
+The run stops at the first failed call, or when the used percent of a
+quota window grows by more than 15 points. At the end it reports the
+calls per message, the cached share of the input tokens, the retries,
+the line sizes, and the quota at the first and the last call.
+
+A test writes a generated log of readable made-up messages:
+
+.. code:: console
+
+   ONECHAT_PROBE_LOG=probe.jsonl go test -run TestProbeLogHasTheSyntheticMix
+
 *************
  Development
 *************