# @qoder-ai/qmind-cli

English (default) | [简体中文](CHANGELOG.zh-CN.md)

Published versions below describe the Global CLI/shared implementation, not historical CN releases. CN will join the shared history with the future joint release.

## 4.1.0

### Minor Changes

- 17bb94f: Add notebook discovery with summaries, single-page URL import, scheduled-task CRUD and pause/resume, bounded Source reads, directory filtering and batch deletion to `qmind-cn` and its Global counterpart. New workflows reuse Agent Core validation and confirmed/unknown mutation results. Existing notebook output retains overview and counts; deletion supports JSON/NDJSON receipts and stops on failed preflight.

  Use `retrieve --unified` or `--targets` for unified single/multi-notebook retrieval with per-notebook Source filters; `--score-threshold` also works on the existing retrieval path. Use `source mkdir --derive-path` and `source mv --to/--to-root` for derived paths and validated destinations. Existing retrieval, full-content and low-level Source patch behavior remains available. Unconfirmed direct writes report `outcome_unknown` with `retryable:false`; inspect current state before another call.

## 4.0.0

### Major Changes

- c0df079: Require Node.js 22.19.0 or later. Upgrade Node.js before installing this release if you use an older runtime.

  Upgrade undici to 8.12.2, commander to 15.0.0, entities to 8.1.0, eventsource-parser to 4.1.2, open to 11.0.4, p-limit to 7.3.3, picomatch to 4.0.7, and zod to 4.6.7. Preserve existing HTTP/1.1 transport behavior and proxy policies.

  Explicitly select English as the Global npm README and Chinese as the CN npm README. Use Qoder CN consistently as the CN product name in both languages.

## 3.5.0

### Minor Changes

- 708977c: Retire Cards completely from `qmind-cn`: retrieval JSON no longer includes `cards`, NDJSON emits only chunks, and table/agent output no longer renders Cards. Compilation progress no longer displays card counts. Update output consumers to use chunks and citations; there is no compatibility flag to restore Cards. Single-notebook retrieval keeps its endpoint, and multi-notebook output keeps notebook identity and server ranking.

## 3.4.0

### Minor Changes

- 85ebf9c: Support explicit multi-notebook retrieval in `qmind retrieve` and `qmind-cn retrieve` with up to 5 distinct notebooks selected through comma-separated or repeated `--nb` values. Multiple notebooks use one unified retrieval request with server-side ranking and a shared result budget. Output preserves notebook identity and server order; request failures do not fall back to individual notebook calls. Single-notebook retrieval and output stay unchanged, and `--sources` remains single-notebook only.

## 3.3.0

### Minor Changes

- c024d97: Add `notebook list --shared` with pagination and preserve server-provided notebook permissions in CLI output.

## 3.2.1

### Patch Changes

- cb40928: Bundle the SDK fix for Source ID citations in streamed messages so qmind and qmind-cn finish RAG responses with references instead of failing with STREAM_ERROR.

## 3.2.0

### Minor Changes

- 7fd1634: Remove the top-level `compile` and `lint` commands and the `source import-site --compile-after-refresh` option, and make `task create` reject the `compilation` and `lint` scenes. `task list` and `task get` can still query historical runs; SDK, UI, backend automatic compilation, and internal capabilities are unchanged.

### Changes without version bumps

- Show concise Preparing, Downloading with live transfer progress, and Installed stages in the native `qmind` and `qmind-cn` installers.

## 3.1.1

### Patch Changes

- a92c490: Add `update` and `update --check` for installer-managed Native CLI releases, with fixed Global/CN channels, release and installer checksum verification, downgrade protection, transactional replacement, and Windows post-exit update scheduling. npm-managed installations continue to return the appropriate npm upgrade command.

### Changes without version bumps

- Add repository-maintained native CLI artifact generation, candidate orchestration, Bun compile, recoverable installers, strict offline handoff verification, and macOS, Windows, and Linux finalization capabilities. This does not change the existing npm-installed `qmind` or `qmind-cn` runtime behavior.

## 3.1.0

### Minor Changes

- bd500e8: Remove the `cards` command group and its top-level `list` / `search` aliases, following the Cards sunset policy. The dedicated card-list rendering path is removed as well; `retrieve` keeps its own card rendering and remains the way to query notebook context.

### Changes without version bumps

- Make CLI release verification recognize equivalent SSH and HTTPS repository destinations, and make settlement regression tests deterministic in depth-one CI checkouts. This changes release tooling only; package bytes and versions remain unchanged.

## 3.0.0

### Major Changes

- 28508e5: Release QMind CLI as one shared-version Global/CN cohort. Keep `@qoder-ai/qmind-cli` / `qmind` for Qoder Global and introduce `@qodercn-ai/qmind-cli` / `qmind-cn` for Qoder CN. Each distribution now has a build-time-fixed product identity and production target, isolated product/target file credentials, bilingual package documentation and changelog, and an immutable dual-distribution candidate that is published automatically after its Changeset reaches `main`. The CLI no longer reads legacy root state or OS Keyring entries; upgrade the Global package and sign in again, and install the CN package separately when it is published.

