@intent-systems/nexus 2026.1.5-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.
Files changed (827) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/LICENSE +21 -0
  3. package/README-header.png +0 -0
  4. package/README.md +462 -0
  5. package/dist/agents/agent-paths.js +16 -0
  6. package/dist/agents/agent-scope.js +44 -0
  7. package/dist/agents/auth-profiles.js +626 -0
  8. package/dist/agents/bash-process-registry.js +126 -0
  9. package/dist/agents/bash-tools.js +838 -0
  10. package/dist/agents/chutes-oauth.js +47 -0
  11. package/dist/agents/clawdbot-tools.js +62 -0
  12. package/dist/agents/context.js +34 -0
  13. package/dist/agents/defaults.js +6 -0
  14. package/dist/agents/memory-search.js +80 -0
  15. package/dist/agents/model-auth.js +115 -0
  16. package/dist/agents/model-catalog.js +55 -0
  17. package/dist/agents/model-fallback.js +210 -0
  18. package/dist/agents/model-scan.js +263 -0
  19. package/dist/agents/model-selection.js +152 -0
  20. package/dist/agents/models-config.js +171 -0
  21. package/dist/agents/nexus-tools.js +46 -0
  22. package/dist/agents/pi-embedded-block-chunker.js +188 -0
  23. package/dist/agents/pi-embedded-helpers.js +139 -0
  24. package/dist/agents/pi-embedded-runner.js +932 -0
  25. package/dist/agents/pi-embedded-subscribe.js +541 -0
  26. package/dist/agents/pi-embedded-utils.js +20 -0
  27. package/dist/agents/pi-embedded.js +1 -0
  28. package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
  29. package/dist/agents/pi-tool-definition-adapter.js +17 -0
  30. package/dist/agents/pi-tools.js +510 -0
  31. package/dist/agents/pi-tools.schema.js +358 -0
  32. package/dist/agents/sandbox-paths.js +68 -0
  33. package/dist/agents/sandbox.js +667 -0
  34. package/dist/agents/shell-utils.js +53 -0
  35. package/dist/agents/skill-runner.js +224 -0
  36. package/dist/agents/skill-state.js +164 -0
  37. package/dist/agents/skill-tools.js +191 -0
  38. package/dist/agents/skill-usage.js +43 -0
  39. package/dist/agents/skills-install.js +244 -0
  40. package/dist/agents/skills-status.js +157 -0
  41. package/dist/agents/skills.js +472 -0
  42. package/dist/agents/subagent-registry.js +321 -0
  43. package/dist/agents/subagent-registry.store.js +47 -0
  44. package/dist/agents/system-prompt.js +179 -0
  45. package/dist/agents/timeout.js +26 -0
  46. package/dist/agents/tool-display.js +155 -0
  47. package/dist/agents/tool-display.json +236 -0
  48. package/dist/agents/tool-images.js +138 -0
  49. package/dist/agents/tool-policy.js +87 -0
  50. package/dist/agents/tools/agent-step.js +41 -0
  51. package/dist/agents/tools/browser-tool.js +295 -0
  52. package/dist/agents/tools/canvas-tool.js +193 -0
  53. package/dist/agents/tools/common.js +88 -0
  54. package/dist/agents/tools/cron-tool.js +141 -0
  55. package/dist/agents/tools/discord-actions-guild.js +186 -0
  56. package/dist/agents/tools/discord-actions-messaging.js +313 -0
  57. package/dist/agents/tools/discord-actions-moderation.js +70 -0
  58. package/dist/agents/tools/discord-actions.js +56 -0
  59. package/dist/agents/tools/discord-schema.js +199 -0
  60. package/dist/agents/tools/discord-tool.js +16 -0
  61. package/dist/agents/tools/gateway-tool.js +46 -0
  62. package/dist/agents/tools/gateway.js +28 -0
  63. package/dist/agents/tools/image-tool.js +140 -0
  64. package/dist/agents/tools/memory-tool.js +92 -0
  65. package/dist/agents/tools/nodes-tool.js +413 -0
  66. package/dist/agents/tools/nodes-utils.js +92 -0
  67. package/dist/agents/tools/sessions-announce-target.js +35 -0
  68. package/dist/agents/tools/sessions-helpers.js +88 -0
  69. package/dist/agents/tools/sessions-history-tool.js +137 -0
  70. package/dist/agents/tools/sessions-list-tool.js +196 -0
  71. package/dist/agents/tools/sessions-send-helpers.js +103 -0
  72. package/dist/agents/tools/sessions-send-tool.js +371 -0
  73. package/dist/agents/tools/sessions-spawn-tool.js +319 -0
  74. package/dist/agents/tools/slack-actions.js +129 -0
  75. package/dist/agents/tools/slack-schema.js +59 -0
  76. package/dist/agents/tools/slack-tool.js +16 -0
  77. package/dist/agents/tools/telegram-actions.js +159 -0
  78. package/dist/agents/tools/telegram-schema.js +28 -0
  79. package/dist/agents/tools/telegram-tool.js +16 -0
  80. package/dist/agents/tools/whatsapp-login-tool.js +63 -0
  81. package/dist/agents/usage.js +58 -0
  82. package/dist/agents/workspace.js +264 -0
  83. package/dist/auto-reply/chunk.js +177 -0
  84. package/dist/auto-reply/command-auth.js +44 -0
  85. package/dist/auto-reply/command-detection.js +22 -0
  86. package/dist/auto-reply/envelope.js +30 -0
  87. package/dist/auto-reply/group-activation.js +20 -0
  88. package/dist/auto-reply/heartbeat.js +58 -0
  89. package/dist/auto-reply/model.js +22 -0
  90. package/dist/auto-reply/reply/abort.js +14 -0
  91. package/dist/auto-reply/reply/agent-runner.js +426 -0
  92. package/dist/auto-reply/reply/bash-command.js +314 -0
  93. package/dist/auto-reply/reply/block-streaming.js +34 -0
  94. package/dist/auto-reply/reply/body.js +29 -0
  95. package/dist/auto-reply/reply/commands.js +332 -0
  96. package/dist/auto-reply/reply/directive-handling.js +626 -0
  97. package/dist/auto-reply/reply/directives.js +59 -0
  98. package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
  99. package/dist/auto-reply/reply/followup-runner.js +181 -0
  100. package/dist/auto-reply/reply/groups.js +152 -0
  101. package/dist/auto-reply/reply/mentions.js +64 -0
  102. package/dist/auto-reply/reply/model-selection.js +209 -0
  103. package/dist/auto-reply/reply/queue.js +399 -0
  104. package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
  105. package/dist/auto-reply/reply/reply-tags.js +26 -0
  106. package/dist/auto-reply/reply/session-updates.js +103 -0
  107. package/dist/auto-reply/reply/session.js +169 -0
  108. package/dist/auto-reply/reply/typing.js +125 -0
  109. package/dist/auto-reply/reply.js +655 -0
  110. package/dist/auto-reply/send-policy.js +28 -0
  111. package/dist/auto-reply/status.js +197 -0
  112. package/dist/auto-reply/templating.js +9 -0
  113. package/dist/auto-reply/thinking.js +49 -0
  114. package/dist/auto-reply/tokens.js +2 -0
  115. package/dist/auto-reply/tool-meta.js +74 -0
  116. package/dist/auto-reply/transcription.js +57 -0
  117. package/dist/auto-reply/types.js +1 -0
  118. package/dist/browser/bridge-server.js +37 -0
  119. package/dist/browser/cdp.js +382 -0
  120. package/dist/browser/chrome.js +432 -0
  121. package/dist/browser/client-actions-core.js +67 -0
  122. package/dist/browser/client-actions-observe.js +24 -0
  123. package/dist/browser/client-actions-types.js +1 -0
  124. package/dist/browser/client-actions.js +3 -0
  125. package/dist/browser/client-fetch.js +43 -0
  126. package/dist/browser/client.js +105 -0
  127. package/dist/browser/config.js +155 -0
  128. package/dist/browser/constants.js +5 -0
  129. package/dist/browser/profiles-service.js +124 -0
  130. package/dist/browser/profiles.js +96 -0
  131. package/dist/browser/pw-ai.js +2 -0
  132. package/dist/browser/pw-session.js +144 -0
  133. package/dist/browser/pw-tools-core.js +363 -0
  134. package/dist/browser/routes/agent.js +535 -0
  135. package/dist/browser/routes/basic.js +155 -0
  136. package/dist/browser/routes/index.js +8 -0
  137. package/dist/browser/routes/tabs.js +105 -0
  138. package/dist/browser/routes/utils.js +62 -0
  139. package/dist/browser/screenshot.js +40 -0
  140. package/dist/browser/server-context.js +377 -0
  141. package/dist/browser/server.js +81 -0
  142. package/dist/browser/target-id.js +18 -0
  143. package/dist/browser/trash.js +21 -0
  144. package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
  145. package/dist/canvas-host/a2ui/index.html +246 -0
  146. package/dist/canvas-host/a2ui.js +187 -0
  147. package/dist/canvas-host/server.js +382 -0
  148. package/dist/channel-web.js +8 -0
  149. package/dist/cli/browser-cli-actions-input.js +459 -0
  150. package/dist/cli/browser-cli-actions-observe.js +56 -0
  151. package/dist/cli/browser-cli-examples.js +31 -0
  152. package/dist/cli/browser-cli-inspect.js +97 -0
  153. package/dist/cli/browser-cli-manage.js +286 -0
  154. package/dist/cli/browser-cli-shared.js +1 -0
  155. package/dist/cli/browser-cli.js +26 -0
  156. package/dist/cli/canvas-cli.js +416 -0
  157. package/dist/cli/cloud-cli.js +336 -0
  158. package/dist/cli/credential-cli.js +227 -0
  159. package/dist/cli/cron-cli.js +454 -0
  160. package/dist/cli/deps.js +17 -0
  161. package/dist/cli/dns-cli.js +180 -0
  162. package/dist/cli/gateway-cli.js +665 -0
  163. package/dist/cli/gateway-rpc.js +20 -0
  164. package/dist/cli/hooks-cli.js +135 -0
  165. package/dist/cli/memory-cli.js +101 -0
  166. package/dist/cli/models-cli.js +248 -0
  167. package/dist/cli/nodes-camera.js +57 -0
  168. package/dist/cli/nodes-canvas.js +26 -0
  169. package/dist/cli/nodes-cli.js +946 -0
  170. package/dist/cli/nodes-screen.js +37 -0
  171. package/dist/cli/pairing-cli.js +100 -0
  172. package/dist/cli/parse-duration.js +20 -0
  173. package/dist/cli/plugins-cli.js +158 -0
  174. package/dist/cli/ports.js +97 -0
  175. package/dist/cli/profile.js +81 -0
  176. package/dist/cli/program.js +162 -0
  177. package/dist/cli/prompt.js +19 -0
  178. package/dist/cli/run-main.js +48 -0
  179. package/dist/cli/skills-cli.js +132 -0
  180. package/dist/cli/skills-hub-cli.js +1093 -0
  181. package/dist/cli/telegram-cli.js +56 -0
  182. package/dist/cli/tool-connector-cli.js +118 -0
  183. package/dist/cli/tui-cli.js +35 -0
  184. package/dist/cli/upstream-sync-cli.js +2833 -0
  185. package/dist/cli/usage-cli.js +24 -0
  186. package/dist/cli/wait.js +8 -0
  187. package/dist/commands/agent-via-gateway.js +115 -0
  188. package/dist/commands/agent.js +665 -0
  189. package/dist/commands/antigravity-oauth.js +327 -0
  190. package/dist/commands/auth-choice-options.js +80 -0
  191. package/dist/commands/auth-choice.js +134 -0
  192. package/dist/commands/auth-token.js +31 -0
  193. package/dist/commands/bootstrap-preset.js +214 -0
  194. package/dist/commands/capabilities.js +36 -0
  195. package/dist/commands/chutes-oauth.js +144 -0
  196. package/dist/commands/claude-md.js +137 -0
  197. package/dist/commands/config-view.js +11 -0
  198. package/dist/commands/configure.js +648 -0
  199. package/dist/commands/credential.js +236 -0
  200. package/dist/commands/cursor-rules.js +230 -0
  201. package/dist/commands/doctor-state-migrations.js +358 -0
  202. package/dist/commands/doctor-ui.js +113 -0
  203. package/dist/commands/doctor.js +673 -0
  204. package/dist/commands/health.js +112 -0
  205. package/dist/commands/identity.js +54 -0
  206. package/dist/commands/init.js +167 -0
  207. package/dist/commands/models/aliases.js +85 -0
  208. package/dist/commands/models/fallbacks.js +123 -0
  209. package/dist/commands/models/image-fallbacks.js +123 -0
  210. package/dist/commands/models/list.js +347 -0
  211. package/dist/commands/models/scan.js +271 -0
  212. package/dist/commands/models/set-image.js +27 -0
  213. package/dist/commands/models/set.js +27 -0
  214. package/dist/commands/models/shared.js +73 -0
  215. package/dist/commands/models.js +7 -0
  216. package/dist/commands/onboard-auth.js +101 -0
  217. package/dist/commands/onboard-channels.js +814 -0
  218. package/dist/commands/onboard-eve-identity.js +98 -0
  219. package/dist/commands/onboard-github.js +153 -0
  220. package/dist/commands/onboard-helpers.js +303 -0
  221. package/dist/commands/onboard-interactive.js +17 -0
  222. package/dist/commands/onboard-non-interactive.js +228 -0
  223. package/dist/commands/onboard-providers.js +829 -0
  224. package/dist/commands/onboard-quickstart.js +185 -0
  225. package/dist/commands/onboard-remote.js +120 -0
  226. package/dist/commands/onboard-skills.js +148 -0
  227. package/dist/commands/onboard-types.js +1 -0
  228. package/dist/commands/onboard.js +19 -0
  229. package/dist/commands/openai-codex-model-default.js +38 -0
  230. package/dist/commands/poll.js +64 -0
  231. package/dist/commands/quest.js +27 -0
  232. package/dist/commands/reset.js +61 -0
  233. package/dist/commands/send.js +124 -0
  234. package/dist/commands/sessions-ingest.js +359 -0
  235. package/dist/commands/sessions.js +212 -0
  236. package/dist/commands/setup.js +59 -0
  237. package/dist/commands/signal-install.js +135 -0
  238. package/dist/commands/skills-manifest.js +235 -0
  239. package/dist/commands/status.js +139 -0
  240. package/dist/commands/suggestions.js +54 -0
  241. package/dist/commands/systemd-linger.js +71 -0
  242. package/dist/commands/update.js +16 -0
  243. package/dist/commands/usage-upload.js +27 -0
  244. package/dist/config/config.js +6 -0
  245. package/dist/config/defaults.js +140 -0
  246. package/dist/config/group-policy.js +49 -0
  247. package/dist/config/includes.js +183 -0
  248. package/dist/config/io.js +188 -0
  249. package/dist/config/legacy-migrate.js +13 -0
  250. package/dist/config/legacy.js +425 -0
  251. package/dist/config/paths.js +82 -0
  252. package/dist/config/port-defaults.js +32 -0
  253. package/dist/config/schema.js +173 -0
  254. package/dist/config/sessions.js +611 -0
  255. package/dist/config/talk.js +31 -0
  256. package/dist/config/types.js +1 -0
  257. package/dist/config/validation.js +29 -0
  258. package/dist/config/zod-schema.js +1110 -0
  259. package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
  260. package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
  261. package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
  262. package/dist/control-ui/favicon.ico +0 -0
  263. package/dist/control-ui/index.html +16 -0
  264. package/dist/cron/isolated-agent.js +529 -0
  265. package/dist/cron/normalize.js +73 -0
  266. package/dist/cron/parse.js +24 -0
  267. package/dist/cron/run-log.js +72 -0
  268. package/dist/cron/schedule.js +24 -0
  269. package/dist/cron/service.js +471 -0
  270. package/dist/cron/store.js +43 -0
  271. package/dist/cron/types.js +1 -0
  272. package/dist/daemon/constants.js +10 -0
  273. package/dist/daemon/launchd.js +295 -0
  274. package/dist/daemon/legacy.js +63 -0
  275. package/dist/daemon/program-args.js +141 -0
  276. package/dist/daemon/schtasks.js +269 -0
  277. package/dist/daemon/service.js +69 -0
  278. package/dist/daemon/systemd.js +332 -0
  279. package/dist/discord/index.js +2 -0
  280. package/dist/discord/monitor.js +1089 -0
  281. package/dist/discord/probe.js +54 -0
  282. package/dist/discord/send.js +652 -0
  283. package/dist/discord/token.js +8 -0
  284. package/dist/entry.js +16 -0
  285. package/dist/gateway/auth.js +121 -0
  286. package/dist/gateway/call.js +103 -0
  287. package/dist/gateway/chat-attachments.js +41 -0
  288. package/dist/gateway/client.js +180 -0
  289. package/dist/gateway/config-reload.js +274 -0
  290. package/dist/gateway/control-ui.js +184 -0
  291. package/dist/gateway/hooks-mapping.js +282 -0
  292. package/dist/gateway/hooks.js +168 -0
  293. package/dist/gateway/net.js +29 -0
  294. package/dist/gateway/protocol/index.js +62 -0
  295. package/dist/gateway/protocol/schema.js +577 -0
  296. package/dist/gateway/server-bridge-subscriptions.js +93 -0
  297. package/dist/gateway/server-bridge.js +1066 -0
  298. package/dist/gateway/server-browser.js +11 -0
  299. package/dist/gateway/server-channels.js +680 -0
  300. package/dist/gateway/server-chat.js +159 -0
  301. package/dist/gateway/server-constants.js +8 -0
  302. package/dist/gateway/server-discovery.js +62 -0
  303. package/dist/gateway/server-http.js +165 -0
  304. package/dist/gateway/server-methods/agent-job.js +114 -0
  305. package/dist/gateway/server-methods/agent.js +254 -0
  306. package/dist/gateway/server-methods/channels.js +239 -0
  307. package/dist/gateway/server-methods/chat.js +207 -0
  308. package/dist/gateway/server-methods/config.js +50 -0
  309. package/dist/gateway/server-methods/connect.js +6 -0
  310. package/dist/gateway/server-methods/cron.js +89 -0
  311. package/dist/gateway/server-methods/health.js +28 -0
  312. package/dist/gateway/server-methods/models.js +16 -0
  313. package/dist/gateway/server-methods/nodes.js +294 -0
  314. package/dist/gateway/server-methods/providers.js +257 -0
  315. package/dist/gateway/server-methods/send.js +254 -0
  316. package/dist/gateway/server-methods/sessions.js +382 -0
  317. package/dist/gateway/server-methods/skills.js +83 -0
  318. package/dist/gateway/server-methods/system.js +118 -0
  319. package/dist/gateway/server-methods/talk.js +22 -0
  320. package/dist/gateway/server-methods/types.js +1 -0
  321. package/dist/gateway/server-methods/voicewake.js +30 -0
  322. package/dist/gateway/server-methods/web.js +81 -0
  323. package/dist/gateway/server-methods/wizard.js +100 -0
  324. package/dist/gateway/server-methods.js +53 -0
  325. package/dist/gateway/server-providers.js +687 -0
  326. package/dist/gateway/server-shared.js +1 -0
  327. package/dist/gateway/server-utils.js +35 -0
  328. package/dist/gateway/server.js +1478 -0
  329. package/dist/gateway/session-utils.js +355 -0
  330. package/dist/gateway/ws-log.js +343 -0
  331. package/dist/gateway/ws-logging.js +8 -0
  332. package/dist/globals.js +41 -0
  333. package/dist/hooks/gmail-ops.js +236 -0
  334. package/dist/hooks/gmail-setup-utils.js +278 -0
  335. package/dist/hooks/gmail-watcher.js +190 -0
  336. package/dist/hooks/gmail.js +177 -0
  337. package/dist/imessage/client.js +165 -0
  338. package/dist/imessage/index.js +3 -0
  339. package/dist/imessage/monitor.js +365 -0
  340. package/dist/imessage/probe.js +26 -0
  341. package/dist/imessage/send.js +83 -0
  342. package/dist/imessage/targets.js +176 -0
  343. package/dist/index.js +55 -0
  344. package/dist/infra/agent-events.js +46 -0
  345. package/dist/infra/binaries.js +9 -0
  346. package/dist/infra/bonjour-discovery.js +163 -0
  347. package/dist/infra/bonjour.js +200 -0
  348. package/dist/infra/bridge/server.js +564 -0
  349. package/dist/infra/canvas-host-url.js +54 -0
  350. package/dist/infra/channel-summary.js +78 -0
  351. package/dist/infra/control-ui-assets.js +112 -0
  352. package/dist/infra/dotenv.js +15 -0
  353. package/dist/infra/env.js +8 -0
  354. package/dist/infra/errors.js +28 -0
  355. package/dist/infra/event-log.js +251 -0
  356. package/dist/infra/gateway-lock.js +8 -0
  357. package/dist/infra/git-commit.js +91 -0
  358. package/dist/infra/heartbeat-events.js +21 -0
  359. package/dist/infra/heartbeat-runner.js +458 -0
  360. package/dist/infra/heartbeat-wake.js +61 -0
  361. package/dist/infra/is-main.js +37 -0
  362. package/dist/infra/json-file.js +21 -0
  363. package/dist/infra/machine-name.js +40 -0
  364. package/dist/infra/nexus-root.js +56 -0
  365. package/dist/infra/node-pairing.js +212 -0
  366. package/dist/infra/path-env.js +93 -0
  367. package/dist/infra/ports.js +87 -0
  368. package/dist/infra/provider-summary.js +80 -0
  369. package/dist/infra/provider-usage.auth.js +189 -0
  370. package/dist/infra/provider-usage.fetch.claude.js +129 -0
  371. package/dist/infra/provider-usage.fetch.codex.js +62 -0
  372. package/dist/infra/provider-usage.fetch.copilot.js +42 -0
  373. package/dist/infra/provider-usage.fetch.gemini.js +57 -0
  374. package/dist/infra/provider-usage.fetch.js +6 -0
  375. package/dist/infra/provider-usage.fetch.minimax.js +214 -0
  376. package/dist/infra/provider-usage.fetch.shared.js +11 -0
  377. package/dist/infra/provider-usage.fetch.zai.js +62 -0
  378. package/dist/infra/provider-usage.format.js +77 -0
  379. package/dist/infra/provider-usage.js +145 -0
  380. package/dist/infra/provider-usage.load.js +54 -0
  381. package/dist/infra/provider-usage.shared.js +19 -0
  382. package/dist/infra/provider-usage.types.js +1 -0
  383. package/dist/infra/restart.js +29 -0
  384. package/dist/infra/retry.js +16 -0
  385. package/dist/infra/runtime-guard.js +59 -0
  386. package/dist/infra/shell-env.js +88 -0
  387. package/dist/infra/system-events.js +71 -0
  388. package/dist/infra/system-presence.js +217 -0
  389. package/dist/infra/tailnet.js +46 -0
  390. package/dist/infra/tailscale.js +149 -0
  391. package/dist/infra/unhandled-rejections.js +19 -0
  392. package/dist/infra/usage-suggestions.js +241 -0
  393. package/dist/infra/usage-upload.js +290 -0
  394. package/dist/infra/voicewake.js +78 -0
  395. package/dist/infra/widearea-dns.js +123 -0
  396. package/dist/infra/ws.js +13 -0
  397. package/dist/logger.js +52 -0
  398. package/dist/logging.js +506 -0
  399. package/dist/macos/gateway-daemon.js +145 -0
  400. package/dist/macos/relay.js +49 -0
  401. package/dist/media/constants.js +33 -0
  402. package/dist/media/host.js +42 -0
  403. package/dist/media/image-ops.js +119 -0
  404. package/dist/media/mime.js +123 -0
  405. package/dist/media/parse.js +83 -0
  406. package/dist/media/server.js +64 -0
  407. package/dist/media/store.js +139 -0
  408. package/dist/polls.js +43 -0
  409. package/dist/process/command-queue.js +97 -0
  410. package/dist/process/exec.js +75 -0
  411. package/dist/provider-web.js +8 -0
  412. package/dist/providers/github-copilot-auth.js +123 -0
  413. package/dist/providers/github-copilot-models.js +35 -0
  414. package/dist/providers/github-copilot-token.js +11 -0
  415. package/dist/providers/location.js +48 -0
  416. package/dist/providers/web/index.js +2 -0
  417. package/dist/runtime.js +8 -0
  418. package/dist/sessions/level-overrides.js +9 -0
  419. package/dist/sessions/send-policy.js +68 -0
  420. package/dist/signal/client.js +134 -0
  421. package/dist/signal/daemon.js +69 -0
  422. package/dist/signal/index.js +3 -0
  423. package/dist/signal/monitor.js +411 -0
  424. package/dist/signal/probe.js +46 -0
  425. package/dist/signal/send.js +91 -0
  426. package/dist/slack/actions.js +97 -0
  427. package/dist/slack/index.js +5 -0
  428. package/dist/slack/monitor.js +1270 -0
  429. package/dist/slack/probe.js +47 -0
  430. package/dist/slack/send.js +131 -0
  431. package/dist/slack/token.js +10 -0
  432. package/dist/telegram/allowed-updates.js +8 -0
  433. package/dist/telegram/bot.js +724 -0
  434. package/dist/telegram/download.js +34 -0
  435. package/dist/telegram/index.js +4 -0
  436. package/dist/telegram/monitor.js +47 -0
  437. package/dist/telegram/pairing-store.js +77 -0
  438. package/dist/telegram/probe.js +63 -0
  439. package/dist/telegram/proxy.js +9 -0
  440. package/dist/telegram/reaction-level.js +45 -0
  441. package/dist/telegram/send.js +151 -0
  442. package/dist/telegram/sent-message-cache.js +65 -0
  443. package/dist/telegram/token.js +30 -0
  444. package/dist/telegram/update-offset-store.js +61 -0
  445. package/dist/telegram/webhook-set.js +12 -0
  446. package/dist/telegram/webhook.js +56 -0
  447. package/dist/tui/commands.js +87 -0
  448. package/dist/tui/components/assistant-message.js +16 -0
  449. package/dist/tui/components/chat-log.js +92 -0
  450. package/dist/tui/components/custom-editor.js +55 -0
  451. package/dist/tui/components/selectors.js +8 -0
  452. package/dist/tui/components/tool-execution.js +111 -0
  453. package/dist/tui/components/user-message.js +17 -0
  454. package/dist/tui/gateway-chat.js +140 -0
  455. package/dist/tui/theme/theme.js +80 -0
  456. package/dist/tui/tui.js +708 -0
  457. package/dist/utils.js +153 -0
  458. package/dist/version.js +18 -0
  459. package/dist/web/accounts.js +86 -0
  460. package/dist/web/active-listener.js +25 -0
  461. package/dist/web/auto-reply.js +1256 -0
  462. package/dist/web/inbound.js +649 -0
  463. package/dist/web/login-qr.js +230 -0
  464. package/dist/web/login.js +71 -0
  465. package/dist/web/media.js +175 -0
  466. package/dist/web/outbound.js +102 -0
  467. package/dist/web/qr-image.js +97 -0
  468. package/dist/web/reconnect.js +60 -0
  469. package/dist/web/session.js +370 -0
  470. package/dist/wizard/clack-prompter.js +56 -0
  471. package/dist/wizard/onboarding.js +620 -0
  472. package/dist/wizard/prompts.js +6 -0
  473. package/dist/wizard/session.js +203 -0
  474. package/docs/AGENTS.default.md +116 -0
  475. package/docs/CAPABILITIES.md +444 -0
  476. package/docs/CNAME +1 -0
  477. package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
  478. package/docs/RELEASING.md +69 -0
  479. package/docs/_config.yml +53 -0
  480. package/docs/_layouts/default.html +145 -0
  481. package/docs/agent-assisted-install.md +95 -0
  482. package/docs/agent-loop.md +61 -0
  483. package/docs/agent-send.md +21 -0
  484. package/docs/agent.md +108 -0
  485. package/docs/android.md +133 -0
  486. package/docs/architecture.md +114 -0
  487. package/docs/assets/markdown.css +133 -0
  488. package/docs/assets/pixel-lobster.svg +60 -0
  489. package/docs/assets/terminal.css +470 -0
  490. package/docs/assets/theme.js +55 -0
  491. package/docs/audio.md +48 -0
  492. package/docs/automation/nexus-sync.md +371 -0
  493. package/docs/background-process.md +74 -0
  494. package/docs/bash.md +32 -0
  495. package/docs/bedrock.md +71 -0
  496. package/docs/bonjour.md +159 -0
  497. package/docs/browser-linux-troubleshooting.md +114 -0
  498. package/docs/browser.md +293 -0
  499. package/docs/bun.md +56 -0
  500. package/docs/camera.md +152 -0
  501. package/docs/clawd.md +212 -0
  502. package/docs/concepts/usage-tracking.md +29 -0
  503. package/docs/configuration.md +1666 -0
  504. package/docs/control-ui.md +83 -0
  505. package/docs/cron.md +385 -0
  506. package/docs/dashboard.md +17 -0
  507. package/docs/device-models.md +46 -0
  508. package/docs/discord.md +308 -0
  509. package/docs/discovery.md +112 -0
  510. package/docs/docker.md +258 -0
  511. package/docs/docs.json +105 -0
  512. package/docs/doctor.md +68 -0
  513. package/docs/elevated.md +31 -0
  514. package/docs/faq.md +736 -0
  515. package/docs/feature-inventory/overview.md +141 -0
  516. package/docs/feature-inventory/rollout-checklist.md +53 -0
  517. package/docs/feature-inventory/test-matrix.md +87 -0
  518. package/docs/feature-inventory.md +9 -0
  519. package/docs/gateway/configuration-examples.md +221 -0
  520. package/docs/gateway/configuration.md +172 -0
  521. package/docs/gateway/cron.md +61 -0
  522. package/docs/gateway/heartbeat.md +207 -0
  523. package/docs/gateway/pairing.md +109 -0
  524. package/docs/gateway-lock.md +28 -0
  525. package/docs/gateway.md +227 -0
  526. package/docs/gmail-pubsub.md +191 -0
  527. package/docs/grammy.md +27 -0
  528. package/docs/group-messages.md +73 -0
  529. package/docs/groups.md +130 -0
  530. package/docs/health.md +28 -0
  531. package/docs/heartbeat.md +73 -0
  532. package/docs/home-userspace.md +277 -0
  533. package/docs/hubs.md +148 -0
  534. package/docs/images.md +51 -0
  535. package/docs/imessage.md +94 -0
  536. package/docs/index.md +196 -0
  537. package/docs/ios.md +372 -0
  538. package/docs/linux.md +11 -0
  539. package/docs/location-command.md +95 -0
  540. package/docs/location.md +46 -0
  541. package/docs/logging.md +110 -0
  542. package/docs/lore.md +131 -0
  543. package/docs/mac/bun.md +133 -0
  544. package/docs/mac/canvas.md +161 -0
  545. package/docs/mac/child-process.md +72 -0
  546. package/docs/mac/dev-setup.md +81 -0
  547. package/docs/mac/health.md +28 -0
  548. package/docs/mac/icon.md +26 -0
  549. package/docs/mac/logging.md +51 -0
  550. package/docs/mac/menu-bar.md +69 -0
  551. package/docs/mac/peekaboo.md +170 -0
  552. package/docs/mac/permissions.md +40 -0
  553. package/docs/mac/release.md +76 -0
  554. package/docs/mac/remote.md +57 -0
  555. package/docs/mac/signing.md +41 -0
  556. package/docs/mac/skills.md +27 -0
  557. package/docs/mac/voice-overlay.md +52 -0
  558. package/docs/mac/voicewake.md +56 -0
  559. package/docs/mac/webchat.md +27 -0
  560. package/docs/mac/xpc.md +40 -0
  561. package/docs/macos.md +104 -0
  562. package/docs/model-failover.md +75 -0
  563. package/docs/models.md +91 -0
  564. package/docs/multi-agent.md +74 -0
  565. package/docs/nix.md +95 -0
  566. package/docs/nodes.md +157 -0
  567. package/docs/onboarding-config-protocol.md +34 -0
  568. package/docs/onboarding.md +189 -0
  569. package/docs/pairing.md +85 -0
  570. package/docs/plans/cron-add-hardening.md +72 -0
  571. package/docs/plans/group-policy-hardening.md +121 -0
  572. package/docs/poll.md +52 -0
  573. package/docs/prereqs.md +67 -0
  574. package/docs/presence.md +133 -0
  575. package/docs/proposals/model-config.md +147 -0
  576. package/docs/provider-routing.md +25 -0
  577. package/docs/queue.md +78 -0
  578. package/docs/reference/templates/AGENTS.md +164 -0
  579. package/docs/remote-gateway-readme.md +153 -0
  580. package/docs/remote.md +61 -0
  581. package/docs/research/memory.md +227 -0
  582. package/docs/rpc.md +35 -0
  583. package/docs/security.md +200 -0
  584. package/docs/session-ingestion.md +119 -0
  585. package/docs/session-tool.md +154 -0
  586. package/docs/session.md +85 -0
  587. package/docs/sessions.md +8 -0
  588. package/docs/setup.md +131 -0
  589. package/docs/showcase.md +37 -0
  590. package/docs/signal.md +122 -0
  591. package/docs/skills-config.md +58 -0
  592. package/docs/skills.md +153 -0
  593. package/docs/slack.md +221 -0
  594. package/docs/subagents.md +72 -0
  595. package/docs/tailscale.md +71 -0
  596. package/docs/talk.md +79 -0
  597. package/docs/telegram.md +96 -0
  598. package/docs/templates/AGENTS.md +286 -0
  599. package/docs/templates/BOOTSTRAP.md +35 -0
  600. package/docs/templates/IDENTITY.md +17 -0
  601. package/docs/templates/PROFILE.md +14 -0
  602. package/docs/templates/SOUL.md +41 -0
  603. package/docs/templates/TOOLS.md +41 -0
  604. package/docs/templates/USER.md +8 -0
  605. package/docs/test.md +43 -0
  606. package/docs/testing-onboarding-quickstart.md +76 -0
  607. package/docs/testing-philosophy.md +211 -0
  608. package/docs/thinking.md +46 -0
  609. package/docs/timezone.md +40 -0
  610. package/docs/tools.md +346 -0
  611. package/docs/troubleshooting.md +257 -0
  612. package/docs/tui.md +71 -0
  613. package/docs/typebox.md +42 -0
  614. package/docs/updating.md +138 -0
  615. package/docs/usage-cloud-aggregation-spec.md +133 -0
  616. package/docs/usage-suggestions-pipeline.md +126 -0
  617. package/docs/voicewake.md +61 -0
  618. package/docs/web.md +115 -0
  619. package/docs/webchat.md +34 -0
  620. package/docs/webhook.md +132 -0
  621. package/docs/whatsapp-clawd.jpg +0 -0
  622. package/docs/whatsapp.md +170 -0
  623. package/docs/windows.md +11 -0
  624. package/docs/wizard.md +167 -0
  625. package/package.json +209 -0
  626. package/skills/1password/SKILL.md +54 -0
  627. package/skills/1password/docs/setup.md +85 -0
  628. package/skills/1password/docs/troubleshooting.md +63 -0
  629. package/skills/1password/references/cli-examples.md +29 -0
  630. package/skills/1password/references/get-started.md +17 -0
  631. package/skills/agent-browser/SKILL.md +450 -0
  632. package/skills/agent-browser/docs/browser-use-eval.md +95 -0
  633. package/skills/agent-browser/docs/first-tests.md +261 -0
  634. package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
  635. package/skills/aix/SKILL.md +93 -0
  636. package/skills/aix/docs/embeddings.md +40 -0
  637. package/skills/aix/docs/setup.md +58 -0
  638. package/skills/aix/docs/troubleshooting.md +41 -0
  639. package/skills/aix/references/sql.md +48 -0
  640. package/skills/apple-notes/SKILL.md +50 -0
  641. package/skills/apple-reminders/SKILL.md +67 -0
  642. package/skills/bear-notes/SKILL.md +79 -0
  643. package/skills/bird/SKILL.md +32 -0
  644. package/skills/bird/docs/auth.md +31 -0
  645. package/skills/bird/docs/troubleshooting.md +31 -0
  646. package/skills/blogwatcher/SKILL.md +46 -0
  647. package/skills/blucli/SKILL.md +27 -0
  648. package/skills/brave-search/SKILL.md +36 -0
  649. package/skills/brave-search/docs/setup.md +40 -0
  650. package/skills/brave-search/docs/troubleshooting.md +37 -0
  651. package/skills/brave-search/docs/usage.md +28 -0
  652. package/skills/brave-search/scripts/content.mjs +53 -0
  653. package/skills/brave-search/scripts/search.mjs +79 -0
  654. package/skills/browser-use-agent-sdk/SKILL.md +90 -0
  655. package/skills/camsnap/SKILL.md +25 -0
  656. package/skills/clawdhub/SKILL.md +53 -0
  657. package/skills/coding-agent/SKILL.md +274 -0
  658. package/skills/comms/SKILL.md +249 -0
  659. package/skills/comms/docs/adapters.md +54 -0
  660. package/skills/comms/docs/setup.md +56 -0
  661. package/skills/comms/docs/troubleshooting.md +44 -0
  662. package/skills/comms/references/schema.md +49 -0
  663. package/skills/computer-use/SKILL.md +204 -0
  664. package/skills/computer-use/docs/open-interpreter.md +26 -0
  665. package/skills/computer-use/docs/peekaboo.md +26 -0
  666. package/skills/computer-use/docs/setup.md +47 -0
  667. package/skills/computer-use/docs/troubleshooting.md +33 -0
  668. package/skills/discord/SKILL.md +370 -0
  669. package/skills/eightctl/SKILL.md +29 -0
  670. package/skills/eve/SKILL.md +215 -0
  671. package/skills/eve/docs/dual-account.md +84 -0
  672. package/skills/eve/docs/intelligence.md +58 -0
  673. package/skills/eve/docs/setup.md +60 -0
  674. package/skills/eve/docs/troubleshooting.md +54 -0
  675. package/skills/eve/scripts/setup-dual-account.sh +125 -0
  676. package/skills/filesystem/SKILL.md +217 -0
  677. package/skills/food-order/SKILL.md +41 -0
  678. package/skills/gemini/SKILL.md +23 -0
  679. package/skills/gh/SKILL.md +22 -0
  680. package/skills/gh/docs/usage.md +41 -0
  681. package/skills/gifgrep/SKILL.md +47 -0
  682. package/skills/github/SKILL.md +26 -0
  683. package/skills/github/docs/setup.md +21 -0
  684. package/skills/github/docs/troubleshooting.md +24 -0
  685. package/skills/gog/SKILL.md +104 -0
  686. package/skills/gog/docs/portability.md +94 -0
  687. package/skills/gog/docs/setup.md +76 -0
  688. package/skills/gog/docs/troubleshooting.md +94 -0
  689. package/skills/gog/scripts/cdp/README.md +90 -0
  690. package/skills/gog/scripts/cdp/add_test_users.py +69 -0
  691. package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
  692. package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
  693. package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
  694. package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
  695. package/skills/google-oauth/SKILL.md +94 -0
  696. package/skills/goplaces/SKILL.md +30 -0
  697. package/skills/imsg/SKILL.md +25 -0
  698. package/skills/json-render/SKILL.md +154 -0
  699. package/skills/json-render/assets/components/README.md +21 -0
  700. package/skills/json-render/assets/components/catalog.ts +78 -0
  701. package/skills/json-render/assets/components/registry.tsx +172 -0
  702. package/skills/json-render/assets/demo/App.css +397 -0
  703. package/skills/json-render/assets/demo/App.tsx +897 -0
  704. package/skills/json-render/assets/demo/README.md +22 -0
  705. package/skills/json-render/assets/demo/catalog.ts +78 -0
  706. package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
  707. package/skills/json-render/assets/demo/index.css +27 -0
  708. package/skills/json-render/assets/demo/registry.tsx +150 -0
  709. package/skills/json-render/docs/nexus-state-demo.md +84 -0
  710. package/skills/json-render/docs/shadcn-preset.md +33 -0
  711. package/skills/json-render/scripts/create-vite-demo.sh +45 -0
  712. package/skills/json-render/scripts/llm-server/README.md +33 -0
  713. package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
  714. package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
  715. package/skills/json-render/scripts/llm-server/package.json +18 -0
  716. package/skills/json-render/scripts/llm-server/server.ts +285 -0
  717. package/skills/local-places/SERVER_README.md +101 -0
  718. package/skills/local-places/SKILL.md +91 -0
  719. package/skills/local-places/pyproject.toml +27 -0
  720. package/skills/local-places/src/local_places/__init__.py +2 -0
  721. package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
  722. package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
  723. package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
  724. package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
  725. package/skills/local-places/src/local_places/google_places.py +314 -0
  726. package/skills/local-places/src/local_places/main.py +65 -0
  727. package/skills/local-places/src/local_places/schemas.py +107 -0
  728. package/skills/mcporter/SKILL.md +38 -0
  729. package/skills/model-usage/SKILL.md +45 -0
  730. package/skills/model-usage/references/codexbar-cli.md +28 -0
  731. package/skills/model-usage/scripts/model_usage.py +310 -0
  732. package/skills/nano-banana-pro/SKILL.md +30 -0
  733. package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
  734. package/skills/nano-pdf/SKILL.md +20 -0
  735. package/skills/nexus-cloud/SKILL.md +53 -0
  736. package/skills/nexus-cloud/docs/security.md +24 -0
  737. package/skills/nexus-cloud/docs/setup.md +51 -0
  738. package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
  739. package/skills/notion/SKILL.md +156 -0
  740. package/skills/obsidian/SKILL.md +55 -0
  741. package/skills/onboarding/SKILL.md +515 -0
  742. package/skills/onboarding/docs/CAPABILITIES.md +444 -0
  743. package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
  744. package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
  745. package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
  746. package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
  747. package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
  748. package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
  749. package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
  750. package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
  751. package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
  752. package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
  753. package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
  754. package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
  755. package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
  756. package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
  757. package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
  758. package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
  759. package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
  760. package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
  761. package/skills/onboarding/docs/agent-apple-id.md +289 -0
  762. package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
  763. package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
  764. package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
  765. package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
  766. package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
  767. package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
  768. package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
  769. package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
  770. package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
  771. package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
  772. package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
  773. package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
  774. package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
  775. package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
  776. package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
  777. package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
  778. package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
  779. package/skills/onboarding/scripts/ralph/prd.json +215 -0
  780. package/skills/onboarding/scripts/ralph/progress.txt +99 -0
  781. package/skills/onboarding/scripts/ralph/prompt.md +87 -0
  782. package/skills/onboarding/scripts/ralph/ralph.log +84 -0
  783. package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
  784. package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
  785. package/skills/openai-image-gen/SKILL.md +31 -0
  786. package/skills/openai-image-gen/scripts/gen.py +173 -0
  787. package/skills/openai-whisper/SKILL.md +19 -0
  788. package/skills/openai-whisper-api/SKILL.md +43 -0
  789. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  790. package/skills/openhue/SKILL.md +30 -0
  791. package/skills/oracle/SKILL.md +105 -0
  792. package/skills/ordercli/SKILL.md +47 -0
  793. package/skills/peekaboo/SKILL.md +153 -0
  794. package/skills/qmd/SKILL.md +32 -0
  795. package/skills/qmd/docs/mcp.md +30 -0
  796. package/skills/qmd/docs/ollama.md +42 -0
  797. package/skills/qmd/docs/setup.md +44 -0
  798. package/skills/sag/SKILL.md +62 -0
  799. package/skills/skill-cli-template/SKILL.md +109 -0
  800. package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
  801. package/skills/slack/SKILL.md +144 -0
  802. package/skills/songsee/SKILL.md +29 -0
  803. package/skills/sonoscli/SKILL.md +26 -0
  804. package/skills/spotify-player/SKILL.md +34 -0
  805. package/skills/summarize/SKILL.md +49 -0
  806. package/skills/telegram/SKILL.md +20 -0
  807. package/skills/telegram/docs/pairing.md +30 -0
  808. package/skills/telegram/docs/setup.md +41 -0
  809. package/skills/telegram/docs/webhook.md +17 -0
  810. package/skills/things-mac/SKILL.md +61 -0
  811. package/skills/tmux/SKILL.md +121 -0
  812. package/skills/tmux/scripts/find-sessions.sh +112 -0
  813. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  814. package/skills/trello/SKILL.md +84 -0
  815. package/skills/upstream-sync/SKILL.md +151 -0
  816. package/skills/upstream-sync/scripts/auto-port.sh +227 -0
  817. package/skills/upstream-sync/scripts/check-all.sh +88 -0
  818. package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
  819. package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
  820. package/skills/video-frames/SKILL.md +29 -0
  821. package/skills/video-frames/scripts/frame.sh +81 -0
  822. package/skills/wacli/SKILL.md +48 -0
  823. package/skills/wacli/docs/auth.md +21 -0
  824. package/skills/wacli/docs/backup.md +9 -0
  825. package/skills/wacli/docs/troubleshooting.md +21 -0
  826. package/skills/weather/SKILL.md +53 -0
  827. package/skills/weather/docs/usage.md +40 -0
