@foxden-app/foxclaw 0.2.6 → 0.3.0

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.
@@ -1,282 +1,286 @@
1
- # Beginner Install Guide
2
-
3
- This guide is for a first FoxClaw install. It assumes you can open a terminal and paste commands, but it does not assume you already know Node.js, Telegram bots, or Codex CLI.
4
-
5
- FoxClaw runs on your own computer. Your phone talks to a Telegram bot, the bot talks to FoxClaw, and FoxClaw talks to local Codex. You do not need a public server.
6
-
7
- If you already have a shell-capable agent such as Codex, OpenClaw, QwenPaw, Hermes, OpenCode, or Kimi CLI on this computer, use [Agent-Assisted Install](./agent-assisted-install.md) first. It is the recommended path.
8
-
9
- Before you start:
10
-
11
- - Do not configure a Telegram group first. Use private chat first.
12
- - Do not send your bot token to anyone you do not trust.
13
- - Do not use `/`, `/Users`, `/home`, or your whole home directory as `DEFAULT_CWD` for the first install.
14
- - Use `foxclaw start` for normal startup. Use foreground mode only when troubleshooting.
15
-
16
- ## 1. Prepare
17
-
18
- You need:
19
-
20
- - a macOS or Linux computer that can stay on while you use FoxClaw
21
- - a Telegram account
22
- - a Codex account
23
- - a folder where Codex can work, for example `~/Projects` or `~/Desktop`
24
- - about 10-20 minutes for the first setup
25
-
26
- Use private chat first. Group and topic setup can wait until the bot replies reliably.
27
-
28
- ## 2. Install Node.js 24
29
-
30
- FoxClaw needs Node.js 24 because it uses the built-in SQLite runtime.
31
-
32
- If you already have Node 24, this should print `v24...`:
33
-
34
- ```bash
35
- node -v
36
- ```
37
-
38
- If not, install Node 24 with `nvm`:
39
-
40
- ```bash
41
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
42
- export NVM_DIR="$HOME/.nvm"
43
- [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
44
- nvm install 24
45
- nvm use 24
46
- node -v
47
- npm -v
48
- ```
49
-
50
- If `node -v` still shows an old version, close the terminal, open a new one, and run:
51
-
52
- ```bash
53
- nvm use 24
54
- ```
55
-
56
- ## 3. Install And Log In To Codex
57
-
58
- FoxClaw does not create a Codex account. It uses the Codex CLI already logged in on this computer.
59
-
60
- Install the Codex CLI if you do not already have it:
61
-
62
- ```bash
63
- npm install -g @openai/codex
64
- ```
65
-
66
- If this fails with `EACCES` or `permission denied`, stop and check [Troubleshooting](./troubleshooting.md). Do not keep retrying with random `sudo` commands.
67
-
68
- Log in:
69
-
70
- ```bash
71
- codex login
72
- ```
73
-
74
- Check the CLI exists:
75
-
76
- ```bash
77
- codex --version
78
- ```
79
-
80
- `codex --version` only proves the command exists. To verify Codex auth actually works, start Codex and run one tiny request:
81
-
82
- ```bash
83
- codex
84
- ```
85
-
86
- Ask it:
87
-
88
- ```text
89
- Say ready and exit.
90
- ```
91
-
92
- If your Codex CLI supports `codex login status`, you can also use it, but the real test is that Codex can answer a normal prompt without asking you to log in again.
93
-
94
- ## 4. Create A Telegram Bot
95
-
96
- 1. Open Telegram.
97
- 2. Search for `@BotFather`.
98
- 3. Send `/newbot`.
99
- 4. Follow the prompts and choose a bot name.
100
- 5. Copy the bot token. It looks like `123456789:AA...`.
101
-
102
- Keep this token private. Anyone with the token can control that Telegram bot.
103
-
104
- ## 5. Get Your Numeric Telegram User ID
105
-
106
- FoxClaw only accepts messages from one configured Telegram user.
107
-
108
- The easiest path:
109
-
110
- 1. Open Telegram.
111
- 2. Search for `@userinfobot`.
112
- 3. Send it any message or press Start.
113
- 4. Copy the numeric `Id`.
114
-
115
- Use the number, not your `@username`.
116
-
117
- ## 6. Install FoxClaw
118
-
119
- Install the published npm package:
120
-
121
- ```bash
122
- npm install -g @foxden-app/foxclaw
123
- foxclaw init
124
- ```
125
-
126
- This creates the config file at `~/.foxclaw/.env`.
127
-
128
- If you prefer pnpm:
129
-
130
- ```bash
131
- pnpm add -g @foxden-app/foxclaw
132
- foxclaw init
133
- ```
134
-
135
- ## 7. Fill In `.env`
136
-
137
- Open `.env` in a simple editor:
138
-
139
- ```bash
140
- nano ~/.foxclaw/.env
141
- ```
142
-
143
- For a first private-chat install, fill only the important values:
144
-
145
- ```dotenv
146
- TG_BOT_TOKEN=123456789:replace_with_your_bot_token
147
- TG_ALLOWED_USER_ID=123456789
148
- TG_ALLOWED_CHAT_ID=
149
- TG_ALLOWED_TOPIC_ID=
150
- DEFAULT_CWD=/absolute/path/to/a/folder
151
- DEFAULT_APPROVAL_POLICY=on-request
152
- DEFAULT_SANDBOX_MODE=workspace-write
153
- ```
154
-
155
- Keep `TG_ALLOWED_CHAT_ID=` and `TG_ALLOWED_TOPIC_ID=` empty for the first install. Do not delete those lines; leaving them empty means private-chat mode.
156
-
157
- `DEFAULT_CWD` must be a real folder. Examples:
158
-
159
- ```dotenv
160
- DEFAULT_CWD=/Users/alice/Desktop
161
- DEFAULT_CWD=/home/alice/projects
162
- ```
163
-
164
- In `nano`, press `Ctrl+O`, Enter, then `Ctrl+X` to save and exit.
165
-
166
- ## 8. Run The First Check
167
-
168
- Run doctor:
169
-
170
- ```bash
171
- foxclaw doctor
172
- ```
173
-
174
- You want to see:
175
-
176
- ```text
177
- [OK] node >= 24
178
- [OK] codex cli available
179
- [OK] telegram bot token configured
180
- [OK] telegram allowed user configured
181
- [OK] default cwd exists
182
- ```
183
-
184
- If you see `[FAIL]`, stop and check [Troubleshooting](./troubleshooting.md).
185
-
186
- ## 9. Start FoxClaw
187
-
188
- Start or restart the background service:
189
-
190
- ```bash
191
- foxclaw start
192
- ```
193
-
194
- This command is safe to run again. It runs the same checks as `doctor`, then installs or restarts the service for your platform.
195
-
196
- Now open your Telegram bot and send:
197
-
198
- ```text
199
- /help
200
- ```
201
-
202
- If it replies, send:
203
-
204
- ```text
205
- /status
206
- ```
207
-
208
- Then try a normal request, for example:
209
-
210
- ```text
211
- List the files in the current working directory.
212
- ```
213
-
214
- Good first messages to try:
215
-
216
- ```text
217
- /setup
218
- ```
219
-
220
- ```text
221
- List files in DEFAULT_CWD.
222
- ```
223
-
224
- ```text
225
- Create a short README-style summary of this folder.
226
- ```
227
-
228
- ```text
229
- /interrupt
230
- ```
231
-
232
- ## 10. Service Commands
233
-
234
- On Linux, `foxclaw start` manages a user-level systemd service. Check it with:
235
-
236
- ```bash
237
- systemctl --user status foxclaw.service
238
- journalctl --user -u foxclaw.service -f
239
- ```
240
-
241
- The service starts again when your user session starts. If you need it to start after reboot before you log in, run:
242
-
243
- ```bash
244
- loginctl enable-linger "$USER"
245
- ```
246
-
247
- On macOS, `foxclaw start` manages launchd and starts FoxClaw when you log in.
248
-
249
- For foreground debugging, stop the service first and then run `foxclaw serve`.
250
-
251
- ## 11. Day-To-Day Commands
252
-
253
- Check current status:
254
-
255
- ```bash
256
- foxclaw status
257
- ```
258
-
259
- Restart Linux service after changing `.env`:
260
-
261
- ```bash
262
- foxclaw start
263
- ```
264
-
265
- Stop Linux service:
266
-
267
- ```bash
268
- systemctl --user stop foxclaw.service
269
- ```
270
-
271
- Uninstall Linux service:
272
-
273
- ```bash
274
- foxclaw uninstall-systemd
275
- ```
276
-
277
- Update FoxClaw later:
278
-
279
- ```bash
280
- npm install -g @foxden-app/foxclaw@latest
281
- foxclaw start
282
- ```
1
+ # Beginner Install Guide
2
+
3
+ This guide is for a first FoxClaw install. It assumes you can open a terminal and paste commands, but it does not assume you already know Node.js, Telegram bots, or Codex CLI.
4
+
5
+ FoxClaw runs on your own computer. Your phone talks to a Telegram bot, the bot talks to FoxClaw, and FoxClaw talks to local Codex. You do not need a public server.
6
+
7
+ If you already have a shell-capable agent such as Codex, OpenClaw, QwenPaw, Hermes, OpenCode, or Kimi CLI on this computer, use [Agent-Assisted Install](./agent-assisted-install.md) first. It is the recommended path.
8
+
9
+ Before you start:
10
+
11
+ - Do not configure a Telegram group first. Use private chat first.
12
+ - Do not send your bot token to anyone you do not trust.
13
+ - Do not use `/`, `/Users`, `/home`, or your whole home directory as `DEFAULT_CWD` for the first install.
14
+ - Use `foxclaw start` for normal startup. Use foreground mode only when troubleshooting.
15
+
16
+ ## 1. Prepare
17
+
18
+ You need:
19
+
20
+ - a macOS or Linux computer that can stay on while you use FoxClaw
21
+ - a Telegram account
22
+ - a Codex account
23
+ - a folder where Codex can work, for example `~/Projects` or `~/Desktop`
24
+ - about 10-20 minutes for the first setup
25
+
26
+ Use private chat first. Group and topic setup can wait until the bot replies reliably.
27
+
28
+ ## 2. Install Node.js 24
29
+
30
+ FoxClaw needs Node.js 24 because it uses the built-in SQLite runtime.
31
+
32
+ If you already have Node 24, this should print `v24...`:
33
+
34
+ ```bash
35
+ node -v
36
+ ```
37
+
38
+ If not, install Node 24 with `nvm`:
39
+
40
+ ```bash
41
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
42
+ export NVM_DIR="$HOME/.nvm"
43
+ [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
44
+ nvm install 24
45
+ nvm use 24
46
+ node -v
47
+ npm -v
48
+ ```
49
+
50
+ If `node -v` still shows an old version, close the terminal, open a new one, and run:
51
+
52
+ ```bash
53
+ nvm use 24
54
+ ```
55
+
56
+ ## 3. Install And Log In To Codex
57
+
58
+ FoxClaw does not create a Codex account. It uses the Codex CLI already logged in on this computer.
59
+
60
+ Install the Codex CLI if you do not already have it:
61
+
62
+ ```bash
63
+ npm install -g @openai/codex
64
+ ```
65
+
66
+ If this fails with `EACCES` or `permission denied`, stop and check [Troubleshooting](./troubleshooting.md). Do not keep retrying with random `sudo` commands.
67
+
68
+ Log in:
69
+
70
+ ```bash
71
+ codex login
72
+ ```
73
+
74
+ Check the CLI exists:
75
+
76
+ ```bash
77
+ codex --version
78
+ ```
79
+
80
+ `codex --version` only proves the command exists. To verify Codex auth actually works, start Codex and run one tiny request:
81
+
82
+ ```bash
83
+ codex
84
+ ```
85
+
86
+ Ask it:
87
+
88
+ ```text
89
+ Say ready and exit.
90
+ ```
91
+
92
+ If your Codex CLI supports `codex login status`, you can also use it, but the real test is that Codex can answer a normal prompt without asking you to log in again.
93
+
94
+ ## 4. Create A Telegram Bot
95
+
96
+ 1. Open Telegram.
97
+ 2. Search for `@BotFather`.
98
+ 3. Send `/newbot`.
99
+ 4. Follow the prompts and choose a bot name.
100
+ 5. Copy the bot token. It looks like `123456789:AA...`.
101
+
102
+ Keep this token private. Anyone with the token can control that Telegram bot.
103
+
104
+ ## 5. Get Your Numeric Telegram User ID
105
+
106
+ FoxClaw only accepts messages from one configured Telegram user.
107
+
108
+ The easiest path:
109
+
110
+ 1. Open Telegram.
111
+ 2. Search for `@userinfobot`.
112
+ 3. Send it any message or press Start.
113
+ 4. Copy the numeric `Id`.
114
+
115
+ Use the number, not your `@username`.
116
+
117
+ ## 6. Install FoxClaw
118
+
119
+ Install the published npm package:
120
+
121
+ ```bash
122
+ npm install -g @foxden-app/foxclaw
123
+ foxclaw init
124
+ ```
125
+
126
+ This creates the config file at `~/.foxclaw/.env`.
127
+
128
+ If you prefer pnpm:
129
+
130
+ ```bash
131
+ pnpm add -g @foxden-app/foxclaw
132
+ foxclaw init
133
+ ```
134
+
135
+ ## 7. Fill In `.env`
136
+
137
+ Open `.env` in a simple editor:
138
+
139
+ ```bash
140
+ nano ~/.foxclaw/.env
141
+ ```
142
+
143
+ For a first private-chat install, fill only the important values:
144
+
145
+ ```dotenv
146
+ TG_BOT_TOKEN=123456789:replace_with_your_bot_token
147
+ TG_ALLOWED_USER_ID=123456789
148
+ TG_ALLOWED_CHAT_ID=
149
+ TG_ALLOWED_TOPIC_ID=
150
+ DEFAULT_CWD=/absolute/path/to/a/folder
151
+ DEFAULT_APPROVAL_POLICY=on-request
152
+ DEFAULT_SANDBOX_MODE=workspace-write
153
+ ```
154
+
155
+ Keep `TG_ALLOWED_CHAT_ID=` and `TG_ALLOWED_TOPIC_ID=` empty for the first install. Do not delete those lines; leaving them empty means private-chat mode.
156
+
157
+ `DEFAULT_CWD` must be a real folder. Examples:
158
+
159
+ ```dotenv
160
+ DEFAULT_CWD=/Users/alice/Desktop
161
+ DEFAULT_CWD=/home/alice/projects
162
+ ```
163
+
164
+ In `nano`, press `Ctrl+O`, Enter, then `Ctrl+X` to save and exit.
165
+
166
+ ## 8. Run The First Check
167
+
168
+ Run doctor:
169
+
170
+ ```bash
171
+ foxclaw doctor
172
+ ```
173
+
174
+ You want to see:
175
+
176
+ ```text
177
+ [OK] node >= 24
178
+ [OK] codex cli available
179
+ [OK] telegram bot token configured
180
+ [OK] telegram allowed user configured
181
+ [OK] default cwd exists
182
+ ```
183
+
184
+ If you see `[FAIL]`, stop and check [Troubleshooting](./troubleshooting.md).
185
+
186
+ ## 9. Start FoxClaw
187
+
188
+ Start or restart the background service:
189
+
190
+ ```bash
191
+ foxclaw start
192
+ ```
193
+
194
+ This command is safe to run again. It runs the same checks as `doctor`, then installs or restarts the service for your platform.
195
+
196
+ Now open your Telegram bot and send:
197
+
198
+ ```text
199
+ /help
200
+ ```
201
+
202
+ If it replies, send:
203
+
204
+ ```text
205
+ /status
206
+ ```
207
+
208
+ Then try a normal request, for example:
209
+
210
+ ```text
211
+ List the files in the current working directory.
212
+ ```
213
+
214
+ Good first messages to try:
215
+
216
+ ```text
217
+ /setup
218
+ ```
219
+
220
+ ```text
221
+ List files in DEFAULT_CWD.
222
+ ```
223
+
224
+ ```text
225
+ Create a short README-style summary of this folder.
226
+ ```
227
+
228
+ ```text
229
+ /interrupt
230
+ ```
231
+
232
+ ## 10. Service Commands
233
+
234
+ On Linux, `foxclaw start` manages a user-level systemd service. Check it with:
235
+
236
+ ```bash
237
+ systemctl --user status foxclaw.service
238
+ journalctl --user -u foxclaw.service -f
239
+ ```
240
+
241
+ The service starts again when your user session starts. If you need it to start after reboot before you log in, run:
242
+
243
+ ```bash
244
+ loginctl enable-linger "$USER"
245
+ ```
246
+
247
+ On macOS, `foxclaw start` manages launchd and starts FoxClaw when you log in.
248
+
249
+ For foreground debugging, stop the service first and then run `foxclaw serve`.
250
+
251
+ ## 11. Day-To-Day Commands
252
+
253
+ Check current status:
254
+
255
+ ```bash
256
+ foxclaw status
257
+ ```
258
+
259
+ Restart Linux service after changing `.env`:
260
+
261
+ ```bash
262
+ foxclaw start
263
+ ```
264
+
265
+ Stop Linux service:
266
+
267
+ ```bash
268
+ systemctl --user stop foxclaw.service
269
+ ```
270
+
271
+ Uninstall Linux service:
272
+
273
+ ```bash
274
+ foxclaw uninstall-systemd
275
+ ```
276
+
277
+ Update FoxClaw later:
278
+
279
+ ```bash
280
+ npm install -g @foxden-app/foxclaw@latest
281
+ foxclaw start
282
+ ```
283
+
284
+ ## Next Step
285
+
286
+ After the first install works, read the [User Manual](./user-manual.md) for `/help`, `/setup`, `/threads`, `/watch`, `/auth`, Codex login, and multi-account auth rotation.