viveworker 0.1.10 → 0.2.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.
- package/README.md +27 -8
- package/package.json +7 -2
- package/scripts/viveworker-bridge.mjs +1146 -151
- package/scripts/viveworker-claude-hook.mjs +839 -0
- package/scripts/viveworker.mjs +71 -0
- package/web/app.css +171 -0
- package/web/app.js +523 -59
- package/web/i18n.js +115 -71
package/README.md
CHANGED
|
@@ -5,25 +5,25 @@
|
|
|
5
5
|
[](https://badge.fury.io/js/viveworker)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
|
-
`viveworker` brings Codex Desktop to your phone.
|
|
8
|
+
`viveworker` brings Codex Desktop and Claude Desktop to your phone.
|
|
9
9
|
|
|
10
|
-
When
|
|
10
|
+
When your AI desktop session needs an approval, asks whether to implement a plan, wants you to choose from options, or finishes a task while you are away from your desk, `viveworker` keeps all of that within reach on your phone. Instead of breaking your rhythm, it helps you keep vivecoding going from anywhere in your home or office.
|
|
11
11
|
|
|
12
|
-
Think of it as a local companion for Codex on your Mac:
|
|
12
|
+
Think of it as a local companion for Codex or Claude on your Mac:
|
|
13
13
|
your Mac keeps building, and your device keeps you in the loop.
|
|
14
14
|
|
|
15
15
|
## Why It Feels Good
|
|
16
16
|
|
|
17
17
|
With `viveworker`, you can:
|
|
18
18
|
|
|
19
|
-
- approve or reject actions the moment Codex asks
|
|
19
|
+
- approve or reject actions the moment Codex or Claude asks
|
|
20
20
|
- respond to `Implement this plan?` without walking back to your desk
|
|
21
21
|
- answer multiple-choice questions quickly from your phone
|
|
22
22
|
- review completions and jump back into the latest thread
|
|
23
|
-
- get a Home Screen notification when
|
|
23
|
+
- get a Home Screen notification when your AI tool needs you
|
|
24
24
|
|
|
25
25
|
The point is simple:
|
|
26
|
-
keep
|
|
26
|
+
keep your AI session moving, keep context close, and keep your momentum.
|
|
27
27
|
|
|
28
28
|
## Best Fit
|
|
29
29
|
|
|
@@ -35,7 +35,7 @@ keep Codex moving, keep context close, and keep your momentum.
|
|
|
35
35
|
- the Home Screen web app with Web Push enabled
|
|
36
36
|
|
|
37
37
|
It gets even more fun with a Mac mini.
|
|
38
|
-
Leave Codex running on a small always-on machine, and `viveworker` starts to feel like a local coding appliance: your Mac mini keeps building in the background while your device handles approvals, plan checks, questions, and follow-up replies from anywhere in your home or office.
|
|
38
|
+
Leave Codex or Claude running on a small always-on machine, and `viveworker` starts to feel like a local coding appliance: your Mac mini keeps building in the background while your device handles approvals, plan checks, questions, and follow-up replies from anywhere in your home or office.
|
|
39
39
|
|
|
40
40
|
`viveworker` is designed for local use only.
|
|
41
41
|
It is not intended for Internet exposure.
|
|
@@ -46,7 +46,7 @@ It is not intended for Internet exposure.
|
|
|
46
46
|
|
|
47
47
|
You can use it as:
|
|
48
48
|
|
|
49
|
-
- an always-on Codex station that stays running in the background
|
|
49
|
+
- an always-on Codex or Claude station that stays running in the background
|
|
50
50
|
- a way to keep approvals and plan checks moving even when you are away from your desk
|
|
51
51
|
- a lightweight monitor for long-running coding or research tasks, where your device only surfaces what needs your attention
|
|
52
52
|
- a small local AI appliance for your home or office
|
|
@@ -130,6 +130,25 @@ Useful options:
|
|
|
130
130
|
It does not change the main app URL, port, session secret, TLS, or Web Push settings.
|
|
131
131
|
Use it only when you want to add another trusted device or browser.
|
|
132
132
|
|
|
133
|
+
## Claude Desktop Integration
|
|
134
|
+
|
|
135
|
+
`viveworker` auto-detects Claude Desktop. If `~/.claude/` exists on your Mac when you run `npx viveworker setup`, `viveworker` installs hook entries into `~/.claude/settings.json` (`UserPromptSubmit`, `Notification`, `Stop`, `PermissionRequest`, `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `SessionEnd`). No extra flag is needed — Codex Desktop and Claude Desktop are supported from the same `setup` command. If you do not have Claude Desktop installed, `viveworker` prints a skip notice and leaves your system untouched.
|
|
136
|
+
|
|
137
|
+
Advanced: pass `--claude-settings-file <path>` to target a non-default Claude settings file.
|
|
138
|
+
|
|
139
|
+
### Sync Mode (for Claude plans and questions)
|
|
140
|
+
|
|
141
|
+
Claude Desktop exposes approval hooks but has no native IPC for answering `ExitPlanMode` / `AskUserQuestion` prompts remotely. To let you answer plans and questions from your paired device, `viveworker` offers **Sync mode** (toggle in `Settings`, formerly "Away mode"):
|
|
142
|
+
|
|
143
|
+
- **Sync mode OFF** (default): plans and questions are answered on the Mac in the native Claude Desktop dialog; your device only receives notifications.
|
|
144
|
+
- **Sync mode ON**: when Claude fires a plan or question, the hook intercepts it, `viveworker` opens a small mobile-sized popup window in your habitually-running Chromium browser (Brave → Arc → Chrome → Edge → Vivaldi, preferring whichever is already running so your session cookie matches) on the top-right of your screen, and you can answer from **either** the PC popup **or** the paired device — first answer wins. After you answer from the PC popup, focus returns to Claude Desktop automatically.
|
|
145
|
+
|
|
146
|
+
Approvals (`Bash` / `Write` / `Edit` / …) always support PC + device dual-answer regardless of Sync mode.
|
|
147
|
+
|
|
148
|
+
### macOS Permissions on First Run
|
|
149
|
+
|
|
150
|
+
Because the Claude hook opens browser windows and returns focus to Claude Desktop via AppleScript, macOS will prompt for **Automation** permission (and possibly **Accessibility**) the first time a plan or question fires in Sync mode. Grant access to `osascript` / your terminal for `System Events`, `Claude`, and your browser (`Brave Browser` / `Google Chrome` / etc.) in `System Settings > Privacy & Security > Automation`. This is in addition to the `mkcert` admin prompt during CA install.
|
|
151
|
+
|
|
133
152
|
## Questions and Limits
|
|
134
153
|
|
|
135
154
|
- Multiple-choice questions are handled as a single item
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "viveworker",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Local
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Local mobile companion for Codex Desktop and Claude Desktop approvals, questions, completions, and code review on your LAN.",
|
|
5
5
|
"author": "Yuta Hoshino <hoshino.lireneo@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"codex",
|
|
9
9
|
"codex-desktop",
|
|
10
|
+
"claude",
|
|
11
|
+
"claude-desktop",
|
|
10
12
|
"macos",
|
|
11
13
|
"mobile",
|
|
12
14
|
"ios",
|
|
@@ -15,6 +17,8 @@
|
|
|
15
17
|
"web-push",
|
|
16
18
|
"notifications",
|
|
17
19
|
"approvals",
|
|
20
|
+
"questions",
|
|
21
|
+
"code-review",
|
|
18
22
|
"lan",
|
|
19
23
|
"companion-app",
|
|
20
24
|
"vivecoding"
|
|
@@ -28,6 +32,7 @@
|
|
|
28
32
|
"files": [
|
|
29
33
|
"scripts/viveworker.mjs",
|
|
30
34
|
"scripts/viveworker-bridge.mjs",
|
|
35
|
+
"scripts/viveworker-claude-hook.mjs",
|
|
31
36
|
"scripts/lib",
|
|
32
37
|
"web",
|
|
33
38
|
"README.md",
|