Install
Install qialike with the one-line installer, or download a release archive.
qialike ships as per-platform archives that unpack to a single executable: installing gives you
the qialike command, and running it needs no harness checkout, no pnpm and no node_modules.
One-line installer
curl -fsSL https://qialike.cn/install | bashWorks on Linux, macOS, WSL, and Windows through Git Bash / MSYS2 / Cygwin — x64 and arm64 each,
six published targets in all. It needs bash and curl; Linux extracts with the system tar,
while the macOS and Windows .zip archives also need unzip.
A native Windows environment has no bash (PowerShell and cmd are not bash), so the install command
above does not work there — install with npm i -g @qialike/cli, or download and unpack by hand and
set the environment variable yourself: see Windows Terminal. Note this
affects installation only: once installed, qialike.exe is a native program and runs in Windows
Terminal as usual.
It installs to ~/.dsh/bin. The installer appends that directory to your shell profile, but this
shell has not read it yet — do what the installer prints (source ~/.bashrc, or ~/.zshrc on
zsh), or simply open a new terminal; qialike then runs from any directory, and
qialike --version confirms it.
Six targets and their artifact names
| Target | Archive | Extractor |
|---|---|---|
linux-x64 / linux-arm64 | qialike-<target>.tar.gz | tar |
darwin-x64 / darwin-arm64 | qialike-<target>.zip | unzip |
windows-x64 / windows-arm64 | qialike-<target>.zip | unzip |
The extractor follows from the archive name (not the platform name), so the two never disagree.
On Windows it installs as qialike.exe; every other platform is the bare name qialike. An
unsupported target is refused by name before anything is written.
Windows Terminal
Run qialike inside the Windows Terminal app, not in the old console window you get by launching
cmd.exe / powershell.exe directly. They are two different things: cmd.exe / PowerShell is a
shell (it interprets what you type) while Windows Terminal is a terminal (it draws the
interface). qialike’s interface wants 24-bit colour, mouse events, the alternate screen, bracketed
paste and emoji fallback (the wordmark and cards are drawn with the ▀▄█ half blocks, the permission
bar with 🔒/🔓) — the old console window is visibly worse at all of them. Windows 11 ships Windows
Terminal; on Windows 10 install it:
winget install Microsoft.WindowsTerminal # or install from the Microsoft StoreThen open a PowerShell or cmd tab inside it — the shell is still the one you prefer.
Windows Terminal has no bash, so the curl | bash line above does not work there. Two routes:
npm — this needs Node.js first, which ships npm:
winget install OpenJS.NodeJS.LTS # or download the LTS installer from https://nodejs.org/node --version # reopen the terminal after installing Node, then confirmnpm --versionnpm i -g @qialike/cliqialike --versionIt requires Node.js ≥ 18 (the LTS release is fine); after installing Node you must reopen the
terminal before its PATH applies. On Windows npm’s global prefix is %APPDATA%\npm — inside your
user profile, and on your user PATH via the Node installer — so installing qialike needs no
administrator rights. You do not pick an architecture: the package declares one os/cpu
gated optional dependency per Windows target, so npm fetches only the payload that matches your
machine (x64 or arm64). This channel is Windows-only — Linux and macOS use the installer above.
It installs exactly the payload from qialike-windows-*.zip (unchanged), updates itself
(patch releases installed silently — see Updates), and is removed in two steps —
see Uninstall.
Manual install — when you would rather not install Node.js:
-
Download
qialike-windows-x64.zipfrom Releases (on ARM devices take-arm64; the mirror is atgitcode.com/qialike/qialike/releases). -
Unpack the single
qialike.exeinto%USERPROFILE%\.dsh\bin\— the installer’s default directory.qialike uninstallkeeps thatbin\directory and the exe in it: it clears the rest of the home and prints the command that removes the directory — see Uninstall. -
Add that directory to your user PATH (Settings → Environment Variables, or the PowerShell below), then reopen the terminal.
Terminal window [Environment]::SetEnvironmentVariable('Path',"$env:USERPROFILE\.dsh\bin;" + [Environment]::GetEnvironmentVariable('Path', 'User'), 'User') -
Add a provider with
/modelsafter launching.
Verify with qialike --version. The manual route remains because the networked installer runs under
bash only; qialike uninstall keeps the install directory (and prints the exact command that removes
it), so removing qialike.exe is up to you. A copy installed this way never updates automatically:
upgrading means downloading the new .zip and replacing the file — see Updates.
Installer options
-h, --help display this help message-v, --version <version> install a specific version (e.g. 0.6.0 or v0.6.0) --no-modify-path don't modify shell config files (.bashrc, .zshrc) --source <name> gitcode | auto (default auto) --base-url <url> use exactly this releases directory, no fallback --dry-run print what would be done, then change nothing# pin a version and leave the shell config alonecurl -fsSL https://qialike.cn/install | bash -s -- --version 0.6.0 --no-modify-path
# print the plan only, change nothing (good for seeing what it would touch)curl -fsSL https://qialike.cn/install | bash -s -- --dry-runVersions are accepted with or without the v prefix (0.6.0 and v0.6.0 are equivalent). Note the
local git tag carries the v (v0.6.0) while the release tag does not (0.6.0) — download
URLs accept only the latter, and the installer normalises it for you.
Download sources and fallback
Releases live on two hosts:
gitcode.com/qialike/qialike(canonical)gitcode.com/qialike/qialike(mirror)
The installer checks connectivity first and then decides, in one of four cases:
| Case | Behaviour |
|---|---|
| Only gitcode answers | use gitcode |
| Only gitcode answers | use gitcode (the mirror can lag behind gitcode, and a warning says so) |
| Both answer | sample the real download from each and take the faster one |
| Neither answers | stop: nothing is downloaded, nothing is written, and an installed qialike keeps working (exit code 3) |
The third case has to be measured rather than guessed by region: GitCode answers a small request from
gitcode.com, but the 55 MB body comes from release-assets.gitcodeusercontent.com — a GitCode whose
CDN is throttled is still “reachable” and still slow. The fourth case does not even create a
temporary directory, which is why “an installed version is unaffected” holds.
Connectivity treats only curl’s 000 (no response at all) as unreachable; a host that answers
404 also counts as reachable — that is a real “this platform was not published” failure, and it must
not be misreported as a network problem.
# skip the policy and use one host onlycurl -fsSL https://qialike.cn/install | bash -s -- --source gitcode
# a fully custom releases directory (no fallback)curl -fsSL https://qialike.cn/install | bash -s -- --base-url https://my.mirror/releasesRequirements
- Platforms: Linux (including WSL), macOS, Windows; x64 and arm64 each, six published targets.
Running needs only the matching native executable (
qialike.exeon Windows); only thecurl | bashinstall command needs bash, so a native Windows environment has to go through Git Bash / MSYS2 / Cygwin or use the npm channel (npm i -g @qialike/cli, Windows-only). - Terminal: a real TTY — the full-screen surface, streaming output and mouse interaction all
assume an interactive terminal. On Windows that means the Windows Terminal app, not the old
console window you get by launching
cmd.exe/powershell.exedirectly (see Windows Terminal). A minimum of 14 rows; at ≥110 columns the right-hand Steps panel appears automatically. - No runtime to pre-install: the artifact is a single executable, so it needs no Node.js, bun,
pnpm,node_modules, or a harness checkout. The one exception is the Windows npm channel, which needs Node.js ≥ 18 to install (npm i -g @qialike/cli); the installed program itself still needs nothing. - API key: a real session needs at least one provider’s key — pick a provider and set its key in
/models; the official DeepSeek endpoint usesDEEPSEEK_API_KEY(also resolvable from the environment,~/.dshsettings or.env). Every key is issued by that provider; qialike neither requests one for you nor ships any. - Workspace: the current directory by default (
cwd), or--workspace; session state, settings and credentials live in~/.dsh. - Disk: the download archive is roughly 45–58 MB (varies by platform) and unpacks to a single file of about 96 MB.
- Memory: ≥1 GB recommended; 512 MB works but is tight (no swap headroom for a giant transcript) and below 512 MB is unsupported.
qialike webadditionally needs: adshCLI on the system (on PATH, or pointed at by$QIALIKE_DSH) at a version no older than the harness embedded in this build — see Headless / remote access.
Download the archive directly
If you would rather not run the installer, take the archive for your platform from
the download page or Releases
(mirror: gitcode.com/qialike/qialike/releases) and unpack it yourself:
# Linuxtar -xzf qialike-linux-x64.tar.gzinstall -m 755 qialike ~/.dsh/bin/qialike
# macOS / Windows: unpack with unzip; on Windows you get qialike.exeunzip qialike-darwin-arm64.zipModel credentials
A real session needs a model key. qialike currently has no default provider — type /models in the
TUI, pick a provider and fill in its key:
/modelsA key can come from three places: an environment variable, the settings/credentials under
~/.dsh, or a .env file in the workspace. See Models.
Uninstall
It is always two steps, in this order: ① qialike uninstall clears the state; ② remove the program
itself. Step ① is the same for all four install routes — only step ② differs:
| How you installed | ① Clear state | ② Remove the program |
|---|---|---|
| Linux / macOS (the shell installer) | qialike uninstall | run the rm -rf "<home>/bin" it prints |
| Windows · npm | qialike uninstall | npm uninstall -g @qialike/cli |
| Windows · manual zip | qialike uninstall | run the Remove-Item -Recurse -Force "<home>\bin" it prints |
From source (bash scripts/install, a checkout build) | qialike uninstall | it lands in ~/.dsh/bin too, so use the command ① prints |
Step ① prints the exact command for step ② every time, so you never have to remember the table:
qialike: kept /home/you/.dsh/bin — that is the program itself; delete it by hand to remove qialike completely:qialike: rm -rf "/home/you/.dsh/bin"qialike: removed PATH entry from /home/you/.bashrcqialike: uninstalled — user state clearedIt clears everything in the qialike home except bin/ (shared with dsh; $DSH_HOME, default
~/.dsh) — config, logs, themes, settings.yaml, sessions, profiles, storages, attachments, exports,
caches and the .credentials.yaml credentials — and removes the PATH export line the installer
appended to ~/.bashrc / ~/.zshrc (with its # qialike marker) plus the ~/.local/bin/qialike dev
symlink. The qialike checkout is never touched.
- Why
bin/is kept: it holds the program itself, and Windows will not let a running executable be deleted, so it is kept deliberately — the command prints the platform’s manual removal command (rm -rf "…"on Unix,Remove-Item -Recurse -Force "…"on Windows). - Why an npm install goes through npm: that channel puts the program outside the harness home
(npm’s global prefix —
%APPDATA%\npm\node_modules\@qialike\…on Windows), soqialike uninstallcannot delete it; it printsnpm uninstall -g @qialike/clias well, and that is what step ② runs. - ⚠️ Never do step ② first: with the program gone you cannot run
qialike uninstall, so the settings, sessions, attachments and credentials under~/.dshall stay on disk (your only recourse isrm -rf ~/.dsh, which is entirely regenerable user state).
If you added the directory to the Windows user PATH by hand (the Windows
Terminal steps), qialike uninstall does not remove that entry —
it only edits ~/.bashrc / ~/.zshrc, so delete it in Settings yourself. To see what it would do
without removing anything: qialike uninstall --help.
Next steps
- Quickstart — the first run and session semantics
- Commands — CLI flags and slash commands
- Updates — automatic updates and manual upgrades
- Permissions — the sandbox matrix and approvals