package/docs/faq.md ADDED
@@ -0,0 +1,736 @@
1
+ ---
2
+ summary: "Frequently asked questions about Nexus setup, configuration, and usage"
3
+ ---
4
+ # FAQ 🦞
5
+
6
+ Common questions from the community. For detailed configuration, see [Configuration](https://docs.nexus.bot/configuration).
7
+
8
+ ## Installation & Setup
9
+
10
+ ### Where does Nexus store its data?
11
+
12
+ Everything lives under `~/nexus/state/`:
13
+
14
+ | Path | Purpose |
15
+ |------|---------|
16
+ | `~/nexus/state/nexus.json` | Main config (JSON5) |
17
+ | `~/nexus/state/credentials/oauth.json` | OAuth credentials (Anthropic/OpenAI, etc.) |
18
+ | `~/nexus/state/agent/auth-profiles.json` | Auth profiles (OAuth + API keys) |
19
+ | `~/nexus/state/agent/auth.json` | Runtime API key cache (managed automatically) |
20
+ | `~/nexus/state/credentials/` | WhatsApp/Telegram auth tokens |
21
+ | `~/nexus/state/agents/` | Per-agent state (agentDir + sessions) |
22
+ | `~/nexus/state/agents/<agentId>/sessions/` | Conversation history & state (per agent) |
23
+ | `~/nexus/state/agents/<agentId>/sessions/sessions.json` | Session metadata (per agent) |
24
+
25
+ Your **workspace** (AGENTS.md, memory files, skills) is separate — configured via `agent.workspace` in your config (default: `~/nexus`).
26
+
27
+ ### What platforms does Nexus run on?
28
+
29
+ **macOS and Linux** are the primary targets. Anywhere Node.js 22+ runs should work in theory.
30
+
31
+ - **macOS** — Fully supported, most tested
32
+ - **Linux** — Works great, common for VPS/server deployments
33
+ - **Windows** — Should work but largely untested! You're in pioneer territory 🤠
34
+
35
+ Some features are platform-specific:
36
+ - **iMessage** — macOS only (uses `imsg` CLI)
37
+ - **Nexus.app** — macOS native app (optional, gateway works without it)
38
+
39
+ ### What are the minimum system requirements?
40
+
41
+ **Basically nothing!** The gateway is very lightweight — all heavy compute happens on Anthropic's servers.
42
+
43
+ - **RAM:** 512MB-1GB is enough (community member runs on 1GB VPS!)
44
+ - **CPU:** 1 core is fine for personal use
45
+ - **Disk:** ~500MB for Nexus + deps, plus space for logs/media
46
+
47
+ The gateway is just shuffling messages around. A Raspberry Pi 4 can run it. For the CLI, prefer the Node runtime (most stable):
48
+
49
+ ```bash
50
+ pnpm nexus gateway
51
+ ```
52
+
53
+ ### How do I install on Linux without Homebrew?
54
+
55
+ Build CLIs from source! Example for `gogcli`:
56
+
57
+ ```bash
58
+ git clone https://github.com/steipete/gogcli.git
59
+ cd gogcli
60
+ make
61
+ sudo mv bin/gog /usr/local/bin/
62
+ ```
63
+
64
+ Most of Peter's tools are Go binaries — clone, build, move to PATH. No brew needed.
65
+
66
+ ### I'm getting "unauthorized" errors on health check
67
+
68
+ You need a config file. Run the onboarding wizard:
69
+
70
+ ```bash
71
+ pnpm nexus onboard
72
+ ```
73
+
74
+ This creates `~/nexus/state/nexus.json` with your API keys, workspace path, and owner phone number.
75
+
76
+ ### How do I start fresh?
77
+
78
+ ```bash
79
+ # Backup first (optional)
80
+ cp -r ~/nexus/state ~/nexus/state-backup
81
+
82
+ # Remove config and credentials
83
+ trash ~/nexus/state
84
+
85
+ # Re-run onboarding
86
+ pnpm nexus onboard
87
+ pnpm nexus login
88
+ ```
89
+
90
+ ### Something's broken — how do I diagnose?
91
+
92
+ Run the doctor:
93
+
94
+ ```bash
95
+ pnpm nexus doctor
96
+ ```
97
+
98
+ It checks your config, credentials, and capability status. It can also restart the gateway daemon if needed.
99
+
100
+ ### How do I customize skills without keeping the repo dirty?
101
+
102
+ Use managed overrides instead of editing the repo copy. Put your changes in `~/nexus/home/skills/<name>/SKILL.md` (or add a folder via `skills.load.extraDirs` in `~/nexus/state/nexus.json`). Precedence is `<workspace>/skills` > `~/nexus/home/skills` > bundled, so managed overrides win without touching git. Only upstream-worthy edits should live in the repo and go out as PRs.
103
+
104
+ ### Terminal onboarding vs macOS app?
105
+
106
+ **Use terminal onboarding** (`pnpm nexus onboard`) — it's more stable right now.
107
+
108
+ The macOS app onboarding is still being polished and can have quirks (e.g., WhatsApp 515 errors, OAuth issues).
109
+
110
+ ---
111
+
112
+ ## Authentication
113
+
114
+ ### OAuth vs API key — what's the difference?
115
+
116
+ - **OAuth** — Uses your **subscription** (Anthropic Claude Pro/Max or OpenAI ChatGPT/Codex). No per‑token charges. ✅ Recommended!
117
+ - **API key** — Pay‑per‑token via the provider’s API billing. Can get expensive fast.
118
+
119
+ They're **separate billing**! An API key does NOT use your subscription.
120
+
121
+ **For OAuth:** During onboarding, pick **Anthropic OAuth** or **OpenAI Codex OAuth**, log in, paste the code/URL when prompted. Or just run:
122
+
123
+ ```bash
124
+ pnpm nexus login
125
+ ```
126
+
127
+ **If OAuth fails** (headless/container): Do OAuth on a normal machine, then copy `~/nexus/state/credentials/oauth.json` to your server. The auth is just a JSON file.
128
+
129
+ ### How are env vars loaded?
130
+
131
+ NEXUS reads env vars from the parent process (shell, launchd/systemd, CI, etc.). It also loads `.env` files:
132
+ - `.env` in the current working directory
133
+ - global fallback: `~/nexus/state/.env` (aka `$NEXUS_STATE_DIR/.env`)
134
+
135
+ Neither `.env` file overrides existing env vars.
136
+
137
+ Optional convenience: import missing expected keys from your login shell env (sources your shell profile):
138
+
139
+ ```json5
140
+ {
141
+ env: { shellEnv: { enabled: true, timeoutMs: 15000 } }
142
+ }
143
+ ```
144
+
145
+ Or set `NEXUS_LOAD_SHELL_ENV=1` (timeout: `NEXUS_SHELL_ENV_TIMEOUT_MS=15000`).
146
+
147
+ ### Does enterprise OAuth work?
148
+
149
+ **Not currently.** Enterprise accounts use SSO which requires a different auth flow that pi-coding-agent doesn't support yet.
150
+
151
+ **Workaround:** Ask your enterprise admin to provision an API key via the Anthropic console, then use that with `ANTHROPIC_API_KEY`.
152
+
153
+ ### OAuth callback not working (containers/headless)?
154
+
155
+ OAuth needs the callback to reach the machine running the CLI. Options:
156
+
157
+ 1. **Copy auth manually** — Run OAuth on your laptop, copy `~/nexus/state/credentials/oauth.json` to the container.
158
+ 2. **SSH tunnel** — `ssh -L 18789:localhost:18789 user@server`
159
+ 3. **Tailscale** — Put both machines on your tailnet.
160
+
161
+ ---
162
+
163
+ ## Migration & Deployment
164
+
165
+ ### How do I migrate Nexus to a new machine (or VPS)?
166
+
167
+ 1. **Backup on old machine:**
168
+ ```bash
169
+ # Config + credentials + sessions
170
+ tar -czvf nexus-backup.tar.gz ~/nexus/state
171
+
172
+ # Your workspace (memories, AGENTS.md, etc.)
173
+ tar -czvf workspace-backup.tar.gz ~/path/to/workspace
174
+ ```
175
+
176
+ 2. **Copy to new machine:**
177
+ ```bash
178
+ scp nexus-backup.tar.gz workspace-backup.tar.gz user@new-machine:~/
179
+ ```
180
+
181
+ 3. **Restore on new machine:**
182
+ ```bash
183
+ cd ~
184
+ tar -xzvf nexus-backup.tar.gz
185
+ tar -xzvf workspace-backup.tar.gz
186
+ ```
187
+
188
+ 4. **Install Nexus** (Node 22+, pnpm, clone repo, `pnpm install && pnpm build`)
189
+
190
+ 5. **Start gateway:**
191
+ ```bash
192
+ pnpm nexus gateway
193
+ ```
194
+
195
+ **Note:** WhatsApp may notice the IP change and require re-authentication. If so, run `pnpm nexus login` again. Stop the old instance before starting the new one to avoid conflicts.
196
+
197
+ ### Can I run Nexus in Docker?
198
+
199
+ There's no official Docker setup yet, but it works. Key considerations:
200
+
201
+ - **WhatsApp login:** QR code works in terminal — no display needed.
202
+ - **Persistence:** Mount `~/nexus/state/` and your workspace as volumes.
203
+ - **pnpm doesn't persist:** Global npm installs don't survive container restarts. Install pnpm in your startup script.
204
+ - **Browser automation:** Optional. If needed, install headless Chrome + Playwright deps, or connect to a remote browser via `--remote-debugging-port`.
205
+
206
+ **Volume mappings (e.g., Unraid):**
207
+ ```
208
+ /mnt/user/appdata/nexus/config → /root/.nexus
209
+ /mnt/user/appdata/nexus/workspace → /root/nexus
210
+ /mnt/user/appdata/nexus/app → /app
211
+ ```
212
+
213
+ **Startup script (`start.sh`):**
214
+ ```bash
215
+ #!/bin/bash
216
+ npm install -g pnpm
217
+ cd /app
218
+ pnpm nexus gateway
219
+ ```
220
+
221
+ **Container command:**
222
+ ```
223
+ bash /app/start.sh
224
+ ```
225
+
226
+ Docker support is on the roadmap — PRs welcome!
227
+
228
+ ### How do I bind a host folder into the sandbox?
229
+
230
+ Set `agent.sandbox.docker.binds` to `["host:path:mode"]` (e.g., `"/home/user/src:/src:ro"`).
231
+ Use `:ro` for anything sensitive and remember binds bypass the sandbox filesystem walls.
232
+ Omitting the mode defaults to read-write. Global binds merge with per-agent binds under
233
+ `routing.agents.<id>.sandbox.docker.binds` when `perSession: true`; shared sandboxes
234
+ (`perSession: false`) ignore per-agent binds. Mounting `/var/run/docker.sock` effectively
235
+ hands host control to the sandbox—do this intentionally.
236
+ See [Docker](https://docs.nexus.bot/docker) and [Configuration](https://docs.nexus.bot/configuration)
237
+ for examples and safety notes.
238
+
239
+ ### Can I run Nexus headless on a VPS?
240
+
241
+ Yes! The terminal QR code login works fine over SSH. For long-running operation:
242
+
243
+ - Use `pm2`, `systemd`, or a `launchd` plist to keep the gateway running.
244
+ - Consider Tailscale for secure remote access.
245
+
246
+ ### bun binary vs Node runtime?
247
+
248
+ Nexus can run as:
249
+ - **bun binary (macOS app)** — Single executable, easy distribution, auto-restarts via launchd
250
+ - **Node runtime** (`pnpm nexus gateway`) — More stable for WhatsApp
251
+
252
+ If you see WebSocket errors like `ws.WebSocket 'upgrade' event is not implemented`, use Node instead of the bun binary. Bun's WebSocket implementation has edge cases that can break WhatsApp (Baileys).
253
+
254
+ **For stability:** Use launchd (macOS) or the Nexus.app — they handle process supervision (auto-restart on crash).
255
+
256
+ **For debugging:** Use `pnpm gateway:watch` for live reload during development.
257
+
258
+ ### WhatsApp keeps disconnecting / crashing (macOS app)
259
+
260
+ This is often the bun WebSocket issue. Workaround:
261
+
262
+ 1. Run gateway with Node instead:
263
+ ```bash
264
+ pnpm gateway:watch
265
+ ```
266
+ 2. In **Nexus.app → Settings → Debug**, check **"External gateway"**
267
+ 3. The app now connects to your Node gateway instead of spawning bun
268
+
269
+ This is the most stable setup until bun's WebSocket handling improves.
270
+
271
+ ---
272
+
273
+ ## Multi-Instance & Contexts
274
+
275
+ ### Can I run multiple Nexuss (separate instances)?
276
+
277
+ The intended design is **one Nexus, one identity**. Rather than running separate instances:
278
+
279
+ - **Add skills** — Give your Nexus multiple capabilities (business + fitness + personal).
280
+ - **Use context switching** — "Hey Nexus, let's talk about fitness" within the same conversation.
281
+ - **Use groups for separation** — Create Telegram/Discord groups for different contexts; each group gets its own session.
282
+
283
+ Why? A unified assistant knows your whole context. Your fitness coach knows when you've had a stressful work week.
284
+
285
+ If you truly need full separation (different users, privacy boundaries), you'd need:
286
+ - Separate config + state directories (`NEXUS_CONFIG_PATH`, `NEXUS_STATE_DIR`)
287
+ - Separate agent workspaces (`agent.workspace`)
288
+ - Separate gateway ports (`gateway.port` / `--port`)
289
+ - Separate phone numbers for WhatsApp (one number = one account)
290
+
291
+ ### Can I have separate "threads" for different topics?
292
+
293
+ Currently, sessions are per-chat:
294
+ - Each WhatsApp/Telegram DM = one session
295
+ - Each group = separate session
296
+
297
+ **Workaround:** Create multiple groups (even just you + the bot) for different contexts. Each group maintains its own session.
298
+
299
+ Feature request? Open a [GitHub discussion](https://github.com/nexus/nexus/discussions)!
300
+
301
+ ### How do groups work?
302
+
303
+ Groups get separate sessions automatically. By default, the bot requires a **mention** to respond in groups.
304
+
305
+ Per-group activation can be changed by the owner:
306
+ - `/activation mention` — respond only when mentioned (default)
307
+ - `/activation always` — respond to all messages
308
+
309
+ See [Groups](https://docs.nexus.bot/groups) for details.
310
+
311
+ ---
312
+
313
+ ## Context & Memory
314
+
315
+ ### How much context can Nexus handle?
316
+
317
+ Claude Opus has a 200k token context window, and Nexus uses **autocompaction** — older conversation gets summarized to stay under the limit.
318
+
319
+ Practical tips:
320
+ - Keep `AGENTS.md` focused, not bloated.
321
+ - Use `/compact` to shrink older context or `/new` to reset when it gets stale.
322
+ - For large memory/notes collections, use search tools like `qmd` rather than loading everything.
323
+
324
+ ### Where are my memory files?
325
+
326
+ In your workspace directory (configured in `agent.workspace`, default `~/nexus`). Look for:
327
+ - `memory/` — daily memory files
328
+ - `AGENTS.md` — agent instructions
329
+ - `TOOLS.md` — tool-specific notes
330
+
331
+ Check your config:
332
+ ```bash
333
+ cat ~/nexus/state/nexus.json | grep workspace
334
+ ```
335
+
336
+ ---
337
+
338
+ ## Platforms
339
+
340
+ ### Which platforms does Nexus support?
341
+
342
+ - **WhatsApp** — Primary. Uses WhatsApp Web protocol.
343
+ - **Telegram** — Via Bot API (grammY).
344
+ - **Discord** — Bot integration.
345
+ - **iMessage** — Via `imsg` CLI (macOS only).
346
+ - **Signal** — Via `signal-cli` (see [Signal](https://docs.nexus.bot/signal)).
347
+ - **WebChat** — Browser-based chat UI.
348
+
349
+ ### Discord: Bot works in channels but not DMs?
350
+
351
+ Discord has **separate allowlists** for channels vs DMs:
352
+
353
+ - `discord.guilds.*.users` — controls who can talk in server channels
354
+ - `discord.dm.allowFrom` — controls who can DM the bot
355
+
356
+ If channels work but DMs don't, add `discord.dm.allowFrom` to your config:
357
+
358
+ ```json
359
+ {
360
+ "discord": {
361
+ "dm": {
362
+ "enabled": true,
363
+ "allowFrom": ["YOUR_DISCORD_USER_ID"]
364
+ },
365
+ "guilds": {
366
+ "your-server": {
367
+ "users": ["YOUR_DISCORD_USER_ID"]
368
+ }
369
+ }
370
+ }
371
+ }
372
+ ```
373
+
374
+ Find your user ID: Discord Settings → Advanced → Developer Mode → right-click yourself → Copy User ID.
375
+
376
+ ### Images/media not being understood by the agent?
377
+
378
+ If you send an image but your Nexus doesn't "see" it, check these:
379
+
380
+ **1. Is your model vision-capable?**
381
+
382
+ Not all models support images! Check `agent.model` in your config:
383
+
384
+ - ✅ Vision: `claude-opus-4-5`, `claude-sonnet-4-5`, `claude-haiku-4-5`, `gpt-5.2`, `gpt-4o`, `gemini-pro`
385
+ - ❌ No vision: Most local LLMs (Llama, Mistral), older models, text-only configs
386
+
387
+ **2. Is media being downloaded?**
388
+
389
+ ```bash
390
+ ls -la ~/nexus/state/media/inbound/
391
+ grep -i "media\|download" ~/nexus/state/logs/nexus-*.log | tail -20
392
+ ```
393
+
394
+ **3. Is `agent.mediaMaxMb` too low?**
395
+
396
+ Default is 5MB. Large images get resized, but if the limit is set very low, media might be skipped.
397
+
398
+ **4. Does the agent see `[media attached: ...]`?**
399
+
400
+ If this line isn't in the agent's input, the gateway didn't pass the media. Check logs for errors.
401
+
402
+ **5. For PDFs, audio, video, and exotic files:**
403
+
404
+ Use the [summarize](https://summarize.sh) skill to extract and condense content from files that can't be passed directly to vision.
405
+
406
+ ### Can I use multiple platforms at once?
407
+
408
+ Yes! One Nexus gateway can connect to WhatsApp, Telegram, Discord, and more simultaneously. Each platform maintains its own sessions.
409
+
410
+ ### WhatsApp: will it message my contacts? How does pairing work?
411
+
412
+ No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**. Nexus only replies to chats it receives or to explicit sends you trigger.
413
+
414
+ Approve pairing with:
415
+
416
+ ```bash
417
+ nexus pairing approve --channel whatsapp <code>
418
+ ```
419
+
420
+ List pending requests:
421
+
422
+ ```bash
423
+ nexus pairing list --channel whatsapp
424
+ ```
425
+
426
+ Wizard phone number prompt: it’s used to set your **allowlist/owner** so your own DMs are permitted. It’s not used for auto-sending. If you run on your personal WhatsApp number, use that number and enable `whatsapp.selfChatMode`.
427
+
428
+ ### WhatsApp: Can I use two numbers?
429
+
430
+ One WhatsApp account = one phone number = one gateway connection. For a second number, you'd need a second gateway instance with a separate config directory.
431
+
432
+ ---
433
+
434
+ ## Skills & Tools
435
+
436
+ ### How do I add new skills?
437
+
438
+ Skills are auto-discovered from your workspace's `skills/` folder. After adding new skills:
439
+
440
+ 1. Send `/reset` (or `/new`) in chat to start a new session
441
+ 2. The new skills will be available
442
+
443
+ No gateway restart needed!
444
+
445
+ ### How do I run commands on other machines?
446
+
447
+ Use **[Tailscale](https://tailscale.com/)** to create a secure network between your machines:
448
+
449
+ 1. Install Tailscale on all machines (it's separate from Nexus — set it up yourself)
450
+ 2. Each gets a stable IP (like `100.x.x.x`)
451
+ 3. SSH just works: `ssh user@100.x.x.x "command"`
452
+
453
+ Nexus can use Tailscale when you set `bridge.bind: "tailnet"` in your config — it auto-detects your Tailscale IP.
454
+
455
+ For deeper integration, look into **Nexus nodes** — pair remote machines with your gateway for camera/screen/automation access.
456
+
457
+ ---
458
+
459
+ ## Troubleshooting
460
+
461
+ ### Build errors (TypeScript)
462
+
463
+ If you hit build errors on `main`:
464
+
465
+ 1. Pull latest: `git pull origin main && pnpm install`
466
+ 2. Try `pnpm nexus doctor`
467
+ 3. Check [GitHub issues](https://github.com/nexus/nexus/issues) or Discord
468
+ 4. Temporary workaround: checkout an older commit
469
+
470
+ ### WhatsApp logged me out
471
+
472
+ WhatsApp sometimes disconnects on IP changes or after updates. Re-authenticate:
473
+
474
+ ```bash
475
+ pnpm nexus login
476
+ ```
477
+
478
+ Scan the QR code and you're back.
479
+
480
+ ### Gateway won't start
481
+
482
+ Check logs:
483
+ ```bash
484
+ cat ~/nexus/state/logs/nexus-$(date +%Y-%m-%d).log
485
+ ```
486
+
487
+ Common issues:
488
+ - Port already in use (change with `--port`)
489
+ - Missing API keys in config
490
+ - Invalid config syntax (remember it's JSON5, but still check for errors)
491
+ - **Tailscale serve + bind conflict:** If using `tailscale.mode: "serve"`, you must set `gateway.bind: "loopback"` (not `"lan"`). Tailscale serve proxies traffic itself.
492
+
493
+ **Debug mode** — use watch for live reload:
494
+ ```bash
495
+ pnpm gateway:watch
496
+ ```
497
+
498
+ **Pro tip:** Use Codex to debug:
499
+ ```bash
500
+ cd ~/path/to/nexus
501
+ codex --full-auto "debug why nexus gateway won't start"
502
+ ```
503
+
504
+ ### Gateway stops after I log out (Linux)
505
+
506
+ Linux installs use a systemd **user** service. By default, systemd stops user
507
+ services on logout/idle, which kills the Gateway.
508
+
509
+ Onboarding attempts to enable lingering; if it’s still off, run:
510
+ ```bash
511
+ sudo loginctl enable-linger $USER
512
+ ```
513
+
514
+ **macOS/Windows**
515
+
516
+ Gateway daemons run in the user session by default. Keep the user logged in.
517
+ Headless/system services are not configured out of the box.
518
+
519
+ ### Processes keep restarting after I kill them
520
+
521
+ The gateway runs under a supervisor that auto-restarts it. You need to stop the supervisor, not just kill the process.
522
+
523
+ **macOS (launchd)**
524
+
525
+ ```bash
526
+ # Check if running
527
+ launchctl list | grep nexus
528
+
529
+ # Stop (disable does NOT stop a running job)
530
+ nexus gateway stop
531
+
532
+ # Stop and disable
533
+ launchctl disable gui/$UID/com.nexus.gateway
534
+ launchctl bootout gui/$UID/com.nexus.gateway
535
+
536
+ # Re-enable later
537
+ launchctl enable gui/$UID/com.nexus.gateway
538
+ launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.nexus.gateway.plist
539
+
540
+ # Or just restart
541
+ nexus gateway restart
542
+ ```
543
+
544
+ **Linux (systemd)**
545
+
546
+ ```bash
547
+ # Check if running
548
+ systemctl list-units | grep -i nexus
549
+
550
+ # Stop and disable
551
+ nexus gateway stop
552
+ systemctl --user disable --now nexus-gateway.service
553
+
554
+ # Or just restart
555
+ nexus gateway restart
556
+ ```
557
+
558
+ **pm2 (if used)**
559
+
560
+ ```bash
561
+ pm2 list
562
+ pm2 delete nexus
563
+ ```
564
+
565
+ ### Clean uninstall (start fresh)
566
+
567
+ ```bash
568
+ # macOS: stop launchd service
569
+ launchctl disable gui/$UID/com.nexus.gateway
570
+ launchctl bootout gui/$UID/com.nexus.gateway 2>/dev/null
571
+
572
+ # Linux: stop systemd service
573
+ sudo systemctl disable --now nexus
574
+
575
+ # Kill any remaining processes
576
+ pkill -f "nexus"
577
+
578
+ # Remove data
579
+ trash ~/nexus/state
580
+
581
+ # Remove repo and re-clone (adjust path if you cloned elsewhere)
582
+ trash ~/Projects/nexus
583
+ git clone https://github.com/nexus/nexus.git ~/Projects/nexus
584
+ cd ~/Projects/nexus && pnpm install && pnpm build
585
+ pnpm nexus onboard
586
+ ```
587
+
588
+ ---
589
+
590
+ ## Chat Commands
591
+
592
+ Quick reference (send these in chat):
593
+
594
+ | Command | Action |
595
+ |---------|--------|
596
+ | `/status` | Health + session info |
597
+ | `/new` or `/reset` | Reset the session |
598
+ | `/compact` | Compact session context |
599
+
600
+ Slash commands are owner-only (gated by `whatsapp.allowFrom` and command authorization on other surfaces).
601
+ | `/think <level>` | Set thinking level (off\|minimal\|low\|medium\|high) |
602
+ | `/verbose on\|off` | Toggle verbose mode |
603
+ | `/elevated on\|off` | Toggle elevated bash mode (approved senders only) |
604
+ | `/activation mention\|always` | Group activation (owner-only) |
605
+ | `/model <name>` | Switch AI model (see below) |
606
+ | `/queue instant\|batch\|serial` | Message queuing mode |
607
+
608
+ ### How do I switch models on the fly?
609
+
610
+ Use `/model` to switch without restarting:
611
+
612
+ ```
613
+ /model sonnet
614
+ /model haiku
615
+ /model opus
616
+ /model gpt
617
+ /model gpt-mini
618
+ /model gemini
619
+ /model gemini-flash
620
+ ```
621
+
622
+ List available models with `/model`, `/model list`, or `/model status`.
623
+
624
+ `/model` (and `/model list`) shows a compact, numbered picker. Select by number:
625
+
626
+ ```
627
+ /model 3
628
+ ```
629
+
630
+ Nexus ships a few default model shorthands (you can override them in config):
631
+ `opus`, `sonnet`, `gpt`, `gpt-mini`, `gemini`, `gemini-flash`.
632
+
633
+ **Setup:** Configure models and aliases in `nexus.json`:
634
+
635
+ ```json
636
+ {
637
+ "agent": {
638
+ "model": { "primary": "anthropic/claude-opus-4-5" },
639
+ "models": {
640
+ "anthropic/claude-opus-4-5": { "alias": "opus" },
641
+ "anthropic/claude-sonnet-4-5": { "alias": "sonnet" },
642
+ "anthropic/claude-haiku-4-5": { "alias": "haiku" }
643
+ }
644
+ }
645
+ }
646
+ ```
647
+
648
+ **Tip:** `/model` is processed at the gateway level — it works even if you're rate-limited (429) on the current model!
649
+ `/model status` also shows the configured provider endpoint (`baseUrl`) and API mode (`api`) when available.
650
+
651
+ ### Alternative providers (OpenRouter, Z.AI)?
652
+
653
+ If you don't want to use Anthropic directly, you can use alternative providers:
654
+
655
+ **OpenRouter** (pay-per-token, many models):
656
+ ```json5
657
+ {
658
+ agent: {
659
+ model: { primary: "openrouter/anthropic/claude-sonnet-4" },
660
+ models: { "openrouter/anthropic/claude-sonnet-4": {} },
661
+ env: { OPENROUTER_API_KEY: "sk-or-..." }
662
+ }
663
+ }
664
+ ```
665
+
666
+ **Z.AI** (flat-rate plans, GLM models):
667
+ ```json5
668
+ {
669
+ agent: {
670
+ model: { primary: "zai/glm-4.7" },
671
+ models: { "zai/glm-4.7": {} },
672
+ env: { ZAI_API_KEY: "..." }
673
+ }
674
+ }
675
+ ```
676
+
677
+ **Important:** Always use the latest Claude models (4.5 series). Don't use older 3.x models — they're deprecated and less capable. Check [OpenRouter models](https://openrouter.ai/models?q=claude) for exact IDs.
678
+
679
+ ### Model + thinking mode issues?
680
+
681
+ Some models don't support extended thinking well:
682
+
683
+ - **Gemini Flash + thinking:** Can cause "Corrupted thought signature" errors. Fix: `/think off`
684
+ - **Claude Opus + thinking off:** Opus may "think out loud" anyway. Better to use `/think low` than `off`.
685
+ - **Local LLMs:** Most don't support the thinking/reasoning separation. Set `reasoning: false` in your model config.
686
+
687
+ If you get weird errors after switching models, try `/think off` and `/new` to reset.
688
+
689
+ ### How do I stop/cancel a running task?
690
+
691
+ Send `/stop` to immediately abort the current agent run. Other stop words also work:
692
+ - `/stop`
693
+ - `/abort`
694
+ - `/esc`
695
+ - `/exit`
696
+
697
+ For background processes (like Codex), use:
698
+ ```
699
+ process action:kill sessionId:XXX
700
+ ```
701
+
702
+ You can also configure `routing.queue.mode` to control how new messages interact with running tasks:
703
+ - `steer` — New messages redirect the current task
704
+ - `interrupt` — Kills current run, starts fresh
705
+ - `collect` — Queues messages for after
706
+
707
+ ### Does Codex CLI use my ChatGPT Pro subscription or API credits?
708
+
709
+ **Both are supported!** Codex CLI can auth via:
710
+
711
+ 1. **Browser/Device OAuth** → Uses your ChatGPT Pro/Plus subscription (no per-token cost)
712
+ ```bash
713
+ codex login --device-auth
714
+ # Opens browser, log in with your ChatGPT account
715
+ ```
716
+
717
+ 2. **API key** → Pay-per-token via OpenAI API billing
718
+ ```bash
719
+ export OPENAI_API_KEY="sk-..."
720
+ ```
721
+
722
+ If you have a ChatGPT subscription, use browser auth to avoid API charges!
723
+
724
+ ### How do rapid-fire messages work?
725
+
726
+ Use `/queue` to control how messages sent in quick succession are handled:
727
+
728
+ - **`/queue instant`** — New messages interrupt/steer the current response
729
+ - **`/queue batch`** — Messages queue up, processed after current turn
730
+ - **`/queue serial`** — One at a time, in order
731
+
732
+ If you tend to send multiple short messages, `/queue instant` feels most natural.
733
+
734
+ ---
735
+
736
+ *Still stuck? Ask in [Discord](https://discord.gg/qkhbAGHRBT) or open a [GitHub discussion](https://github.com/nexus/nexus/discussions).* 🦞