@moreai/code 0.1.0-beta.1 → 0.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +241 -274
- package/dist/daemon.mjs +1225 -2571
- package/dist/locales.dat +0 -0
- package/dist/moreai.mjs +204 -365
- package/dist/resources/file-acl/macos/moreai-file-acl +0 -0
- package/media/approve.webp +0 -0
- package/media/connect.webp +0 -0
- package/media/helpers.webp +0 -0
- package/media/session.webp +0 -0
- package/media/start.webp +0 -0
- package/package.json +16 -9
- package/dist/locales/am.json +0 -1185
- package/dist/locales/bho.json +0 -1185
- package/dist/locales/bn.json +0 -1185
- package/dist/locales/da.json +0 -1185
- package/dist/locales/de.json +0 -1185
- package/dist/locales/es-419.json +0 -1187
- package/dist/locales/es.json +0 -1187
- package/dist/locales/fi.json +0 -1185
- package/dist/locales/fil.json +0 -1185
- package/dist/locales/fr.json +0 -1187
- package/dist/locales/gu.json +0 -1185
- package/dist/locales/ha.json +0 -1185
- package/dist/locales/hi.json +0 -1185
- package/dist/locales/id.json +0 -1149
- package/dist/locales/it.json +0 -1187
- package/dist/locales/ja.json +0 -1149
- package/dist/locales/kn.json +0 -1185
- package/dist/locales/ko.json +0 -1149
- package/dist/locales/ml.json +0 -1185
- package/dist/locales/mr.json +0 -1185
- package/dist/locales/nb.json +0 -1185
- package/dist/locales/nl.json +0 -1185
- package/dist/locales/pt-BR.json +0 -1187
- package/dist/locales/ru.json +0 -1261
- package/dist/locales/sv.json +0 -1185
- package/dist/locales/sw.json +0 -1185
- package/dist/locales/ta.json +0 -1185
- package/dist/locales/te.json +0 -1185
- package/dist/locales/th.json +0 -1149
- package/dist/locales/tr.json +0 -1185
- package/dist/locales/uk.json +0 -1261
- package/dist/locales/vi.json +0 -1149
- package/dist/locales/zh-TW.json +0 -1148
- package/dist/locales/zh.json +0 -1148
package/README.md
CHANGED
|
@@ -1,337 +1,304 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center">More AI Code</h1>
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<b>An AI coding agent for your terminal.</b><br>
|
|
5
|
+
Your own model keys, an engine on your machine, and cloud runs when you want them.
|
|
6
|
+
</p>
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://www.npmjs.com/package/@moreai/code"><img alt="npm" src="https://img.shields.io/npm/v/@moreai/code/beta?label=npm%20beta&color=ff7a45"></a>
|
|
10
|
+
<img alt="Node.js 22+" src="https://img.shields.io/badge/node-%E2%89%A522-339933">
|
|
11
|
+
<img alt="macOS · Linux · Windows" src="https://img.shields.io/badge/macOS%20%C2%B7%20Linux%20%C2%B7%20Windows-555">
|
|
12
|
+
<a href="https://more-ai.net"><img alt="more-ai.net" src="https://img.shields.io/badge/more--ai.net-website-111"></a>
|
|
13
|
+
</p>
|
|
7
14
|
|
|
8
|
-
|
|
15
|
+
<p align="center">
|
|
16
|
+
<img alt="More AI Code exploring a repository, editing a file, writing a test, running it and summarising the change" src="https://cdn.jsdelivr.net/npm/@moreai/code@0.1.0-beta.3/media/session.webp" width="860">
|
|
17
|
+
</p>
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```
|
|
19
|
+
More AI Code is an assistant that works in your project from the terminal.
|
|
20
|
+
Describe a task in plain words — "fix the failing test", "add validation to
|
|
21
|
+
the signup form", "explain how billing works" — and it reads the code, edits
|
|
22
|
+
the files, runs the commands and tests, and tells you what it changed. You stay
|
|
23
|
+
in control: anything risky waits for your yes.
|
|
16
24
|
|
|
17
|
-
|
|
18
|
-
|
|
25
|
+
It works with the AI you already have: an API key from more than 30 providers, a
|
|
26
|
+
ChatGPT, GitHub Copilot or Claude subscription, or a model running on your own
|
|
27
|
+
computer. No account and no desktop app are needed.
|
|
28
|
+
|
|
29
|
+
## Install
|
|
19
30
|
|
|
20
31
|
```sh
|
|
21
|
-
moreai
|
|
22
|
-
moreai update --install
|
|
23
|
-
moreai --version
|
|
32
|
+
npm install -g @moreai/code
|
|
24
33
|
```
|
|
25
34
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
`
|
|
29
|
-
interactive session and shows a quiet notice when a new version is available.
|
|
30
|
-
|
|
31
|
-
If you received a packaged `.tgz` archive instead of installing from npm,
|
|
32
|
-
install it with `npm install -g ./moreai-code-<version>.tgz`, then run the same
|
|
33
|
-
`moreai setup` step. The archive includes the headless engine. Tarball installs
|
|
34
|
-
do not receive updates until you install a newer archive or switch to the npm
|
|
35
|
-
`beta` tag.
|
|
36
|
-
|
|
37
|
-
`moreai setup` walks through a More AI account and an AI provider:
|
|
38
|
-
|
|
39
|
-
- **AI provider** gives the agent a model on this computer. Connect an API key,
|
|
40
|
-
a local model (Ollama, LM Studio) or a supported provider subscription
|
|
41
|
-
through `moreai auth`. If a key is already in your environment
|
|
42
|
-
(`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, …) the first run offers it at the top
|
|
43
|
-
of the list, and `moreai auth env` connects every one it finds. A More AI
|
|
44
|
-
account is not required to use your own provider.
|
|
45
|
-
- **More AI account** is optional and adds what needs a server: cloud
|
|
46
|
-
sessions that keep working with this computer off (`moreai cloud`), session
|
|
47
|
-
and settings sync, More AI dictation, and Google services (Gmail, Calendar,
|
|
48
|
-
Drive) for the agent. Sign in with your email; approve the request on
|
|
49
|
-
another signed-in device or enter the emailed six-digit code. The account
|
|
50
|
-
session stays in the local engine, never in your shell history.
|
|
51
|
-
- **External services** give the agent tools from a connector, such as an MCP
|
|
52
|
-
server. `moreai connectors` lists the catalog whenever you want one.
|
|
53
|
-
|
|
54
|
-
You can run these steps separately at any time:
|
|
35
|
+
> **Keep the `-g`.** The install box in npm's sidebar shows
|
|
36
|
+
> `npm i @moreai/code`, which only adds the package to the current folder — the
|
|
37
|
+
> `moreai` command appears only after a global install.
|
|
55
38
|
|
|
56
|
-
|
|
57
|
-
moreai
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
moreai auth # connect or change an AI provider
|
|
61
|
-
moreai auth env # connect the provider keys found in the environment
|
|
62
|
-
moreai auth status # list connected providers
|
|
63
|
-
moreai connectors # choose an external service
|
|
64
|
-
moreai connectors list # list connected services
|
|
65
|
-
moreai doctor # check the local engine and setup
|
|
66
|
-
```
|
|
39
|
+
Requires **Node.js 22 or newer** (`node --version`) on macOS, Linux or Windows.
|
|
40
|
+
Check the install with `moreai --version`. On Linux, if npm answers `EACCES`,
|
|
41
|
+
install Node with a version manager such as [nvm](https://github.com/nvm-sh/nvm)
|
|
42
|
+
or [fnm](https://github.com/Schniz/fnm) instead of using `sudo`.
|
|
67
43
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
paste an API key instead.
|
|
72
|
-
|
|
73
|
-
### External services from the terminal
|
|
74
|
-
|
|
75
|
-
`moreai connectors` (or `/connectors` in a session) is one searchable list:
|
|
76
|
-
what is connected — Google services from your More AI account (Gmail,
|
|
77
|
-
Calendar, Meet, Tasks, Drive) and MCP servers alike, each with its state —
|
|
78
|
-
then the whole catalog by category. Type to search, **Enter** connects (or
|
|
79
|
-
fixes a connection that needs a new sign-in), **Space** turns a connected
|
|
80
|
-
service on or off, **Ctrl+D** disconnects it (press twice). Google services
|
|
81
|
-
belong to your More AI account, so a service connected on the desktop, the web
|
|
82
|
-
or the phone is already on here. Choosing one while signed out explains why
|
|
83
|
-
the account is needed and opens the sign-in right there; once you are in, the
|
|
84
|
-
connection continues on its own. A service whose sign-in is kept with the
|
|
85
|
-
account can also be connected on this computer only, without one. For a script or SSH
|
|
86
|
-
session, use the commands directly:
|
|
44
|
+
## Get started in three steps
|
|
45
|
+
|
|
46
|
+
### 1. Open your project and connect a model
|
|
87
47
|
|
|
88
48
|
```sh
|
|
89
|
-
|
|
90
|
-
moreai
|
|
91
|
-
moreai connectors add https://mcp.example.com/mcp # connect a custom MCP URL
|
|
92
|
-
moreai connectors list # inspect connection IDs and status
|
|
93
|
-
moreai connectors off ID # keep a service but take its tools away
|
|
94
|
-
moreai connectors on ID # turn it back on
|
|
95
|
-
moreai connectors remove ID # disconnect by the ID shown in the list
|
|
49
|
+
cd your-project
|
|
50
|
+
moreai
|
|
96
51
|
```
|
|
97
52
|
|
|
98
|
-
|
|
99
|
-
|
|
53
|
+
The first launch asks how to reach a model. Pick a provider from the list (type
|
|
54
|
+
to search), then paste an API key, sign in with your subscription, or choose a
|
|
55
|
+
local model from Ollama or LM Studio. Keys stay on your machine.
|
|
100
56
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
57
|
+
<p align="center">
|
|
58
|
+
<img alt="The first launch: a searchable list of AI providers — Anthropic, OpenAI, ChatGPT, Google Gemini, GitHub Copilot, OpenRouter and more" src="https://cdn.jsdelivr.net/npm/@moreai/code@0.1.0-beta.3/media/connect.webp" width="760">
|
|
59
|
+
</p>
|
|
60
|
+
|
|
61
|
+
Already have `ANTHROPIC_API_KEY`, `OPENAI_API_KEY` or another provider key in
|
|
62
|
+
your environment? It is offered at the top of the list.
|
|
63
|
+
|
|
64
|
+
### 2. Say what you want done
|
|
104
65
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
AI model that answers your questions.
|
|
66
|
+
Type the task as you would tell a colleague and press **Enter**. The line under
|
|
67
|
+
the prompt shows the access mode, the model and your branch.
|
|
108
68
|
|
|
109
|
-
|
|
69
|
+
<p align="center">
|
|
70
|
+
<img alt="A session in a project folder, with the task typed into the prompt" src="https://cdn.jsdelivr.net/npm/@moreai/code@0.1.0-beta.3/media/start.webp" width="760">
|
|
71
|
+
</p>
|
|
110
72
|
|
|
111
|
-
|
|
73
|
+
### 3. Follow along and approve what matters
|
|
74
|
+
|
|
75
|
+
The agent shows every step: files it reads, each edit as a diff, commands and
|
|
76
|
+
their output. You choose how much it may do on its own. In `accept-edits`,
|
|
77
|
+
shown here, it edits files freely and stops before every command — allow it
|
|
78
|
+
once, for the session, always, or deny it. In `auto`, the default, it runs
|
|
79
|
+
what it can show is safe and declines the rest.
|
|
80
|
+
|
|
81
|
+
<p align="center">
|
|
82
|
+
<img alt="A permission card asking to run npm test, with the choices Allow once, Allow for this session, Always allow and Deny" src="https://cdn.jsdelivr.net/npm/@moreai/code@0.1.0-beta.3/media/approve.webp" width="760">
|
|
83
|
+
</p>
|
|
84
|
+
|
|
85
|
+
While it works you can keep typing to steer it, **Esc** interrupts, and
|
|
86
|
+
**Shift+Tab** switches the access mode (see *Access modes* below). `/help`
|
|
87
|
+
lists every command.
|
|
88
|
+
|
|
89
|
+
## What it does
|
|
90
|
+
|
|
91
|
+
- **Works in your repository.** Reads and searches the code, edits files and
|
|
92
|
+
shows each change as a diff, runs commands and tests, keeps a checklist of
|
|
93
|
+
its own plan, and answers in plain language.
|
|
94
|
+
- **Runs on your models.** More than 30 providers: Anthropic, OpenAI, Google
|
|
95
|
+
Gemini, OpenRouter, DeepSeek, Groq, local models through Ollama or LM Studio,
|
|
96
|
+
any OpenAI-compatible endpoint, and ChatGPT or GitHub Copilot subscriptions.
|
|
97
|
+
Keys stay on your machine.
|
|
98
|
+
- **Asks before it acts.** Five access modes, from read-only planning to full
|
|
99
|
+
autonomy. Commands run in an OS sandbox where one is available, and risky
|
|
100
|
+
ones are held for you.
|
|
101
|
+
- **Splits big questions across helpers.** Parallel helper agents research
|
|
102
|
+
different parts of the codebase at once and report back.
|
|
103
|
+
- **Moves work to the cloud.** With a More AI account, a task can keep running
|
|
104
|
+
on our servers with your laptop closed and come back as a branch or a pull
|
|
105
|
+
request.
|
|
106
|
+
- **Listens.** `Ctrl+T` dictates into the prompt.
|
|
107
|
+
- **Speaks your language.** The interface is translated into 35 languages.
|
|
108
|
+
|
|
109
|
+
## Everyday commands
|
|
112
110
|
|
|
113
111
|
```sh
|
|
114
|
-
moreai
|
|
112
|
+
moreai # interactive session in this folder
|
|
113
|
+
moreai setup # guided setup: model, optional account and services
|
|
114
|
+
moreai auth # connect or change an AI provider
|
|
115
|
+
moreai auth env # connect every provider key found in your environment
|
|
116
|
+
moreai doctor # check that everything is ready
|
|
115
117
|
```
|
|
116
118
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
## Access modes
|
|
120
|
+
|
|
121
|
+
| Mode | What the agent may do |
|
|
122
|
+
| --- | --- |
|
|
123
|
+
| `plan` | Read the code and propose a plan for you to approve; then it builds |
|
|
124
|
+
| `read-only` | Read and answer; never change anything |
|
|
125
|
+
| `accept-edits` | Edit files on its own; ask before running commands |
|
|
126
|
+
| `auto` *(default)* | Work on its own; anything it cannot show to be safe is declined |
|
|
127
|
+
| `full` | Run everything except a small set of destructive commands |
|
|
128
|
+
|
|
129
|
+
Pick one with **Shift+Tab** in a session or `--mode <mode>` on the command line.
|
|
130
|
+
|
|
131
|
+
## Helper agents
|
|
132
|
+
|
|
133
|
+
<p align="center">
|
|
134
|
+
<img alt="Three parallel helper agents researching webhooks, each with its result, then the combined answer" src="https://cdn.jsdelivr.net/npm/@moreai/code@0.1.0-beta.3/media/helpers.webp" width="860">
|
|
135
|
+
</p>
|
|
136
|
+
|
|
137
|
+
For broad questions the agent can start several **helper agents** in
|
|
138
|
+
parallel. Each gets its own line — what it was asked, what it is doing now,
|
|
139
|
+
and when it finishes, its tool count, tokens and time with the first line of
|
|
140
|
+
its report. The run's token total shows how much of it went to helpers.
|
|
141
|
+
Helpers only read; the main agent makes the changes.
|
|
142
|
+
|
|
143
|
+
Start a task with `@explore`, `@scout` or `@general` to hand it to a helper
|
|
144
|
+
directly:
|
|
119
145
|
|
|
120
146
|
```sh
|
|
121
|
-
|
|
147
|
+
moreai "@explore how does the billing webhook verify signatures?"
|
|
122
148
|
```
|
|
123
149
|
|
|
124
|
-
|
|
125
|
-
|
|
150
|
+
## Cloud sessions
|
|
151
|
+
|
|
152
|
+
With a More AI account (`moreai login`), a task can run in the cloud instead
|
|
153
|
+
of on this computer. You can follow it here, or answer it from the web app or
|
|
154
|
+
your phone.
|
|
126
155
|
|
|
127
156
|
```sh
|
|
128
|
-
moreai
|
|
157
|
+
moreai cloud run "add tests for the parser" # move this folder into a cloud session
|
|
158
|
+
moreai --cloud "add tests for the parser" # the same
|
|
159
|
+
moreai cloud # your cloud sessions and their state
|
|
160
|
+
moreai cloud open <id> # the conversation and its link
|
|
161
|
+
moreai cloud finish <id> # bring the work back again
|
|
129
162
|
```
|
|
130
163
|
|
|
131
|
-
|
|
132
|
-
|
|
164
|
+
`moreai cloud run` uploads the folder as it is — your branch, commits and
|
|
165
|
+
uncommitted changes, never files that look like secrets or are over 25 MB —
|
|
166
|
+
and follows the task in the terminal. **Ctrl+C** stops following; the task
|
|
167
|
+
keeps running. When it finishes, the work comes back as a **new branch**
|
|
168
|
+
`more-ai/<topic>-<id>`, and your own branch and edits are never touched. In a
|
|
169
|
+
GitHub or GitLab repository it is pushed and a pull request is opened with
|
|
170
|
+
your own `gh` / `glab` login; `--finish push|branch|folder` chooses otherwise.
|
|
171
|
+
Inside a session, `/cloud` does the same.
|
|
133
172
|
|
|
134
|
-
##
|
|
173
|
+
## Scripts and pipes
|
|
135
174
|
|
|
136
175
|
```sh
|
|
137
|
-
moreai
|
|
138
|
-
moreai "fix the failing test" # open a session and run a task
|
|
139
|
-
moreai -c # continue the latest session for this folder
|
|
140
|
-
moreai sessions # list this folder's sessions
|
|
141
|
-
moreai -p "add types" # run once, print the result, exit
|
|
176
|
+
moreai -p "summarise the open TODOs" # run once, print the answer, exit
|
|
142
177
|
git diff | moreai -p "review this diff"
|
|
143
|
-
moreai -p --json "
|
|
178
|
+
moreai -p --json "add types to utils.ts" # one JSON event per line
|
|
179
|
+
moreai -c # continue the newest session here
|
|
180
|
+
moreai sessions # this folder's sessions
|
|
144
181
|
```
|
|
145
182
|
|
|
146
183
|
| Option | Meaning |
|
|
147
184
|
| --- | --- |
|
|
148
|
-
| `-p, --print` | Run once without the interactive
|
|
149
|
-
| `--json` | With `-p
|
|
185
|
+
| `-p, --print` | Run once without the interactive interface |
|
|
186
|
+
| `--json` | With `-p`: machine-readable events, one per line |
|
|
150
187
|
| `-c, --continue` | Continue this folder's newest session |
|
|
151
188
|
| `--session <id>` | Resume a specific session |
|
|
152
|
-
| `-m, --model <id>` | Choose
|
|
153
|
-
| `--provider <id>` |
|
|
154
|
-
| `--mode <mode>` |
|
|
155
|
-
| `-C, --cwd <dir>` |
|
|
156
|
-
| `--cloud` | Run the task in a cloud session
|
|
189
|
+
| `-m, --model <id>` | Choose the model for this run |
|
|
190
|
+
| `--provider <id>` | Say which provider serves `--model` |
|
|
191
|
+
| `--mode <mode>` | Access mode (see above) |
|
|
192
|
+
| `-C, --cwd <dir>` | Work in another folder |
|
|
193
|
+
| `--cloud` | Run the task in a cloud session |
|
|
157
194
|
| `--finish <how>` | With `--cloud`: `pr`, `push`, `branch` or `folder` |
|
|
158
|
-
| `--detach` | With `--cloud`: start it and return
|
|
195
|
+
| `--detach` | With `--cloud`: start it and return immediately |
|
|
196
|
+
| `--lang <id>` | Interface language for this run |
|
|
159
197
|
|
|
160
|
-
In the session
|
|
161
|
-
newline, **Esc** to interrupt, and **Shift+Tab** to change access mode. Use
|
|
162
|
-
`/help` to see the available commands. You can type while the agent is working
|
|
163
|
-
to steer its run. The status line shows the model, how much of its context
|
|
164
|
-
window is left (yellow under 25 %, red under 10 %), the branch and the access
|
|
165
|
-
mode.
|
|
198
|
+
## In the session
|
|
166
199
|
|
|
167
|
-
|
|
168
|
-
|
|
200
|
+
| Key | Action |
|
|
201
|
+
| --- | --- |
|
|
202
|
+
| Enter | Send (or steer the running task) |
|
|
203
|
+
| Ctrl+J, or `\` at line end | New line |
|
|
204
|
+
| Esc | Interrupt the run; twice clears the draft |
|
|
205
|
+
| Shift+Tab | Change the access mode |
|
|
206
|
+
| Ctrl+T | Dictate (Enter or Ctrl+T to insert, Esc to discard) |
|
|
207
|
+
| ↑ ↓ | Move between lines, then through your history |
|
|
208
|
+
| Ctrl+O | Expand a large paste back into editable text |
|
|
209
|
+
| Ctrl+D, or Ctrl+C twice | Leave; the command to resume is printed |
|
|
169
210
|
|
|
170
|
-
|
|
211
|
+
Useful commands: `/model` (pick a model; **Ctrl+F** pins it), `/sessions`,
|
|
212
|
+
`/connectors` (Gmail, Calendar, Drive, GitHub and other services for the
|
|
213
|
+
agent), `/cloud`, `/language`, `/login`, `/status`, `/help`.
|
|
171
214
|
|
|
172
|
-
|
|
173
|
-
gets its own line under the step that started it — what it was asked, what it
|
|
174
|
-
is doing now, and when it finishes, its tool count, tokens and time with the
|
|
175
|
-
first line of its report. The run's token total says how much of it the helpers
|
|
176
|
-
spent. Helpers only read; the main agent makes the changes.
|
|
215
|
+
## Voice input
|
|
177
216
|
|
|
178
|
-
|
|
179
|
-
|
|
217
|
+
**Ctrl+T** (or `/voice`) records from the microphone and puts the text at the
|
|
218
|
+
cursor without sending it. Transcription uses More AI dictation once you sign
|
|
219
|
+
in, your own transcription service, or an on-device model set up in the More
|
|
220
|
+
AI desktop app. Recording uses the ffmpeg that comes with the desktop app, or
|
|
221
|
+
`ffmpeg`, `sox`, `parecord` or `arecord` from your `PATH`.
|
|
180
222
|
|
|
181
|
-
|
|
182
|
-
moreai "@explore how does the billing webhook verify signatures?"
|
|
183
|
-
```
|
|
223
|
+
## Account and services
|
|
184
224
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
level meter show it is listening. **Enter** or **Ctrl+T** stops and puts the
|
|
189
|
-
text at the cursor — it is not sent, so you can read it first — and **Esc**
|
|
190
|
-
throws the recording away. A recording stops by itself after two minutes.
|
|
191
|
-
|
|
192
|
-
Transcription uses whatever the More AI app's dictation is set to: More AI
|
|
193
|
-
dictation once you `/login`, your own transcription service, or an on-device
|
|
194
|
-
model (Settings → Dictation in the app). The audio is recorded by this terminal,
|
|
195
|
-
so the first time the system asks whether your terminal app may use the
|
|
196
|
-
microphone. If a transcription fails, the recording is kept: **Ctrl+T** tries
|
|
197
|
-
again.
|
|
198
|
-
|
|
199
|
-
To record, `moreai` uses the ffmpeg that comes with the More AI app, or one of
|
|
200
|
-
`ffmpeg`, `sox`, `parecord`, `arecord` on your PATH. `MOREAI_VOICE_RECORDER`
|
|
201
|
-
names any other command that prints raw 16-bit 16 kHz mono audio on stdout
|
|
202
|
-
(arguments separated by spaces).
|
|
203
|
-
|
|
204
|
-
### Leaving a session
|
|
205
|
-
|
|
206
|
-
**Ctrl+D** on an empty draft, **Ctrl+C** twice or `/quit` ends the session and
|
|
207
|
-
hands the terminal back: the screen is cleared and one line remains with the
|
|
208
|
-
command that resumes the session. Only the visible screen is cleared — what you
|
|
209
|
-
ran before `moreai` stays in the scrollback — and the terminal gets its own
|
|
210
|
-
title back. `MOREAI_KEEP_SCREEN=1` leaves the session on screen instead. A
|
|
211
|
-
crash never clears the screen, so the error stays readable.
|
|
212
|
-
|
|
213
|
-
### Choosing a model
|
|
214
|
-
|
|
215
|
-
`/model` (or `/models`) opens the model picker: the current model, the models
|
|
216
|
-
you pinned (shared with the desktop app's picker), your recent picks, then every
|
|
217
|
-
connected provider — a large catalog such as OpenRouter grouped by vendor, with
|
|
218
|
-
the context window and price where the provider reports them.
|
|
219
|
-
|
|
220
|
-
- **Type** to search model names, providers and vendors (`sonnet`,
|
|
221
|
-
`or claude` for OpenRouter's Claude models, `anthropic`).
|
|
222
|
-
- **↑ ↓** move, **PgUp PgDn** page, **← →** switch the provider tab.
|
|
223
|
-
- **Enter** uses the model for this session and remembers it as your latest
|
|
224
|
-
pick, so a new session — here or in the desktop app — starts on it.
|
|
225
|
-
- **Ctrl+F** pins or unpins a model; **Ctrl+A** connects another provider;
|
|
226
|
-
**Esc** clears the search, then closes.
|
|
227
|
-
|
|
228
|
-
`/model <text>` switches immediately when the text names exactly one model
|
|
229
|
-
(`/model glm-4.5`, `/model openrouter/anthropic/claude-sonnet-4.6`); anything
|
|
230
|
-
else opens the picker with that search.
|
|
231
|
-
|
|
232
|
-
### Editing and pasting
|
|
233
|
-
|
|
234
|
-
The input box is a multi-line editor: **↑ ↓** move between lines (and reach your
|
|
235
|
-
history from the first or last line of an empty or recalled draft),
|
|
236
|
-
**Alt+← →** move by word, **Ctrl+A / Ctrl+E** jump to the line start or end,
|
|
237
|
-
**Ctrl+U / Ctrl+K / Ctrl+W** delete. A long draft scrolls inside the box.
|
|
238
|
-
|
|
239
|
-
A large paste (more than 8 lines or 800 characters) becomes a single
|
|
240
|
-
`[Pasted text #1 · 200 lines]` item: **Backspace** removes it whole,
|
|
241
|
-
**Ctrl+O** turns it back into editable text, and the agent receives the full
|
|
242
|
-
text when you send. **Ctrl+C** clears the draft and keeps it in history; **Esc**
|
|
243
|
-
twice clears it too.
|
|
244
|
-
|
|
245
|
-
### Language
|
|
246
|
-
|
|
247
|
-
The terminal agent speaks the same 35 languages as the desktop app and picks
|
|
248
|
-
one without asking: `--lang` or `MOREAI_LANG` first, then your `/language`
|
|
249
|
-
choice, then the desktop app's language, then the terminal's locale
|
|
250
|
-
(`LC_ALL` / `LANG`) and finally the system language. `/language` lists them all
|
|
251
|
-
(type to search; **Automatic** follows the app and the system), and
|
|
252
|
-
`/language de` switches straight away. Slash commands, flags and key names stay
|
|
253
|
-
in English everywhere, and `--json` output is always English.
|
|
225
|
+
A More AI account is optional. It adds cloud sessions, sync of your sessions to
|
|
226
|
+
the web and phone apps, More AI dictation, and Google services (Gmail,
|
|
227
|
+
Calendar, Drive) for the agent.
|
|
254
228
|
|
|
255
229
|
```sh
|
|
256
|
-
moreai
|
|
257
|
-
|
|
230
|
+
moreai login # sign in with your email (a code or an approval on another device)
|
|
231
|
+
moreai account # the signed-in account and plan
|
|
232
|
+
moreai connectors # connect a service; `moreai connectors list` shows them
|
|
233
|
+
moreai logout # sign out; your own provider keys stay
|
|
258
234
|
```
|
|
259
235
|
|
|
260
|
-
|
|
236
|
+
From a script or an SSH session: `moreai login you@example.com`, then pipe the
|
|
237
|
+
emailed code to `moreai login you@example.com --code-stdin`. When a provider
|
|
238
|
+
signs in through the browser on a remote machine, the CLI prints the
|
|
239
|
+
`ssh -L` command that forwards the sign-in back to your terminal.
|
|
240
|
+
|
|
241
|
+
## How it runs
|
|
242
|
+
|
|
243
|
+
`moreai` starts a small background engine on your machine the first time it
|
|
244
|
+
needs one; later sessions, the More AI desktop app and the VS Code extension
|
|
245
|
+
share it, so a session started in one place continues in another. If the
|
|
246
|
+
desktop app is running with **Settings → Agent tools → External clients** on,
|
|
247
|
+
the CLI uses the app's engine instead.
|
|
261
248
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
249
|
+
Provider keys are encrypted with a key kept in the system keyring (macOS
|
|
250
|
+
Keychain, Windows Credential Manager, or the Secret Service on Linux). A Linux
|
|
251
|
+
server without a keyring service stores them in a file only your user can read
|
|
252
|
+
(`~/.config/More AI/secrets.json`), the way most command-line tools keep tokens.
|
|
253
|
+
|
|
254
|
+
## Privacy
|
|
255
|
+
|
|
256
|
+
Your code and keys stay on your machine unless you move a task to the cloud.
|
|
257
|
+
More AI collects usage analytics to find bugs; with AI traces on (the default)
|
|
258
|
+
the content of runs is included so failed runs can be debugged. API keys are
|
|
259
|
+
never sent. The first interactive session asks once; change it any time:
|
|
265
260
|
|
|
266
261
|
```sh
|
|
267
|
-
moreai
|
|
268
|
-
moreai
|
|
269
|
-
moreai
|
|
270
|
-
moreai cloud open <id> # the conversation and its link
|
|
271
|
-
moreai cloud finish <id> # bring the work back again
|
|
272
|
-
moreai cloud cancel <id> # stop the running task
|
|
273
|
-
moreai cloud models # models a cloud run can use
|
|
262
|
+
moreai analytics off # nothing is sent
|
|
263
|
+
moreai analytics usage # usage only, no conversation content
|
|
264
|
+
moreai analytics on # usage and AI traces
|
|
274
265
|
```
|
|
275
266
|
|
|
276
|
-
`
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
keeps running (`--detach` returns straight away).
|
|
281
|
-
|
|
282
|
-
When the task finishes, the work comes back on its own as a **new branch**
|
|
283
|
-
`more-ai/<topic>-<id>`; your own branch and uncommitted edits are never
|
|
284
|
-
touched. In a repository on GitHub or GitLab it is then pushed and a pull
|
|
285
|
-
request is opened with your own `gh` / `glab` login; `--finish` chooses
|
|
286
|
-
otherwise: `push`, `branch` (local only) or `folder` (copy the changed files
|
|
287
|
-
into this folder, keeping your edits). The cloud runs on your plan's models,
|
|
288
|
-
or on your own provider key if you uploaded it in the More AI app
|
|
289
|
-
(Settings → Privacy); `-m` picks one of `moreai cloud models`.
|
|
290
|
-
|
|
291
|
-
Inside a session, `/cloud` lists the cloud sessions (Enter shows one) and
|
|
292
|
-
`/cloud <task>` moves the task there.
|
|
293
|
-
|
|
294
|
-
## Engine and data
|
|
295
|
-
|
|
296
|
-
`moreai doctor` and `/status` name the backend this build talks to. Installed
|
|
297
|
-
packages use production (`api.more-ai.net`); only `MOREAI_ENV=dev`, at build or
|
|
298
|
-
run time, points the CLI and its engine at the test tier, and the session's
|
|
299
|
-
welcome screen then shows a `DEV` badge.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
Without the desktop app, `moreai` launches a bundled headless engine on this
|
|
303
|
-
machine. Provider credentials are encrypted with a key kept in the operating
|
|
304
|
-
system's keyring (macOS Keychain, Windows Credential Manager, or the Secret
|
|
305
|
-
Service on Linux — GNOME Keyring or KWallet). A Linux server with no keyring
|
|
306
|
-
service stores them unencrypted in a file only your user can read
|
|
307
|
-
(`~/.config/More AI/secrets.json`), the way most command-line tools keep
|
|
308
|
-
tokens. The CLI and VS Code can connect to the same running engine; sessions
|
|
309
|
-
and settings persist across CLI restarts.
|
|
310
|
-
|
|
311
|
-
If the desktop app is running with **External clients** enabled, the CLI attaches
|
|
312
|
-
to its engine, so sessions appear on both surfaces. If the app is running with
|
|
313
|
-
External clients disabled, enable it in **Settings → Agent tools**, or close the
|
|
314
|
-
app so the CLI can start its own engine. `moreai doctor` reports this condition.
|
|
315
|
-
|
|
316
|
-
## Usage analytics
|
|
317
|
-
|
|
318
|
-
More AI collects usage analytics to find bugs and see which features work:
|
|
319
|
-
commands you use, errors, and how agent runs go. With AI traces on (the
|
|
320
|
-
default), the content of runs is included too, so failed runs can be debugged.
|
|
321
|
-
API keys are never sent. The first interactive session asks once; you can
|
|
322
|
-
change it at any time:
|
|
267
|
+
`DO_NOT_TRACK=1` or `MOREAI_TELEMETRY=0` turns analytics off for any process
|
|
268
|
+
that sees it.
|
|
269
|
+
|
|
270
|
+
## Update and uninstall
|
|
323
271
|
|
|
324
272
|
```sh
|
|
325
|
-
moreai
|
|
326
|
-
moreai
|
|
327
|
-
|
|
328
|
-
moreai analytics on # analytics and AI traces
|
|
273
|
+
moreai update # is there a newer version?
|
|
274
|
+
moreai update --install # install it
|
|
275
|
+
npm uninstall -g @moreai/code
|
|
329
276
|
```
|
|
330
277
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
278
|
+
The background engine notices an update or uninstall and stops by itself once
|
|
279
|
+
nothing is using it, so the next session runs the new version.
|
|
280
|
+
|
|
281
|
+
Version 0.1.0-beta.1 cannot see newer versions: update it once with
|
|
282
|
+
`npm install -g @moreai/code@latest`. Its engine predates the self-stop and
|
|
283
|
+
keeps running until you restart the computer or run
|
|
284
|
+
`pkill -f @moreai/code/dist/daemon.mjs` (macOS, Linux).
|
|
285
|
+
|
|
286
|
+
## Troubleshooting
|
|
287
|
+
|
|
288
|
+
- **`moreai doctor`** checks the engine, the connection and your setup, and says
|
|
289
|
+
what to fix.
|
|
290
|
+
- **"No AI provider is connected"**: run `moreai auth`, or `moreai auth env` if
|
|
291
|
+
your key is in an environment variable.
|
|
292
|
+
- **The desktop app is running but the CLI cannot attach**: turn on
|
|
293
|
+
**Settings → Agent tools → External clients** in the app, or close the app.
|
|
294
|
+
- **Commands are held on a Linux server**: in `auto` the agent runs commands
|
|
295
|
+
on its own only inside a sandbox (bubblewrap on Linux). Without one, switch to
|
|
296
|
+
`accept-edits` (**Shift+Tab**) to approve each command, or use `--mode full`
|
|
297
|
+
in an environment you trust.
|
|
298
|
+
|
|
299
|
+
Questions and bug reports: [support@more-ai.net](mailto:support@more-ai.net).
|
|
300
|
+
|
|
301
|
+
## License
|
|
335
302
|
|
|
336
|
-
© 2026 More AI. All rights reserved. Proprietary software — see `LICENSE
|
|
337
|
-
|
|
303
|
+
© 2026 More AI. All rights reserved. Proprietary software — see `LICENSE`.
|
|
304
|
+
The open-source components it bundles are listed in `THIRD_PARTY_LICENSES.txt`.
|