### Changes without version bumps

- Fix the CLI product at build time and isolate config, file credentials and sync mappings by product/target under `QMIND_HOME/cli/`. Use `--env` or paired `--sash`/`--dashboard` for debug targets and `QMIND_DEBUG_TOKEN` for debug tokens. Legacy address hints only warn when matching and fail before requests otherwise; old root files and `.qmind-env` are not read. Sign in again in the new partition. The shared major release delivers the CN package from the same versioned source.
- Use the file credential vault exclusively; do not install, load, read, write, or delete OS Keyring entries. Device/refresh tokens remain plaintext files with existing permissions, atomic writes, locks, and compare-and-swap protection. No old authentication state is imported.
- Remove obsolete CLI-internal Node Host forwarding/updater layers, harden Agent release evidence, and align package, security, and acceptance documentation with the current topology.

- Settle CLI English and Chinese changelogs together from one Changeset and version, validate matching history and references, and include both files in settlement and local artifact checks. Keep publication deferred.
- Add an opt-in frozen CLI candidate tag stage with strict annotated tag identity and tarball digest checks, immutable per-attempt evidence, and remote readback for retries. Keep production CI and npm publication unchanged.
- Add the internal per-distribution publisher for frozen CLI candidates: reconcile exact versions, publish original tarballs under release tags, verify anonymously, and resume latest promotion without downgrading newer releases. Production publishing remains disconnected.
- Prepare independently compiled Global/CN CLI tarballs from one version and dependency snapshot, with normal co-installation and fixed-product authentication checks. Defer formal candidate integration and publication to the joint major release.
- Add opt-in dual CLI candidate preparation and read-only frozen artifact verification. Bind both distributions to one settled source and bilingual release, while keeping the existing publication pipeline disabled for the new candidate schema.
- Prepare fixed CLI product routing, explicit debug targets, legacy-address diagnostics and partitioned file state. Keep shared Host defaults unchanged and defer versioning/publication to the joint Global/CN major release.
- Archive schema 8 dual CLI candidates from main settlement and add an explicit production promotion pipeline with candidate-bound acceptance, tag, isolated Global/CN publisher, recovery, summary, and notification gates. No release is executed by this change.
- Add opt-in anonymous exact-version verification for frozen Global/CN CLI candidates, including downloaded bytes, isolated npm installation, installed commands and immutable verification receipts. Keep production publishing and latest promotion unchanged.
- Add a tokenless internal dual-release summary that validates Global/CN publisher evidence and anonymously rechecks current latest versions without mutating registry or Git state. Production release assembly remains disconnected.

## 2.0.0

### Major Changes

- a317ae9: Tighten the QMind Client domain contract: remove the ineffective `userId` client option and the Node Host/CLI `userId`, `--user`, and `QMIND_USER_ID` configuration surface; accept real empty lists, zero pagination, and RepoWiki snake_case wire shapes; complete known Card facet and ChatMessage fields; and advertise only capabilities callable through the public interface. Export strict domain decoders for host routes not yet exposed by the Client. Add Fetch Transport stream connect/idle timeouts and make Zod a compatible host-provided peer to avoid duplicate schema type universes.

## 1.1.3

### Patch Changes

- d2dcbb6: Add the QMind Agent Contract v1 Core, per-Query Qoder Agent SDK adapter, shared Node host, canonical Qoder Plugin runtime and deterministic Plugin artifact flow. The CLI now consumes the extracted Node host without changing its command surface.

### Changes without version bumps

- Enable Node.js module compile caching before loading the CLI application on supported runtimes while preserving Node 20 compatibility.

## 1.1.2

### Patch Changes

- c3a3a0f: Remove a redundant module-boundary note from the CLI package README.

## 1.1.1

### Patch Changes

- 711c3b9: Rewrite every package README for package consumers and make the public QMind CLI explicitly bin-only, without the former workspace module exports.

## 1.1.0

### Minor Changes

- 858c2f4: QMind CLI is now available on npm as `@qoder-ai/qmind-cli`. Install it with `npm install --global @qoder-ai/qmind-cli` to use the `qmind` command for signing in, managing notebooks and sources, retrieving knowledge, running RAG and compilation workflows, and safely synchronizing folders. The CLI supports automation-friendly JSON and NDJSON output, stable exit codes, and npm-managed upgrades on macOS, Linux, and Windows with Node.js 20.18.1 or later.

## 1.0.0

### Initial release

- Introduced the `qmind` command for QMind knowledge workflows.
- Added browser-based sign-in and secure local credential management, with environment and token configuration for automation.
- Added notebook create/list/get/delete, card list/search, retrieval, RAG, compilation, lint, source create/list/get/upload/download/move/content/delete, website import, image presign, and folder upload workflows.
- Added human-readable tables, JSON, agent, and NDJSON output, plus structured errors and script-friendly exit codes.
