@blunking/codexlink 0.1.9 → 0.1.12

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 CHANGED
@@ -1,118 +1,119 @@
1
- <div align="center">
2
-
3
- # CodexLink
4
-
5
- **Your agent in your pocket.**
6
-
7
- [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
8
- [![Powered by BLUN](https://img.shields.io/badge/Powered%20by-BLUN-22D3EE.svg)](https://blun.ai)
9
-
10
- </div>
11
-
12
- CodexLink is the BLUN launcher for one visible CLI session with optional Telegram delivery.
13
-
14
- It keeps transport and queueing around the operator, without spinning up a hidden second session.
15
-
16
- Telegram delivery is serial by default:
17
-
18
- - inbound messages land in queue first
19
- - active work is not interrupted immediately
20
- - direct messages wait until the visible session is quiet
21
- - ambient group noise stays queued until it is relevant or manually drained
22
- - escalation-style messages can still jump the line
23
- - stale pending replies time out automatically, so the queue cannot block forever
24
-
25
- ## Install
26
-
27
- From GitHub:
28
-
29
- ```powershell
30
- npm install -g github:maykbiletti/codexlink
31
- ```
32
-
33
- From npm:
34
-
35
- ```powershell
36
- npm install -g @blunking/codexlink
37
- ```
38
-
39
- Local development:
40
-
41
- ```powershell
42
- cd codexlink
43
- npm install
44
- npm link
45
- ```
46
-
47
- ## Schnellstart
48
-
49
- Normal starten:
50
-
51
- ```powershell
52
- blun-codex
53
- ```
54
-
55
- Telegram aktivieren:
56
-
57
- ```powershell
58
- blun-codex telegram-plugin
59
- ```
60
-
61
- Wenn Telegram noch nicht eingerichtet ist, startet automatisch ein kurzer Setup-Flow und fragt:
62
-
63
- - Telegram Bot Token
64
- - erlaubte Chat ID(s)
65
-
66
- Die Werte werden automatisch lokal an die richtige Stelle geschrieben. Du musst keine `.env`-Datei suchen.
67
-
68
- Pruefen:
69
-
70
- ```powershell
71
- blun-codex telegram-doctor
72
- ```
73
-
74
- ## Commands
75
-
76
- Normal startup:
77
-
78
- ```powershell
79
- blun-codex
80
- ```
81
-
82
- Alias:
83
-
84
- ```powershell
85
- codexlink
86
- ```
87
-
88
- Telegram mode:
89
-
90
- ```powershell
91
- blun-codex telegram-plugin
92
- ```
93
-
94
- Manual setup:
95
-
96
- ```powershell
97
- blun-codex telegram-setup
98
- ```
99
-
100
- Legacy equivalent:
101
-
102
- ```powershell
103
- blun-codex --telegram plugin
104
- ```
105
-
106
- Status:
107
-
108
- ```powershell
109
- blun-codex telegram-status
110
- ```
111
-
1
+ <div align="center">
2
+
3
+ # CodexLink
4
+
5
+ **Your agent in your pocket.**
6
+
7
+ [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
8
+ [![Powered by BLUN](https://img.shields.io/badge/Powered%20by-BLUN-22D3EE.svg)](https://blun.ai)
9
+
10
+ </div>
11
+
12
+ CodexLink is the BLUN launcher for one visible CLI session with optional Telegram delivery.
13
+
14
+ It keeps transport and queueing around the operator, without spinning up a hidden second session.
15
+
16
+ Telegram delivery is serial by default:
17
+
18
+ - inbound messages land in queue first
19
+ - active work is not interrupted immediately
20
+ - direct messages wait until the visible session is quiet
21
+ - ambient group noise stays queued until it is relevant or manually drained
22
+ - escalation-style messages can still jump the line
23
+ - stale pending replies time out automatically, so the queue cannot block forever
24
+
25
+ ## Install
26
+
27
+ From GitHub:
28
+
29
+ ```powershell
30
+ npm install -g github:maykbiletti/codexlink
31
+ ```
32
+
33
+ From npm:
34
+
35
+ ```powershell
36
+ npm install -g @blunking/codexlink
37
+ ```
38
+
39
+ Local development:
40
+
41
+ ```powershell
42
+ cd codexlink
43
+ npm install
44
+ npm link
45
+ ```
46
+
47
+ ## Schnellstart
48
+
49
+ Normal starten:
50
+
51
+ ```powershell
52
+ blun-codex
53
+ ```
54
+
55
+ Telegram aktivieren:
56
+
57
+ ```powershell
58
+ blun-codex telegram-plugin
59
+ ```
60
+
61
+ Wenn Telegram noch nicht eingerichtet ist, startet automatisch ein kurzer Setup-Flow und fragt:
62
+
63
+ - Telegram Bot Token
64
+
65
+ Danach oeffnest du Telegram und sendest eine Nachricht an den Bot. CodexLink erkennt Chat oder Gruppe automatisch und schreibt alles lokal an die richtige Stelle. Du musst keine Chat-ID suchen und keine `.env`-Datei bearbeiten.
66
+
67
+ Pruefen:
68
+
69
+ ```powershell
70
+ blun-codex telegram-doctor
71
+ ```
72
+
73
+ ## Commands
74
+
75
+ Normal startup:
76
+
77
+ ```powershell
78
+ blun-codex
79
+ ```
80
+
81
+ Alias:
82
+
83
+ ```powershell
84
+ codexlink
85
+ ```
86
+
87
+ Telegram mode:
88
+
89
+ ```powershell
90
+ blun-codex telegram-plugin
91
+ ```
92
+
93
+ Manual setup:
94
+
95
+ ```powershell
96
+ blun-codex telegram-setup
97
+ ```
98
+
99
+ Legacy equivalent:
100
+
101
+ ```powershell
102
+ blun-codex --telegram plugin
103
+ ```
104
+
105
+ Status:
106
+
107
+ ```powershell
108
+ blun-codex telegram-status
109
+ ```
110
+
112
111
  Wenn waehrend einer laufenden Arbeit Telegram-Nachrichten gepuffert werden, bleibt die sichtbare CLI-Eingabe unberuehrt. Pending-Nachrichten bleiben im Fenstertitel/Status sichtbar, bis die Antwort raus ist oder sie wirklich ablaufen. Den Queue-Stand kannst du jederzeit mit `blun-codex telegram-status` pruefen.
113
112
 
114
113
  Der automatische Progress-Hinweis ist bewusst defensiv: standardmaessig sendet Telegram nur finale Antworten plus bei laengeren echten Arbeitslaeufen einen neutralen Status. Interne Commentary-Texte werden nicht als zweite fachliche Antwort gespiegelt. Wer das alte Verhalten will, kann `BLUN_TELEGRAM_PROGRESS_RELAY=commentary` setzen; mit `off` werden Progress-Hinweise ganz deaktiviert.
115
114
 
115
+ Wichtig bei mehreren Profilen: ein Telegram-Bot-Token darf nicht gleichzeitig von alten oder fremden Pollern abgefragt werden. Sonst meldet Telegram `Conflict: terminated by other getUpdates request`, und Nachrichten koennen verspaetet oder gar nicht in der sichtbaren CLI landen. Aktuelle Versionen pollen non-blocking und schneller; wenn trotzdem Conflicts auftauchen, alle alten `blun-codex telegram-plugin` Fenster fuer denselben Bot schliessen und genau eine aktuelle Session starten.
116
+
116
117
  Wenn mehrere Agents denselben Gruppenchat nutzen, kann ein Agent andere Agent-Namen als Fremdroute markieren. Dann werden Owner-Nachrichten wie `Frida mach weiter` nicht in Ottos Session gezogen:
117
118
 
118
119
  ```text
@@ -121,143 +122,144 @@ BLUN_TELEGRAM_OTHER_AGENT_NAMES=frida,angel,dieter,alfred
121
122
  ```
122
123
 
123
124
  Doctor:
124
-
125
- ```powershell
126
- blun-codex telegram-doctor
127
- ```
128
-
129
- JSON doctor output:
130
-
131
- ```powershell
132
- blun-codex telegram-doctor --json
133
- ```
134
-
135
- Dry run:
136
-
137
- ```powershell
138
- blun-codex telegram-plugin --print-only
139
- ```
140
-
141
- ## Eigene Profile
142
-
143
- Der normale Start braucht kein eigenes Profil.
144
-
145
- Wenn du nur einen Slot auf deinem Rechner brauchst, reicht:
146
-
147
- ```powershell
148
- blun-codex telegram-plugin
149
- ```
150
-
151
- Ein eigenes Profil brauchst du nur fuer Fortgeschrittene oder Parallelbetrieb, zum Beispiel wenn mehrere Operatoren auf demselben Rechner laufen.
152
-
153
- Beispiel:
154
-
155
- ```powershell
156
- blun-codex --profile alfred telegram-plugin
157
- ```
158
-
159
- ## Private internal profiles
160
-
161
- If you run more than one internal operator on the same machine, do not start all of them on the shared `default` slot.
162
-
163
- Use a dedicated private profile per operator:
164
-
165
- ```powershell
166
- blun-codex --profile frida telegram-plugin
167
- ```
168
-
169
- Why this matters:
170
-
171
- - `blun-codex telegram-plugin` without `--profile` uses the shared `default` runtime slot
172
- - starting a second operator on `default` will replace the first `default` runtime
173
- - a private profile gives that operator a separate runtime slot, state directory, and Mnemo binding
174
-
175
- For internal/private profiles:
176
-
177
- - keep the profile local on the machine
178
- - give it its own `agent_name`
179
- - give it its own Telegram state directory
180
- - do not ship internal agent profiles in the public package
181
-
182
- Local private profiles are loaded from:
183
-
184
- ```text
185
- %USERPROFILE%\.codex\profiles\codexlink\<name>.json
186
- ```
187
-
188
- Example:
189
-
190
- ```powershell
191
- blun-codex --profile frida telegram-plugin
192
- ```
193
-
194
- looks for:
195
-
196
- ```text
197
- %USERPROFILE%\.codex\profiles\codexlink\frida.json
198
- ```
199
-
200
- ## What it does
201
-
202
- - starts one consistent local CLI runtime
203
- - writes a launch record into `.codex/runtimes/default/`
204
- - keeps Telegram queue state under `.codex/channels/telegram-default/`
205
- - attaches Telegram delivery to the same visible session
206
- - defers automatic Telegram delivery until the foreground session is idle
207
- - keeps poller, dispatcher, and reply relay separate from the foreground operator
208
-
209
- ## What it does not do
210
-
211
- - no hidden autonomous answer bot
212
- - no second shadow session
213
- - no per-agent internal company presets in the public package
214
-
215
- ## Public profile
216
-
217
- The shipped default profile is intentionally generic:
218
-
219
- - display name: `CodexLink`
220
- - lane: `general`
221
- - workspace: current directory by default
222
- - model: inherited from the local host unless explicitly set
223
-
224
- If you need custom paths or lane rules, add your own profile JSON next to `profiles/default.json`.
225
-
226
- ## Telegram plugin folder
227
-
228
- The bundled plugin lives under `telegram-plugin/` and contains:
229
-
230
- - `.codex-plugin/plugin.json`
231
- - `.mcp.json`
232
- - `server.js`
233
- - sidecars and bridge helpers
234
-
235
- ## Requirements
236
-
237
- - Windows PowerShell
238
- - Node.js 20+
239
- - a working local `codex` command in `PATH`
240
- - a Telegram bot token when Telegram mode is enabled
241
-
242
- ## First-run behavior
243
-
244
- `blun-codex telegram-plugin` now behaves like a guided setup for normal users:
245
-
246
- 1. check whether Telegram is already configured
247
- 2. ask only for a missing Bot Token
248
- 3. save everything automatically into the local Telegram state folder
249
- 4. continue into Telegram mode
250
-
251
- Allowed Chat ID(s) are optional. If you leave them unset, the bot can currently accept any chat it can see. You can tighten that later with:
252
-
253
- ```powershell
254
- blun-codex telegram-setup
255
- ```
256
-
257
- If something is missing later, `blun-codex telegram-doctor` tells you exactly what is missing and what to run next.
258
-
259
- ## Notes
260
-
261
- - the package currently targets local Windows operators first
262
- - the package is installable from GitHub before registry publishing
263
- - once an npm token is available, the same package can be published without changing the command shape
125
+
126
+ ```powershell
127
+ blun-codex telegram-doctor
128
+ ```
129
+
130
+ JSON doctor output:
131
+
132
+ ```powershell
133
+ blun-codex telegram-doctor --json
134
+ ```
135
+
136
+ Dry run:
137
+
138
+ ```powershell
139
+ blun-codex telegram-plugin --print-only
140
+ ```
141
+
142
+ ## Eigene Profile
143
+
144
+ Der normale Start braucht kein eigenes Profil.
145
+
146
+ Wenn du nur einen Slot auf deinem Rechner brauchst, reicht:
147
+
148
+ ```powershell
149
+ blun-codex telegram-plugin
150
+ ```
151
+
152
+ Ein eigenes Profil brauchst du nur fuer Fortgeschrittene oder Parallelbetrieb, zum Beispiel wenn mehrere Operatoren auf demselben Rechner laufen.
153
+
154
+ Beispiel:
155
+
156
+ ```powershell
157
+ blun-codex --profile alfred telegram-plugin
158
+ ```
159
+
160
+ ## Private internal profiles
161
+
162
+ If you run more than one internal operator on the same machine, do not start all of them on the shared `default` slot.
163
+
164
+ Use a dedicated private profile per operator:
165
+
166
+ ```powershell
167
+ blun-codex --profile frida telegram-plugin
168
+ ```
169
+
170
+ Why this matters:
171
+
172
+ - `blun-codex telegram-plugin` without `--profile` uses the shared `default` runtime slot
173
+ - starting a second operator on `default` will replace the first `default` runtime
174
+ - a private profile gives that operator a separate runtime slot, state directory, and Mnemo binding
175
+
176
+ For internal/private profiles:
177
+
178
+ - keep the profile local on the machine
179
+ - give it its own `agent_name`
180
+ - give it its own Telegram state directory
181
+ - do not ship internal agent profiles in the public package
182
+
183
+ Local private profiles are loaded from:
184
+
185
+ ```text
186
+ %USERPROFILE%\.codex\profiles\codexlink\<name>.json
187
+ ```
188
+
189
+ Example:
190
+
191
+ ```powershell
192
+ blun-codex --profile frida telegram-plugin
193
+ ```
194
+
195
+ looks for:
196
+
197
+ ```text
198
+ %USERPROFILE%\.codex\profiles\codexlink\frida.json
199
+ ```
200
+
201
+ ## What it does
202
+
203
+ - starts one consistent local CLI runtime
204
+ - writes a launch record into `.codex/runtimes/default/`
205
+ - keeps Telegram queue state under `.codex/channels/telegram-default/`
206
+ - attaches Telegram delivery to the same visible session
207
+ - defers automatic Telegram delivery until the foreground session is idle
208
+ - keeps poller, dispatcher, and reply relay separate from the foreground operator
209
+
210
+ ## What it does not do
211
+
212
+ - no hidden autonomous answer bot
213
+ - no second shadow session
214
+ - no per-agent internal company presets in the public package
215
+
216
+ ## Public profile
217
+
218
+ The shipped default profile is intentionally generic:
219
+
220
+ - display name: `CodexLink`
221
+ - lane: `general`
222
+ - workspace: current directory by default
223
+ - model: inherited from the local host unless explicitly set
224
+
225
+ If you need custom paths or lane rules, add your own profile JSON next to `profiles/default.json`.
226
+
227
+ ## Telegram plugin folder
228
+
229
+ The bundled plugin lives under `telegram-plugin/` and contains:
230
+
231
+ - `.codex-plugin/plugin.json`
232
+ - `.mcp.json`
233
+ - `server.js`
234
+ - sidecars and bridge helpers
235
+
236
+ ## Requirements
237
+
238
+ - Windows PowerShell
239
+ - Node.js 20+
240
+ - a working local `codex` command in `PATH`
241
+ - a Telegram bot token when Telegram mode is enabled
242
+
243
+ ## First-run behavior
244
+
245
+ `blun-codex telegram-plugin` now behaves like a guided setup for normal users:
246
+
247
+ 1. check whether Telegram is already configured
248
+ 2. ask only for a missing Bot Token
249
+ 3. wait for one Telegram message to the bot
250
+ 4. detect and store the chat/group ID automatically
251
+ 5. continue into Telegram mode
252
+
253
+ Allowed Chat ID(s) are no longer typed by hand. To pair a different chat or group later, run:
254
+
255
+ ```powershell
256
+ blun-codex telegram-setup
257
+ ```
258
+
259
+ If something is missing later, `blun-codex telegram-doctor` tells you exactly what is missing and what to run next.
260
+
261
+ ## Notes
262
+
263
+ - the package currently targets local Windows operators first
264
+ - the package is installable from GitHub before registry publishing
265
+ - once an npm token is available, the same package can be published without changing the command shape