README: demo video, one-line installers, refreshed for 0.1.0
- Embed the demo recording (video/Kigi.mp4, 2.3MB) at the top. - Installation section with the curl | bash one-liner for macOS/Linux and the irm | iex one-liner for Windows, both pointing at this repo's install scripts, plus the SHA256SUMS/self-update notes. - Drop the stale 'M0 complete, M1 in progress' status; fold coexistence, the read-only ~/.kimi import, and zero-telemetry into their own section; note the OAuth-only search/fetch tools and K3 thinking levels in the providers section.
This commit is contained in:
@@ -1,43 +1,63 @@
|
||||
# Kigi
|
||||
<div align="center">
|
||||
|
||||
**Kigi** (`kigi`) is an unofficial Kimi Code CLI community build — a
|
||||
terminal-based AI coding agent based on the Apache-2.0 sources of
|
||||
[xai-org/grok-build](https://github.com/xai-org/grok-build), re-targeted at
|
||||
the Kimi Code subscription API and the Moonshot open platform.
|
||||
<h1>Kigi (<code>kigi</code>) 🌘</h1>
|
||||
|
||||
**Kigi** is an unofficial Kimi Code CLI community build — a terminal-based
|
||||
AI coding agent re-targeted at the Kimi Code subscription API and the
|
||||
Moonshot open platform, built on the Apache-2.0 sources of
|
||||
[xai-org/grok-build](https://github.com/xai-org/grok-build).
|
||||
|
||||
It runs as a full-screen TUI that understands your codebase, edits files,
|
||||
executes shell commands, and manages long-running tasks — interactively,
|
||||
headlessly for scripting/CI, or embedded in editors via the Agent Client
|
||||
Protocol (ACP).
|
||||
executes shell commands, searches the web, and manages long-running tasks —
|
||||
interactively, headlessly for scripting/CI, or embedded in editors via the
|
||||
Agent Client Protocol (ACP).
|
||||
|
||||
Kigi is not affiliated with Moonshot AI or xAI. It coexists with the official
|
||||
`kimi` CLI on the same machine: independent binary name, independent config
|
||||
directory (`~/.kigi`), independent keyring credentials, and a `KIGI_*`
|
||||
environment-variable namespace. Nothing the official client installs or
|
||||
stores is touched.
|
||||
[Installation](#installation) ·
|
||||
[Providers and API keys](#providers-and-api-keys) ·
|
||||
[Building from source](#building-from-source) ·
|
||||
[Coexistence with the official CLI](#coexistence-with-the-official-kimi-cli) ·
|
||||
[License](#license)
|
||||
|
||||
## Status
|
||||
https://github.com/ZacharyZhang-NY/Kigi-CLI/raw/main/video/Kigi.mp4
|
||||
|
||||
`0.1.0` — milestone M0 (compilable skeleton) complete:
|
||||
</div>
|
||||
|
||||
- 62 workspace crates renamed to the `kigi-*` namespace; brand and env-var
|
||||
namespaces separated from upstream.
|
||||
- Telemetry, voice input, announcements, plugin marketplace, and
|
||||
relay/gateway remote services removed. Kigi is **zero-telemetry**: the
|
||||
only outbound connections are the inference/auth APIs you configure,
|
||||
GitHub Releases for updates, and MCP servers you add.
|
||||
- Toolchain Rust 1.97.0; `cargo check`/`clippy --workspace --all-targets`
|
||||
clean; `cargo deny check advisories` gate in place.
|
||||
---
|
||||
|
||||
Authentication and inference against Kimi Code (milestone M1), the
|
||||
compatibility surface (M2), and release distribution (M3) are in progress.
|
||||
## Installation
|
||||
|
||||
Prebuilt single-file binaries for macOS (arm64/x86_64), Linux (arm64/x86_64),
|
||||
and Windows (x86_64) are published on
|
||||
[GitHub Releases](https://github.com/ZacharyZhang-NY/Kigi-CLI/releases):
|
||||
|
||||
```sh
|
||||
# macOS / Linux
|
||||
curl -fsSL https://raw.githubusercontent.com/ZacharyZhang-NY/Kigi-CLI/main/install.sh | bash
|
||||
```
|
||||
|
||||
```powershell
|
||||
# Windows PowerShell
|
||||
irm https://raw.githubusercontent.com/ZacharyZhang-NY/Kigi-CLI/main/install.ps1 | iex
|
||||
```
|
||||
|
||||
```sh
|
||||
kigi --version # kigi 0.1.0 … unofficial Kimi Code CLI community build
|
||||
kigi login # sign in with your Kimi Code subscription (device-code flow)
|
||||
kigi # start the TUI
|
||||
```
|
||||
|
||||
The installer verifies every download against the release's `SHA256SUMS`,
|
||||
installs into `~/.kigi/bin/kigi` (`%USERPROFILE%\.kigi\bin\kigi.exe` on
|
||||
Windows), and prints the PATH line to add. Later releases arrive through the
|
||||
built-in self-updater (`kigi update`, gated by `KIGI_AUTO_UPDATE`), which
|
||||
pulls from the same GitHub Releases feed.
|
||||
|
||||
## Providers and API keys
|
||||
|
||||
Kigi talks to a fixed three-platform registry:
|
||||
|
||||
| Platform id | Base URL | Auth |
|
||||
| ------------- | ------------------------------- | --------------------------- |
|
||||
| ------------- | -------------------------------- | --------------------------- |
|
||||
| `kimi-code` | `https://api.kimi.com/coding/v1` | Kimi Code subscription OAuth (`kigi login`) |
|
||||
| `moonshot-cn` | `https://api.moonshot.cn/v1` | Moonshot open-platform API key |
|
||||
| `moonshot-ai` | `https://api.moonshot.ai/v1` | Moonshot open-platform API key |
|
||||
@@ -62,16 +82,21 @@ api_key = "sk-..."
|
||||
|
||||
On login and on startup Kigi syncs each configured platform's model list
|
||||
from `GET {base}/models` and shows the merged catalog in the model picker
|
||||
(catalog keys are `{platform_id}/{model_id}`). If the sync fails, the last
|
||||
cached catalog is used; with no cache, a small built-in fallback list
|
||||
applies. Model selection resolves as
|
||||
`--model` CLI flag > `KIGI_DEFAULT_MODEL` > `[models] default` in
|
||||
config.toml > server-delivered list > built-in fallback.
|
||||
(catalog keys are `{platform_id}/{model_id}`). Models that advertise
|
||||
selectable thinking levels (e.g. K3's `low`/`high`/`max`) expose them in
|
||||
`/model` and `/effort`. If the sync fails, the last cached catalog is used;
|
||||
with no cache, a small built-in fallback list applies. Model selection
|
||||
resolves as `--model` CLI flag > `KIGI_DEFAULT_MODEL` > `[models] default`
|
||||
in config.toml > server-delivered list > built-in fallback.
|
||||
|
||||
`KIGI_CODE_BASE_URL` re-points the subscription platform (useful for
|
||||
testing); `KIGI_MOONSHOT_CN_BASE_URL` / `KIGI_MOONSHOT_AI_BASE_URL` are the
|
||||
equivalent dev/test overrides for the open platforms.
|
||||
|
||||
The web `search`/`fetch` tools ride the Kimi Code subscription services and
|
||||
are present only on OAuth sessions — API-key-only sessions run without
|
||||
them, matching the official client.
|
||||
|
||||
## Building from source
|
||||
|
||||
```sh
|
||||
@@ -84,9 +109,27 @@ cargo build --profile release-dist -p kigi-bin
|
||||
launcher at `bin/protoc`; install dotslash (`brew install dotslash` or
|
||||
`cargo install dotslash`) if it is not already on your PATH.
|
||||
|
||||
## Coexistence with the official Kimi CLI
|
||||
|
||||
Kigi is not affiliated with Moonshot AI or xAI, and it coexists with the
|
||||
official `kimi` CLI on the same machine: independent binary name,
|
||||
independent config directory (`~/.kigi`), independent keyring credentials
|
||||
(service `kigi`), and a `KIGI_*` environment-variable namespace. Nothing
|
||||
the official client installs or stores is ever read at runtime or written.
|
||||
On first launch Kigi offers a **one-time, strictly read-only** import of
|
||||
your existing `~/.kimi` configuration (MCP servers, custom providers,
|
||||
default model) via `kigi import-kimi` — file contents and mtimes under
|
||||
`~/.kimi` are left untouched, verified by tests.
|
||||
|
||||
Kigi is **zero-telemetry**: the only outbound connections are the
|
||||
inference/auth APIs you configure, GitHub Releases for updates, and MCP
|
||||
servers you add.
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0. See [LICENSE](LICENSE), [NOTICE](NOTICE), and
|
||||
[THIRD-PARTY-NOTICES](THIRD-PARTY-NOTICES.md). Code ported from
|
||||
openai/codex and sst/opencode is documented in
|
||||
[crates/codegen/kigi-tools/THIRD_PARTY_NOTICES.md](crates/codegen/kigi-tools/THIRD_PARTY_NOTICES.md).
|
||||
Kigi is based on Grok Build Open Source; the `--version` output carries the
|
||||
attribution.
|
||||
|
||||
Reference in New Issue
Block a user