@sciilo.ai/codex-sidecar 0.1.0 → 0.2.1
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 +56 -40
- package/bin/{sciilo-sidecar.js → sciilo-codex.js} +4 -4
- package/package.json +6 -6
- package/src/banner.js +1 -1
- package/src/codex-app-server.js +2 -2
- package/src/config.js +2 -2
package/README.md
CHANGED
|
@@ -76,37 +76,24 @@ npm --version
|
|
|
76
76
|
|
|
77
77
|
The first command must display `v22` or a higher version number.
|
|
78
78
|
|
|
79
|
-
### 2.
|
|
79
|
+
### 2. Install the sidecar
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
1. click **Code**, then **Download ZIP**;
|
|
84
|
-
2. extract the downloaded archive;
|
|
85
|
-
3. open a terminal in the extracted folder;
|
|
86
|
-
4. run:
|
|
81
|
+
Open a terminal — anywhere, the folder does not matter — and run:
|
|
87
82
|
|
|
88
83
|
```shell
|
|
89
|
-
|
|
90
|
-
./install.sh
|
|
84
|
+
npm install -g @sciilo.ai/codex-sidecar
|
|
91
85
|
```
|
|
92
86
|
|
|
93
87
|
The installation automatically downloads the Codex version selected for the
|
|
94
88
|
sidecar and the binary matching your computer. Codex remains a private
|
|
95
89
|
dependency: no global `codex` command is required.
|
|
96
90
|
|
|
97
|
-
You may move or delete the downloaded folder after installation without
|
|
98
|
-
breaking the installed command.
|
|
99
|
-
|
|
100
91
|
Check that the sidecar is available:
|
|
101
92
|
|
|
102
93
|
```shell
|
|
103
|
-
sciilo-
|
|
94
|
+
sciilo-codex --help
|
|
104
95
|
```
|
|
105
96
|
|
|
106
|
-
> On Windows, use
|
|
107
|
-
> [WSL](https://learn.microsoft.com/windows/wsl/install), because the
|
|
108
|
-
> installation script uses Bash.
|
|
109
|
-
|
|
110
97
|
### 3. Generate the Sciilo connection key
|
|
111
98
|
|
|
112
99
|
1. open Sciilo and sign in;
|
|
@@ -127,7 +114,7 @@ session, or an OpenAI API key.
|
|
|
127
114
|
Run:
|
|
128
115
|
|
|
129
116
|
```shell
|
|
130
|
-
sciilo-
|
|
117
|
+
sciilo-codex setup
|
|
131
118
|
```
|
|
132
119
|
|
|
133
120
|
The program asks for:
|
|
@@ -162,7 +149,7 @@ To keep the key out of your terminal history, enter it silently:
|
|
|
162
149
|
read -s -p "OpenAI API key: " SCIILO_CODEX_API_KEY
|
|
163
150
|
echo
|
|
164
151
|
export SCIILO_CODEX_API_KEY
|
|
165
|
-
sciilo-
|
|
152
|
+
sciilo-codex setup
|
|
166
153
|
unset SCIILO_CODEX_API_KEY
|
|
167
154
|
```
|
|
168
155
|
|
|
@@ -180,7 +167,7 @@ key uses your OpenAI Platform organization's usage-based billing. See the
|
|
|
180
167
|
for details.
|
|
181
168
|
|
|
182
169
|
The sidecar configuration is stored in
|
|
183
|
-
`~/.config/sciilo-
|
|
170
|
+
`~/.config/sciilo-codex/config.json`, with permissions restricted to your
|
|
184
171
|
user account. One configuration works for every project on the computer.
|
|
185
172
|
|
|
186
173
|
### 5. Start the sidecar in a project
|
|
@@ -189,7 +176,7 @@ Open a terminal in the project folder:
|
|
|
189
176
|
|
|
190
177
|
```shell
|
|
191
178
|
cd /path/to/my-project
|
|
192
|
-
sciilo-
|
|
179
|
+
sciilo-codex
|
|
193
180
|
```
|
|
194
181
|
|
|
195
182
|
The current folder becomes the Codex workspace and selects the corresponding
|
|
@@ -199,7 +186,7 @@ project in Sciilo. Keep this terminal open while using the sidecar. Press
|
|
|
199
186
|
To select a folder without changing directories:
|
|
200
187
|
|
|
201
188
|
```shell
|
|
202
|
-
sciilo-
|
|
189
|
+
sciilo-codex --workspace /path/to/my-project
|
|
203
190
|
```
|
|
204
191
|
|
|
205
192
|
## Everyday use
|
|
@@ -207,14 +194,14 @@ sciilo-sidecar --workspace /path/to/my-project
|
|
|
207
194
|
Display the configuration and Codex sign-in status:
|
|
208
195
|
|
|
209
196
|
```shell
|
|
210
|
-
sciilo-
|
|
197
|
+
sciilo-codex status
|
|
211
198
|
```
|
|
212
199
|
|
|
213
200
|
Open another project:
|
|
214
201
|
|
|
215
202
|
```shell
|
|
216
203
|
cd /path/to/another-project
|
|
217
|
-
sciilo-
|
|
204
|
+
sciilo-codex
|
|
218
205
|
```
|
|
219
206
|
|
|
220
207
|
Only one sidecar may use a connection key at a time. If two processes connect
|
|
@@ -223,15 +210,31 @@ replacing each other.
|
|
|
223
210
|
|
|
224
211
|
## Updating
|
|
225
212
|
|
|
226
|
-
Download and extract the new repository version, then run:
|
|
227
|
-
|
|
228
213
|
```shell
|
|
229
|
-
|
|
214
|
+
npm install -g @sciilo.ai/codex-sidecar@latest
|
|
230
215
|
```
|
|
231
216
|
|
|
232
217
|
The sidecar and its private Codex runtime are replaced together. Your Sciilo
|
|
233
218
|
configuration and local Codex session are preserved.
|
|
234
219
|
|
|
220
|
+
### Coming from 0.1.0
|
|
221
|
+
|
|
222
|
+
The command was called `sciilo-sidecar` in 0.1.0. It is now `sciilo-codex`, to
|
|
223
|
+
match `sciilo-claude` and to say which Agent it carries. Remove the old command
|
|
224
|
+
before installing, otherwise it stays in your `PATH` alongside the new one:
|
|
225
|
+
|
|
226
|
+
```shell
|
|
227
|
+
npm uninstall -g @sciilo.ai/codex-sidecar
|
|
228
|
+
npm install -g @sciilo.ai/codex-sidecar
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
The configuration directory follows the same rename. Move it to keep your
|
|
232
|
+
pairing, or run `sciilo-codex setup` again:
|
|
233
|
+
|
|
234
|
+
```shell
|
|
235
|
+
mv ~/.config/sciilo-sidecar ~/.config/sciilo-codex
|
|
236
|
+
```
|
|
237
|
+
|
|
235
238
|
## Uninstalling
|
|
236
239
|
|
|
237
240
|
Remove the sidecar and its private Codex runtime:
|
|
@@ -241,7 +244,7 @@ npm uninstall --global @sciilo.ai/codex-sidecar
|
|
|
241
244
|
```
|
|
242
245
|
|
|
243
246
|
This command does not remove the configuration stored in
|
|
244
|
-
`~/.config/sciilo-
|
|
247
|
+
`~/.config/sciilo-codex/` or the local session managed by Codex.
|
|
245
248
|
|
|
246
249
|
## Security and privacy
|
|
247
250
|
|
|
@@ -265,10 +268,17 @@ This command does not remove the configuration stored in
|
|
|
265
268
|
Install the current LTS version from [nodejs.org](https://nodejs.org/), reopen
|
|
266
269
|
the terminal, and run `node --version` again.
|
|
267
270
|
|
|
268
|
-
### `sciilo-
|
|
271
|
+
### `sciilo-codex: command not found`
|
|
272
|
+
|
|
273
|
+
The command was installed outside your `PATH`. Ask npm where it puts global
|
|
274
|
+
commands:
|
|
275
|
+
|
|
276
|
+
```shell
|
|
277
|
+
npm prefix -g
|
|
278
|
+
```
|
|
269
279
|
|
|
270
|
-
|
|
271
|
-
|
|
280
|
+
The commands live in the `bin` subfolder of that path. Add it to your `PATH`,
|
|
281
|
+
then reopen the terminal.
|
|
272
282
|
|
|
273
283
|
### A global `codex` command cannot be found
|
|
274
284
|
|
|
@@ -276,30 +286,36 @@ This is expected: the Codex runtime supplied with the sidecar is private and
|
|
|
276
286
|
does not need to be in your `PATH`. Use:
|
|
277
287
|
|
|
278
288
|
```shell
|
|
279
|
-
sciilo-
|
|
289
|
+
sciilo-codex status
|
|
280
290
|
```
|
|
281
291
|
|
|
282
292
|
### The Codex runtime is missing or damaged
|
|
283
293
|
|
|
284
|
-
|
|
294
|
+
Reinstall the sidecar:
|
|
285
295
|
|
|
286
296
|
```shell
|
|
287
|
-
|
|
297
|
+
npm install -g @sciilo.ai/codex-sidecar@latest
|
|
288
298
|
```
|
|
289
299
|
|
|
290
|
-
The
|
|
300
|
+
The installation automatically downloads the Codex package for your platform.
|
|
291
301
|
|
|
292
302
|
### Permission error during installation
|
|
293
303
|
|
|
294
|
-
Do not use `sudo`.
|
|
295
|
-
|
|
304
|
+
Do not use `sudo`. A global install that asks for administrator rights means
|
|
305
|
+
npm is writing outside your account. Point it at a folder you own:
|
|
306
|
+
|
|
307
|
+
```shell
|
|
308
|
+
npm config set prefix ~/.local
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
Add `~/.local/bin` to your `PATH`, reopen the terminal, and install again.
|
|
296
312
|
|
|
297
313
|
### Codex is not authenticated
|
|
298
314
|
|
|
299
315
|
Run:
|
|
300
316
|
|
|
301
317
|
```shell
|
|
302
|
-
sciilo-
|
|
318
|
+
sciilo-codex setup
|
|
303
319
|
```
|
|
304
320
|
|
|
305
321
|
To use an API key, repeat the commands from option B without writing the key
|
|
@@ -310,7 +326,7 @@ directly on the command line.
|
|
|
310
326
|
Stop every sidecar with `Ctrl+C`, generate a new key in Sciilo, then run:
|
|
311
327
|
|
|
312
328
|
```shell
|
|
313
|
-
sciilo-
|
|
329
|
+
sciilo-codex setup
|
|
314
330
|
```
|
|
315
331
|
|
|
316
332
|
### The sidecar does not connect
|
|
@@ -319,7 +335,7 @@ Check:
|
|
|
319
335
|
|
|
320
336
|
```shell
|
|
321
337
|
node --version
|
|
322
|
-
sciilo-
|
|
338
|
+
sciilo-codex status
|
|
323
339
|
```
|
|
324
340
|
|
|
325
341
|
Also make sure the Sciilo address starts with `https://`, except for a local
|
|
@@ -163,7 +163,7 @@ async function renewConnectionKey(path, config, bridge, reason) {
|
|
|
163
163
|
console.log('sidecar: click Connect in Sciilo, copy the new key, then paste it here.')
|
|
164
164
|
|
|
165
165
|
if (!stdin.isTTY || !stdout.isTTY) {
|
|
166
|
-
console.log(`sidecar: not an interactive terminal; run "sciilo-
|
|
166
|
+
console.log(`sidecar: not an interactive terminal; run "sciilo-codex setup --config ${path}" instead.`)
|
|
167
167
|
return null
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -209,9 +209,9 @@ function commandOutput(result) {
|
|
|
209
209
|
|
|
210
210
|
function usage() {
|
|
211
211
|
console.log(`Usage:
|
|
212
|
-
sciilo-
|
|
213
|
-
sciilo-
|
|
214
|
-
sciilo-
|
|
212
|
+
sciilo-codex setup [--config path]
|
|
213
|
+
sciilo-codex start [--workspace path] [--config path]
|
|
214
|
+
sciilo-codex status [--workspace path] [--config path]
|
|
215
215
|
|
|
216
216
|
Without --workspace, the sidecar takes the current directory as the project.
|
|
217
217
|
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sciilo.ai/codex-sidecar",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local bridge between Sciilo and Codex App Server",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"bin": {
|
|
8
|
-
"sciilo-
|
|
8
|
+
"sciilo-codex": "./bin/sciilo-codex.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
|
-
"start": "node ./bin/sciilo-
|
|
12
|
-
"setup": "node ./bin/sciilo-
|
|
13
|
-
"status": "node ./bin/sciilo-
|
|
11
|
+
"start": "node ./bin/sciilo-codex.js start",
|
|
12
|
+
"setup": "node ./bin/sciilo-codex.js setup",
|
|
13
|
+
"status": "node ./bin/sciilo-codex.js status",
|
|
14
14
|
"test": "node --test test/*.test.js",
|
|
15
15
|
"vault:sync": "cp \"${SCIILO_VAULT:-../sidecar/vault/vault.js}\" src/vault.js",
|
|
16
16
|
"test:integration": "node ./scripts/quarkus-smoke.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"node": ">=22"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@openai/codex": "0.
|
|
23
|
+
"@openai/codex": "0.149.0",
|
|
24
24
|
"ws": "^8.18.3"
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
package/src/banner.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* <p>Two things are deliberately conditional. Colour is dropped unless the
|
|
9
9
|
* output is a terminal that wants it, because a banner is also written to log
|
|
10
10
|
* files and journals, where escape codes are noise. The drawing itself is
|
|
11
|
-
* dropped when the output is not a terminal at all: a piped `sciilo-
|
|
11
|
+
* dropped when the output is not a terminal at all: a piped `sciilo-codex`
|
|
12
12
|
* should print a line one can read and grep, not five lines of blocks.</p>
|
|
13
13
|
*/
|
|
14
14
|
|
package/src/codex-app-server.js
CHANGED
|
@@ -39,7 +39,7 @@ export class CodexAppServer extends EventEmitter {
|
|
|
39
39
|
|
|
40
40
|
await this.request('initialize', {
|
|
41
41
|
clientInfo: {
|
|
42
|
-
name: 'sciilo-
|
|
42
|
+
name: 'sciilo-codex',
|
|
43
43
|
title: 'Sciilo Codex Sidecar',
|
|
44
44
|
version: '0.1.0',
|
|
45
45
|
},
|
|
@@ -51,7 +51,7 @@ export class CodexAppServer extends EventEmitter {
|
|
|
51
51
|
this.notify('initialized')
|
|
52
52
|
const account = await this.request('account/read', { refreshToken: false })
|
|
53
53
|
if (account?.requiresOpenaiAuth && !account?.account) {
|
|
54
|
-
throw new Error('Codex is not authenticated. Run `sciilo-
|
|
54
|
+
throw new Error('Codex is not authenticated. Run `sciilo-codex setup`.')
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
package/src/config.js
CHANGED
|
@@ -16,8 +16,8 @@ export const DEFAULT_CODEX_MODEL = 'gpt-5.6-sol'
|
|
|
16
16
|
*/
|
|
17
17
|
export const DEFAULT_REASONING_EFFORT = 'medium'
|
|
18
18
|
|
|
19
|
-
export const defaultConfigPath = () => process.env.
|
|
20
|
-
|| join(homedir(), '.config', 'sciilo-
|
|
19
|
+
export const defaultConfigPath = () => process.env.SCIILO_CODEX_CONFIG
|
|
20
|
+
|| join(homedir(), '.config', 'sciilo-codex', 'config.json')
|
|
21
21
|
|
|
22
22
|
export function resolveWorkspace(explicit) {
|
|
23
23
|
return resolve(explicit || process.cwd())
|