@opticell/workflow-companion 0.0.0-stage → 1.5.1
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/LICENSE +10 -0
- package/README.md +159 -2
- package/index.js +1478 -0
- package/package.json +27 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
WorkFlow Companion
|
|
2
|
+
Copyright (c) 2026 Opticell Limited. All rights reserved.
|
|
3
|
+
|
|
4
|
+
You may install and run this software free of charge to use WorkFlow for Mac,
|
|
5
|
+
which you must own, from other computers. You may not sell it, or distribute
|
|
6
|
+
modified copies of it.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
9
|
+
IMPLIED. IN NO EVENT SHALL OPTICELL LIMITED BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
10
|
+
OTHER LIABILITY ARISING FROM THE SOFTWARE OR ITS USE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,160 @@
|
|
|
1
|
-
#
|
|
1
|
+
# WorkFlow Companion
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Lets **Claude on Windows or Linux** work in your WorkFlow tasks, notes and
|
|
4
|
+
projects: reading the queue, replying in threads, ticking checklists, filing
|
|
5
|
+
notes, updating documents. It works in Claude Code, Claude Desktop, or any MCP
|
|
6
|
+
client.
|
|
7
|
+
|
|
8
|
+
Free. It needs **WorkFlow 5.2 or later on an iPhone, iPad or Mac**, which does
|
|
9
|
+
the actual work. No Mac needed:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Claude ──MCP──▶ companion ──▶ your private iCloud ──▶ WorkFlow on your iPhone, iPad or Mac
|
|
13
|
+
◀── receipt + fresh snapshot
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The companion never edits your WorkFlow data itself. It leaves commands in a
|
|
17
|
+
zone of your own private iCloud database. WorkFlow applies them with the same
|
|
18
|
+
checks as the app (read-only trial gate, email permission, the agent's
|
|
19
|
+
signature) and lists every one in **Command History**. Nothing passes through
|
|
20
|
+
Opticell's servers.
|
|
21
|
+
|
|
22
|
+
**Which device answers.** A Mac with WorkFlow open answers within seconds. An
|
|
23
|
+
iPhone or iPad answers when iOS lets WorkFlow run: usually within minutes,
|
|
24
|
+
sometimes only when you next open it, and not while WorkFlow has been swiped
|
|
25
|
+
away in the app switcher. With both switched on, the Mac answers while it's
|
|
26
|
+
awake and the iPhone stands by. Every command is applied exactly once, however
|
|
27
|
+
many devices are on.
|
|
28
|
+
|
|
29
|
+
## Set up
|
|
30
|
+
|
|
31
|
+
1. In WorkFlow on an iPhone or iPad: **Settings → Windows Companion → Answer
|
|
32
|
+
the Companion**. On a Mac: **Settings → Agent Bridge**, then the Agent
|
|
33
|
+
Bridge and **Cloud Bridge** switches.
|
|
34
|
+
2. On this computer, with Node 18 or later:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
npx -y @opticell/workflow-companion setup
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
It opens <https://companion.opticell-limited.com> to sign in with the
|
|
41
|
+
Apple Account WorkFlow uses on your iPhone or Mac, then asks you to paste the token that
|
|
42
|
+
page shows.
|
|
43
|
+
3. Add it to Claude:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
claude mcp add --scope user workflow -- npx -y @opticell/workflow-companion
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`--scope user` makes it available in every project on this computer.
|
|
50
|
+
|
|
51
|
+
**Claude Desktop** needs no terminal. Download `WorkFlow.mcpb` from the
|
|
52
|
+
product page and double-click it. Then sign in at
|
|
53
|
+
<https://companion.opticell-limited.com> and paste the token into
|
|
54
|
+
**Settings → Extensions → WorkFlow Companion → Sign-in token**.
|
|
55
|
+
|
|
56
|
+
Check it any time with `npx -y @opticell/workflow-companion status`.
|
|
57
|
+
|
|
58
|
+
## Its name
|
|
59
|
+
|
|
60
|
+
Setup asks what Claude on this computer should be called in WorkFlow
|
|
61
|
+
("Companion" unless you choose, e.g. `--name Server`). That name is how work
|
|
62
|
+
reaches it rather than the Mac's own Claude:
|
|
63
|
+
|
|
64
|
+
- **Assign a task** to it. WorkFlow offers the name once it has heard from
|
|
65
|
+
the companion, and the Ask sheet lets you pick it.
|
|
66
|
+
- **Write `@Server`** in a comment or a note. A mention in a *shared*
|
|
67
|
+
project's thread doesn't count, because other people can write there.
|
|
68
|
+
- What it writes is **signed with its name**, so a thread shows which Claude
|
|
69
|
+
did what.
|
|
70
|
+
- **One name, one computer.** Setup refuses a name another computer already
|
|
71
|
+
answers to, and asks for another. Every command is checked the same way,
|
|
72
|
+
which covers Claude Desktop, where the name is a setting. Use
|
|
73
|
+
`setup --takeover` when this computer replaces the other one. A name frees
|
|
74
|
+
up by itself once its computer has been silent for two weeks.
|
|
75
|
+
- `@Claude` always means Claude on the Mac. A companion can't take that name,
|
|
76
|
+
and mentions match whole words only, so `@Claude2` never wakes the Mac.
|
|
77
|
+
|
|
78
|
+
Claude Desktop users set the name in the extension's settings.
|
|
79
|
+
|
|
80
|
+
## Working on its own
|
|
81
|
+
|
|
82
|
+
With waking on, `@Server` from the app is enough: nobody has to be at this
|
|
83
|
+
computer. Turn it on once Claude Code is installed and signed in here:
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
npx -y @opticell/workflow-companion wake-on
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
- **Every 2 minutes** a hidden scheduled job (Task Scheduler on Windows, cron
|
|
90
|
+
elsewhere) checks this name's queue in iCloud. That's one small call; the
|
|
91
|
+
task list is downloaded only when it changed.
|
|
92
|
+
- **New work starts one Claude Code session** (`claude -p`, no window). It
|
|
93
|
+
reads the task, comments that it's picked it up (your phone shows
|
|
94
|
+
"Server is on it"), does the work and replies in the thread.
|
|
95
|
+
- **What counts as new:** a task newly assigned to the name, a new `@Server`
|
|
96
|
+
comment from a person, a person's follow-up on an assigned task, or an
|
|
97
|
+
edited note that mentions it. Its own replies never wake it.
|
|
98
|
+
- **Handled once.** One session at a time; work already handled never starts
|
|
99
|
+
another. A session that couldn't start at all (not signed in to Claude, a
|
|
100
|
+
usage limit) is retried twice more, then says so in the thread.
|
|
101
|
+
- **A time limit**, 45 minutes by default (`--max-minutes`). A session stopped
|
|
102
|
+
by it says so in the thread.
|
|
103
|
+
- **What it may do.** By default only the WorkFlow tools (`mcp__workflow`):
|
|
104
|
+
reading tasks and replying. To let it run commands on this computer, pass
|
|
105
|
+
`--allow-tools "mcp__workflow Bash Read"` (any Claude Code permission rules).
|
|
106
|
+
Anyone who can write `@Server` in your WorkFlow could then run commands
|
|
107
|
+
here, so decide that deliberately. Shared projects never reach it.
|
|
108
|
+
- **Windows:** a scheduled task normally runs only while the user is logged
|
|
109
|
+
in. To run while logged off, change the task "WorkFlow Companion wake" to
|
|
110
|
+
"Run whether user is logged on or not" in Task Scheduler.
|
|
111
|
+
- `--workdir` sets the folder sessions start in (your home folder otherwise),
|
|
112
|
+
`--model` the Claude model, `--claude` the path to Claude Code if it isn't
|
|
113
|
+
found. `--skip-existing` treats what's already queued as handled.
|
|
114
|
+
- The log is `~/.workflow-companion/wake.log`. `wake-off` stops it all.
|
|
115
|
+
|
|
116
|
+
## Commands
|
|
117
|
+
|
|
118
|
+
| | |
|
|
119
|
+
|---|---|
|
|
120
|
+
| `workflow-companion` | Runs the MCP server. This is what Claude starts. |
|
|
121
|
+
| `workflow-companion setup` | Signs this computer in. Takes `--web-token` to skip the prompt. |
|
|
122
|
+
| `workflow-companion status` | Which device answers, how fresh the snapshot is, any receipts that arrived late. |
|
|
123
|
+
| `workflow-companion keepalive` | Renews the sign-in. The scheduled job runs this. |
|
|
124
|
+
| `workflow-companion wake-on` | Starts a Claude Code session on its own when work for its name arrives. See above. |
|
|
125
|
+
| `workflow-companion wake-off` | Stops that. Work waits until you ask Claude here. |
|
|
126
|
+
| `workflow-companion wake` | One check of the queue. The scheduled job runs this. |
|
|
127
|
+
| `workflow-companion signout` | Deletes the sign-in, cached data and both scheduled jobs. |
|
|
128
|
+
|
|
129
|
+
## Worth knowing
|
|
130
|
+
|
|
131
|
+
- **Something has to be answering.** A command sent while nothing is waits in
|
|
132
|
+
iCloud and runs when WorkFlow next looks. The tool says so, and its receipt
|
|
133
|
+
shows later in `workflow_state`.
|
|
134
|
+
- **Reads come from a snapshot.** WorkFlow publishes it a few seconds after each
|
|
135
|
+
change, so a read straight after a write can lag slightly.
|
|
136
|
+
- **Files don't travel yet.** Attaching a file, or adding a new version of a
|
|
137
|
+
document, has to be done in WorkFlow itself.
|
|
138
|
+
- **The token is a password.** `~/.workflow-companion/token.txt` opens your
|
|
139
|
+
WorkFlow data in iCloud. Apple replaces it on every request, and the
|
|
140
|
+
companion saves each replacement at once. Several Claude sessions on one
|
|
141
|
+
computer can share it: they take turns. Don't copy it to another machine.
|
|
142
|
+
Each computer should run its own `setup`.
|
|
143
|
+
- **Keep-alive.** Apple ends a sign-in left unused for somewhere between 9 and
|
|
144
|
+
14 hours. The companion renews it every two hours while Claude has it
|
|
145
|
+
running. Setup also schedules `workflow-companion keepalive` every three
|
|
146
|
+
hours: in Task Scheduler on Windows (it runs without a console window) or
|
|
147
|
+
in cron elsewhere. `signout` removes that schedule; `--no-schedule` skips it.
|
|
148
|
+
- **"Sign in again"** means Apple ended the session (HTTP 401/421), for
|
|
149
|
+
example after the computer was off for a long time. Run `setup` again.
|
|
150
|
+
|
|
151
|
+
## Tools
|
|
152
|
+
|
|
153
|
+
The same 29 tools as the Mac's Agent Bridge MCP server, including:
|
|
154
|
+
`workflow_queue`, `workflow_get_task`, `workflow_comment`,
|
|
155
|
+
`workflow_set_status_line`, `workflow_check_subtasks`, `workflow_update_task`,
|
|
156
|
+
`workflow_create_task`, `workflow_list_notes`, `workflow_reply_note`,
|
|
157
|
+
`workflow_list_projects`, `workflow_list_documents`, `workflow_update_document`,
|
|
158
|
+
`workflow_draft_email` and `workflow_state`.
|
|
159
|
+
|
|
160
|
+
© Opticell Limited · <https://www.opticell-limited.com/companion>
|