Kotoba

Where to start

What Kotoba isWho she is and where she runs, in one page
InstallingOne package, two commands
First runA key, a model, her first words
The approval gateHow she asks before she acts
The two voice modesLocal voice, or the agent tunnel
The soul fileChange who she is
RoadmapWhat grows next, and what was cut on purpose

Or a section

↑↓ move openesc close124 pages
All pages

Contributing and reference12 of 12

Getting help, and reporting a problem

About 5 minutes to read

On this page

Four channels, and which one you want depends entirely on what kind of problem it is.

Kind of problemWhere
Something does not worka bug report issue
Something should be possiblea feature request issue
A security vulnerabilitynever a public issue — see below
Someone's behavioura conduct report — see below

These are the channels the repository's own documents name. They are named here to match, not to extend: nothing on this page invents a mailbox, a chat server or a forum, because the repository has none.

Before you open anything

Run kotoba doctor. It names your platform, your Python, which extras are installed and which piece is missing, and the bug report template says outright that most reports are answered by it.

Bug reports

Use the Bug report template. It asks five things, four of them required:

  1. What happened — what you did, what you expected, what you got instead.
  2. Which version — the output of kotoba --version. doctor does not name it from a clone.
  3. What kotoba doctor says — the whole output. Redact nothing but secrets.
  4. Where — the web app, the terminal, Discord, the voice call, installing, or something else.
  5. Anything the log said — from ~/.kotoba/cli.log, or the terminal the backend was running in.

Feature requests

Use the Feature request template. Its first field asks for the problem, not the solution, and the reason is written into it: the problem often has a shorter answer than the one imagined.

What helps most is the shape of the thing you were trying to do when you hit the wall — not the feature you designed to fix it.

Blank issues are enabled, so a question that fits neither template still has somewhere to go.

Security

Do not open a public issue for a security problem.

Two private routes, both named in SECURITY.md:

  • The report form at kotoba.rodhnin.com/report.
  • A GitHub security advisory, which stays private until a fix ships and keeps the report attached to the code.

Say what you did, what happened, and what you expected. A proof of concept helps and is not required.

Neither channel could be verified from the repository. Both are external services, and whether they are live is not a fact any file here records.

What the project commits to

StageWhat SECURITY.md says to expect
First replywithin 14 days, saying whether it reproduces — usually much sooner
While it is openyou are told what is being done, and asked before anything is published
Disclosurewhen the fix ships, or 90 days after the report, whichever comes first
Wherea published advisory on the repository, and a CVE where one is warranted
Credityour name in the advisory, or none at all — your choice

The 90 days is a ceiling, not a target. Ask for longer and it will be honoured; if the problem is already public, disclosure is immediate.

There is no bug bounty. It is a small project and there is no money in it.

Supported version: the latest release. Older versions get no backports — the fix is the upgrade.

In scope

Kotoba running as documented, on a machine you control: the backend, the terminal, the web UI, the Discord bot, and the packaged wheel.

Out of scope

Because they are the product working as designed and documented:

  • Anything she does after you approve an approval card. The card is the boundary.
  • Everything on the what does not protect you list in SECURITY.md.
  • Ordinary commands under KOTOBA_SANDBOX=docker, where the container is the boundary.
  • Exposing the backend to a network without setting a gate password.
  • Third-party services she talks to — report those to the service.

Testing safely

Test against your own install. Do not test against anyone else's machine, and do not use a vulnerability to reach data that is not yours. A report made in good faith under those terms will be treated as help, not as an attack, and no legal action will be sought over it.

Conduct

The Code of Conduct is the Contributor Covenant 2.1, used under CC BY 4.0.

This project has no private mailbox, and a conduct report should not have to be made in public. So:

  • To reach the maintainers privately, use the report form, or the GitHub security advisory form — it is labelled for security because that is what GitHub built it for, but it is the only private channel GitHub gives a project. Say at the top that it is a conduct report.
  • If the person you are reporting is a maintainer, or you would rather it were handled outside this project entirely, use GitHub's own abuse reporting. It reaches GitHub staff, not the project.

Do not put names or details in a public issue.

The enforcement ladder is four rungs: a private written warning, a warning with consequences, a temporary ban, a permanent ban.

Documentation

The repository keeps its Markdown short and points at the documentation site for the long guides. In the repository itself:

FileWhat it covers
README.mdwhat Kotoba is, the quick start, the limitations
docs/self-hosting.mdrunning it yourself
docs/cli.mdthe terminal client
CONTRIBUTING.mdways to contribute, the layout, the dev setup, the conventions
SECURITY.mdwhat protects you, and what does not
ROADMAP.mdwhat is next, and what is deliberately not planned
CHANGELOG.mdwhat changed
THIRD_PARTY_NOTICES.mdevery third-party licence, including Live2D's

If something in docs/ was unclear when you were setting Kotoba up, fixing it is listed in CONTRIBUTING.md as a way to contribute.