remcodex 0.1.0-beta.2 → 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 +84 -0
- package/dist/server/src/app.js +3 -1
- package/dist/server/src/cli.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -138,6 +138,12 @@ Before running this project, you should have:
|
|
|
138
138
|
- Codex CLI installed and already working locally
|
|
139
139
|
- A machine where this app can access your local Codex data and working directories
|
|
140
140
|
|
|
141
|
+
On Linux, the first install may need a native build toolchain for `better-sqlite3` and `node-pty`:
|
|
142
|
+
|
|
143
|
+
- `python3`
|
|
144
|
+
- `make`
|
|
145
|
+
- `g++`
|
|
146
|
+
|
|
141
147
|
This project is currently developed primarily around a local macOS workflow.
|
|
142
148
|
|
|
143
149
|
## Quick Start
|
|
@@ -159,6 +165,84 @@ RemCodex starts a local server and opens the browser for you.
|
|
|
159
165
|
|
|
160
166
|
If you want to make it reachable from your phone, expose the local machine on your LAN and open the same URL with your host IP.
|
|
161
167
|
|
|
168
|
+
### Linux Install Note
|
|
169
|
+
|
|
170
|
+
If `npx remcodex` appears to hang during the first install, it is usually still installing or compiling native dependencies.
|
|
171
|
+
|
|
172
|
+
Make sure the machine has:
|
|
173
|
+
|
|
174
|
+
- `python3`
|
|
175
|
+
- `make`
|
|
176
|
+
- `g++`
|
|
177
|
+
|
|
178
|
+
Common setup examples:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Debian / Ubuntu
|
|
182
|
+
apt-get install -y python3 make g++
|
|
183
|
+
|
|
184
|
+
# RHEL / CentOS / Rocky / Alibaba Cloud Linux
|
|
185
|
+
yum install -y python3 make gcc-c++
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Install FAQ
|
|
189
|
+
|
|
190
|
+
### Why does `npx remcodex` seem to hang on Linux?
|
|
191
|
+
|
|
192
|
+
The package includes native dependencies such as `better-sqlite3` and `node-pty`.
|
|
193
|
+
|
|
194
|
+
On some Linux machines, the first install may need to download or compile native binaries before RemCodex itself starts. That can look like a long spinner before you see any RemCodex output.
|
|
195
|
+
|
|
196
|
+
### What usually fixes Linux install failures?
|
|
197
|
+
|
|
198
|
+
Install the native build tools first:
|
|
199
|
+
|
|
200
|
+
- `python3`
|
|
201
|
+
- `make`
|
|
202
|
+
- `g++`
|
|
203
|
+
|
|
204
|
+
If you see `node-gyp`, `g++`, or build-related errors, the machine is usually missing part of that toolchain.
|
|
205
|
+
|
|
206
|
+
### How can I get clearer logs than `npx remcodex`?
|
|
207
|
+
|
|
208
|
+
If the first `npx` run is unclear, install it globally instead:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
npm install -g remcodex
|
|
212
|
+
remcodex doctor
|
|
213
|
+
remcodex start
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
That usually makes native install errors much easier to read.
|
|
217
|
+
|
|
218
|
+
### What if I am starting RemCodex on a headless server?
|
|
219
|
+
|
|
220
|
+
Use:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npx remcodex --no-open
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
or:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
remcodex start --no-open
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
RemCodex will still print the local and LAN URLs even when it does not try to open a browser.
|
|
233
|
+
|
|
234
|
+
### Do I need Codex CLI installed first?
|
|
235
|
+
|
|
236
|
+
Yes.
|
|
237
|
+
|
|
238
|
+
RemCodex is a control surface for your local Codex runtime. If `codex` is not already installed and working in `PATH`, run:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
remcodex doctor
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
and fix the reported Codex CLI issue first.
|
|
245
|
+
|
|
162
246
|
## Local CLI
|
|
163
247
|
|
|
164
248
|
RemCodex also works well from source if you want to develop locally or inspect the runtime setup.
|
package/dist/server/src/app.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEFAULT_PORT = void 0;
|
|
6
7
|
exports.resolvePackageRoot = resolvePackageRoot;
|
|
7
8
|
exports.resolveDefaultDatabasePath = resolveDefaultDatabasePath;
|
|
8
9
|
exports.startRemCodexServer = startRemCodexServer;
|
|
@@ -46,9 +47,10 @@ function resolvePackageRoot(startDir = __dirname) {
|
|
|
46
47
|
function resolveDefaultDatabasePath() {
|
|
47
48
|
return node_path_1.default.join((0, node_os_1.homedir)(), ".remcodex", "remcodex.db");
|
|
48
49
|
}
|
|
50
|
+
exports.DEFAULT_PORT = 18840;
|
|
49
51
|
function buildRemCodexServer(options = {}) {
|
|
50
52
|
const repoRoot = options.repoRoot ? node_path_1.default.resolve(options.repoRoot) : resolvePackageRoot();
|
|
51
|
-
const port = options.port ?? Number.parseInt(process.env.PORT ??
|
|
53
|
+
const port = options.port ?? Number.parseInt(process.env.PORT ?? String(exports.DEFAULT_PORT), 10);
|
|
52
54
|
const databasePath = options.databasePath ??
|
|
53
55
|
process.env.DATABASE_PATH ??
|
|
54
56
|
resolveDefaultDatabasePath();
|
package/dist/server/src/cli.js
CHANGED
|
@@ -169,7 +169,7 @@ async function runStart(flags) {
|
|
|
169
169
|
printError("Install Codex first, or set CODEX_COMMAND to the correct executable.");
|
|
170
170
|
return 1;
|
|
171
171
|
}
|
|
172
|
-
const preferredPort = flags.port ?? Number.parseInt(process.env.PORT ??
|
|
172
|
+
const preferredPort = flags.port ?? Number.parseInt(process.env.PORT ?? String(app_1.DEFAULT_PORT), 10);
|
|
173
173
|
const codexMode = process.env.CODEX_MODE === "exec-json" ? "exec-json" : "app-server";
|
|
174
174
|
let started = null;
|
|
175
175
|
let activePort = preferredPort;
|