Caicurator
Caicurator finds all the Character AI indices from your web browser history and then displays every bot you had ever talked to in a convenient web menu.
Screenshot
https://github.com/user-attachments/assets/818ec3e3-1602-4237-97d2-4663e912adac
Usage
Run caicurator to see this error message:
2026-01-24 20:40:00.067 | ERROR | caicurator.cli:main:19 - Configuration not found. '/home/myxi/.config/caicurator/config.ini' doesn't exist.
Create a config.ini at the path the error wants. Please head over to Configuration for more information.
Installation
From PyPi
pip install caicurator
From Source
pip install git+https://github.com/eeriemyxi/caicurator.git
Configuration
Caicurator uses a config.ini file to store all the configurations.
[common]
LOG_PATH = <default>
[auth]
TOKEN = ...
[browser]
CHROMIUM_HISTORY_FILES = ["~/.config/vivaldi/Default/History"]
GECKO_HISTORY_FILES = ["~/.zen/3g4fsk4q.Default (release)/places.sqlite"]
[fetch]
PATH = <default>
BATCH_SIZE = 4
SLEEP_RANGE = 1, 5
HTML_GEN_INTERVAL = 2
[html]
PATH = <default>
SORTING = newest
<default> means the default value will be used. Using this means the relevant content will be under the configuration directory, e.g., .../chars/, .../index.html, and .../logs/.
common.LOG_PATH is the path to the log file. A directory.
auth.TOKEN is the token that you get from CharacterAI. You can find the token in the dev tools of your browser:
Copy the
Authorization request header's value without Token.
browser.CHROMIUM_HISTORY_FILESis a list of paths to theHistoryfile of your Chromium-based browser profiles (e.g., Vivaldi, Chrome).browser.GECKO_HISTORY_FILESis a list of paths to theplaces.sqlitefile of your Gecko-based browser profiles (e.g., Firefox, Zen).
fetch.PATHis the path to the directory that contains all the character indices.fetch.BATCH_SIZEis the number of async requests that will be sent to the server.fetch.SLEEP_RANGEis the range of seconds that will be randomly chosen to sleep between each batch.fetch.HTML_GEN_INTERVALis the interval of generating the HTML page; e.g.,2means it generates every 2 batches.
html.PATHis the path to the HTML file.html.SORTINGis the sorting method. It can benewestoroldest.
Finding History File
Gecko-based browsers (Firefox, LibreWolf, Zen, Waterfox, etc.)
- Type
about:profiles→ see "This is the profile in use" section → full path shown. - Or
about:support→ "Profile Folder" row → "Open Folder" button.
Under the profile folder you will find the places.sqlite file.
Chromium-based browsers (Chrome, Edge, Brave, Vivaldi, Opera, etc.)
The default profile is almost always the folder named Default (not numbered). Additional profiles are Profile 1, Profile 2, etc.
- Type
chrome://version(oredge://version,brave://version, etc.) in the address bar. - Look for "Profile Path" line → shows full path to the "current active profile" (e.g.
...\User Data\Defaultor...\User Data\Profile 3). - Click the path (or copy-paste into File Explorer / file manager) to open it directly.
Under the profile folder you will find the History file.
Command-line Arguments
> caicurator
Usage: caicurator [OPTIONS] COMMAND [ARGS]...
Curate and display Character AI web browser history
Options:
-L, --log-level [trace|debug|info|success|warning|error|critical]
-v, -V, --version Show the version and exit.
--help Show this message and exit.
Commands:
chars manage characters index (update)
html manage the HTML page (open, update)
info show helpful information
🔗 Homepage: https://github.com/eeriemyxi/caicurator
> caicurator chars
Usage: caicurator chars [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
update update the characters index with latest information.
> caicurator html
Usage: caicurator html [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
open open the HTML page on your default web browser.
update update the HTML page with latest information.
Metadata
Release files for caicurator 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| caicurator-0.7.0.tar.gz | 846.8 kB | With provenance | Details for caicurator-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| caicurator-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for caicurator-0.7.0-py3-none-any.whl |
Total release size: 860.3 kB
Release files / caicurator-0.7.0.tar.gz
| Download URL | caicurator-0.7.0.tar.gz |
|---|---|
| Size | 846.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e6c98d7d92f049ab1d3669d4130f176c2f0e7b04740ab1ac31ec4734751b932
|
|
BLAKE2b-256 checksum How to use checksums |
e4db48eefc73aa2d14e0b9ecd9ec5ed1de0bb80354f15b4c1a8132be76b12361
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 25, 2026.
Transparency logRelease files / caicurator-0.7.0-py3-none-any.whl
| Download URL | caicurator-0.7.0-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6f62229090fdec41d2162636930d24d871b15948fb9977b580bad485a66893f
|
|
BLAKE2b-256 checksum How to use checksums |
6a0ef0733601091bb81e8e8562912abcba86e5f3ec30670582a7529f83277c86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 25, 2026.
Transparency logSecurity for caicurator 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for caicurator-0.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.