Wish

A minimal yet ready-to-use AI agent harness, built on best practices for frontier models.

Wish server · Documentation · 简体中文

--- Wish Web is the client for [Wish](https://github.com/WindustH/wish-core): one app for a large monitor and a phone.

Wish on the desktop   Wish on a phone

## Features - **See the work as it happens.** Replies, reasoning, command output and file changes stream in, folded so long tasks stay readable. - **Keep talking while it works.** Queue, reorder or cancel follow-ups, interrupt at any time, and answer the agent's questions right in the conversation. - **Desktop and phone.** A layout for each, installable as an app, in light and dark, English and Chinese. - **Set up in a minute.** A first-run guide with provider presets, and settings that apply without restarting the server. ## Quick start Wish's packages (`wish-agent` on npm, the AUR and Homebrew) already include this app: install one and open , as the [Wish quick start](https://github.com/WindustH/wish-core#quick-start) shows. To develop the app, or to serve it apart from Wish, build it yourself. You need [Node.js](https://nodejs.org) 22.19 or newer and a running Wish server. ```sh git clone https://github.com/WindustH/wish-web.git cd wish-web ./pnpmw install --frozen-lockfile ./pnpmw build node serve.ts ``` `./pnpmw` runs the pinned pnpm through Corepack, so no global install is needed. The server is configured with environment variables: | Variable | Default | Purpose | | --- | --- | --- | | `WISH_UPSTREAM` | `http://127.0.0.1:9780` | Address of the Wish server | | `WISH_HTTP_TOKEN` | | Wish's access token, added to every API request on the server side | | `PORT` | `8790` | Port to listen on | | `LISTEN_HOST` | `127.0.0.1` | Address to listen on; `0.0.0.0` for your local network | | `ALLOWED_HOSTS` | | Extra `host:port` names the app may be opened under, comma-separated | To use Wish from your phone or install it as an app, serve it over HTTPS as described in the [deployment guide](docs/en/deployment.md). ## Documentation - [User guide](docs/en/user-guide.md): everything you can do in the app, including keyboard shortcuts. - [Configuration](docs/en/configuration.md): the settings screens and what they change. - [Deployment](docs/en/deployment.md): serving on your network, HTTPS, running as a service and upgrading. - [Troubleshooting](docs/en/troubleshooting.md) - [Development](docs/en/development.md) and [architecture](docs/en/architecture.md) for contributors. ## Development ```sh ./pnpmw install --frozen-lockfile WISH_UPSTREAM=http://127.0.0.1:9780 ./pnpmw dev # http://127.0.0.1:5173 ./pnpmw typecheck ./pnpmw test ``` Built with Vue 3, TypeScript and Vite. See the [development guide](docs/en/development.md) for the project layout and conventions. Contributions are welcome. ## License [MIT](LICENSE). Bundled fonts and libraries keep their own licenses, listed in [THIRD_PARTY.md](THIRD_PARTY.md).