@rubytech/taskmaster 1.10.0 → 1.11.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/dist/agents/skills/workspace.js +2 -0
- package/dist/agents/tools/apikeys-tool.js +2 -2
- package/dist/build-info.json +3 -3
- package/dist/config/defaults.js +1 -1
- package/dist/control-ui/assets/{index-n_TWBBTg.css → index-CpaEIgQy.css} +1 -1
- package/dist/control-ui/assets/{index-CTFFQkyj.js → index-YAjVyXqJ.js} +705 -704
- package/dist/control-ui/assets/index-YAjVyXqJ.js.map +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/cron/preloaded.js +92 -0
- package/dist/gateway/public-chat/deliver-email.js +66 -14
- package/dist/gateway/public-chat/deliver-otp.js +7 -7
- package/dist/gateway/public-chat-api.js +2 -2
- package/dist/gateway/server-methods/apikeys.js +1 -1
- package/dist/gateway/server-methods/public-chat.js +1 -1
- package/dist/gateway/server-methods/qr.js +19 -0
- package/dist/gateway/server-methods.js +3 -0
- package/dist/gateway/server.impl.js +26 -1
- package/dist/wizard/onboarding.js +7 -0
- package/package.json +1 -3
- package/skills/brevo/SKILL.md +29 -0
- package/skills/brevo/references/browser-setup.md +113 -0
- package/skills/strategic-proactivity/SKILL.md +45 -0
- package/skills/strategic-proactivity/cron-template.json +21 -0
- package/skills/strategic-proactivity/references/daily-review.md +64 -0
- package/taskmaster-docs/USER-GUIDE.md +49 -4
- package/dist/control-ui/assets/index-CTFFQkyj.js.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Daily Review Protocol
|
|
2
|
+
|
|
3
|
+
Run this protocol on schedule or when triggered by an admin. Be thorough in analysis but concise in output.
|
|
4
|
+
|
|
5
|
+
## Step 1: Conversation Scan
|
|
6
|
+
|
|
7
|
+
Search all sessions from the review period (typically last 24 hours):
|
|
8
|
+
- Public agent conversations (customer enquiries, feedback, objections)
|
|
9
|
+
- Admin conversations (decisions, strategy discussions, new directions)
|
|
10
|
+
- Group chats (partner feedback, team discussions)
|
|
11
|
+
|
|
12
|
+
**What to look for:**
|
|
13
|
+
- Questions the public agent couldn't answer or answered poorly — content gap
|
|
14
|
+
- Pain points or frustrations mentioned repeatedly — messaging opportunity
|
|
15
|
+
- New use cases, verticals, or audiences mentioned — market intel
|
|
16
|
+
- Objections raised that aren't addressed in existing materials — sales gap
|
|
17
|
+
- Positive feedback or testimonials — social proof opportunity
|
|
18
|
+
- Contact or relationship signals — relationship development
|
|
19
|
+
|
|
20
|
+
## Step 2: Materials Audit
|
|
21
|
+
|
|
22
|
+
Search memory for the business's existing materials — documents, FAQs, guides, outreach trackers, website copy, pitch materials, training content, or anything the business maintains.
|
|
23
|
+
|
|
24
|
+
Compare findings from Step 1 against those materials:
|
|
25
|
+
- Are common questions covered in published content?
|
|
26
|
+
- Does the public-facing copy still reflect current positioning and offerings?
|
|
27
|
+
- Are contact lists and outreach records current?
|
|
28
|
+
- Are any working hypotheses or strategies validated or invalidated by recent conversations?
|
|
29
|
+
|
|
30
|
+
Don't assume which materials exist — discover them by searching memory.
|
|
31
|
+
|
|
32
|
+
## Step 3: Opportunity Tracking
|
|
33
|
+
|
|
34
|
+
Check for signals:
|
|
35
|
+
- Inbound enquiries from unexpected verticals or audiences
|
|
36
|
+
- Partners or contacts mentioning specific needs the business could serve
|
|
37
|
+
- Competitors mentioned in conversations
|
|
38
|
+
- Pricing feedback or willingness-to-pay signals
|
|
39
|
+
- Feature or service requests that indicate market direction
|
|
40
|
+
|
|
41
|
+
## Step 4: Draft Improvements
|
|
42
|
+
|
|
43
|
+
For each gap or opportunity found:
|
|
44
|
+
1. Write the actual content (FAQ entry, pitch angle, email draft, updated copy)
|
|
45
|
+
2. Save to memory for admin review
|
|
46
|
+
3. Include in the summary with a one-line description
|
|
47
|
+
|
|
48
|
+
**Don't just flag — fix.** Admin reviews and approves; you do the drafting.
|
|
49
|
+
|
|
50
|
+
## Step 5: Relationship Check
|
|
51
|
+
|
|
52
|
+
Review active relationships:
|
|
53
|
+
- Any contacts who haven't responded in 7+ days? Flag for follow-up
|
|
54
|
+
- Any new contacts who need onboarding or introductory materials?
|
|
55
|
+
- Any partners or collaborators who gave feedback that needs acting on?
|
|
56
|
+
|
|
57
|
+
## Step 6: Housekeeping
|
|
58
|
+
|
|
59
|
+
Scan scheduled jobs (cron) and clean up any that are in the past and not set to recur.
|
|
60
|
+
|
|
61
|
+
## Step 7: Summary Output
|
|
62
|
+
|
|
63
|
+
Compose the summary following the format defined in SKILL.md.
|
|
64
|
+
The cron job or admin session takes care of delivery.
|
|
@@ -25,10 +25,12 @@ If you received a Taskmaster device:
|
|
|
25
25
|
|
|
26
26
|
> **WiFi:** Your device needs an internet connection. You can plug a network cable directly into it to get started, then connect to WiFi from the Control Panel (see "WiFi" below). Need help? Message us on WhatsApp at **+44 7591 215452** or visit [taskmaster.bot](https://www.taskmaster.bot/).
|
|
27
27
|
|
|
28
|
-
Then open your web browser on any device connected to the same WiFi and go to:
|
|
28
|
+
Then open your web browser on any device connected to the same WiFi network and go to:
|
|
29
29
|
|
|
30
30
|
**http://taskmaster.local:18789**
|
|
31
31
|
|
|
32
|
+
> **Same network required:** The `.local` address only works when your phone/laptop and the Taskmaster device are on the **same network subnet**. If the Pi is plugged into Ethernet and your phone is on WiFi, some routers put them on separate subnets — in that case, connect the Pi to WiFi instead (see "WiFi" below), or connect both devices to the same wired or wireless network.
|
|
33
|
+
|
|
32
34
|
### Option B: Install on a Raspberry Pi (or any Linux OS) yourself
|
|
33
35
|
|
|
34
36
|
You'll need a Raspberry Pi running Raspberry Pi OS with an internet connection (ethernet or WiFi).
|
|
@@ -46,6 +48,8 @@ curl -fsSL https://taskmaster.bot/install.sh | sudo bash
|
|
|
46
48
|
4. Open a browser on any device on the same Wi-Fi network and go to: **http://taskmaster.local:18789/setup**
|
|
47
49
|
|
|
48
50
|
> After installation, Taskmaster runs in the background and starts automatically when the Pi restarts. It can take up to 2 minutes to come back online after a power cycle. You can disconnect the monitor and keyboard.
|
|
51
|
+
>
|
|
52
|
+
> **Same network required:** The `.local` address only works when your phone/laptop and the Taskmaster device are on the **same network subnet**. If the Pi is on Ethernet and your phone is on WiFi, some routers put them on separate subnets — in that case, connect the Pi to WiFi instead (see "WiFi" below), or ensure your router bridges Ethernet and WiFi onto the same subnet.
|
|
49
53
|
|
|
50
54
|
### Option C: Install on a Mac
|
|
51
55
|
|
|
@@ -502,6 +506,19 @@ Your assistant learns your customers, their service history, and your pricing th
|
|
|
502
506
|
|
|
503
507
|
All outreach messages are sent as your assistant — customers reply normally and the conversation continues.
|
|
504
508
|
|
|
509
|
+
### Daily Strategic Review
|
|
510
|
+
|
|
511
|
+
Taskmaster ships with a pre-configured Daily Strategic Review that analyses your recent conversations, audits your business materials, and suggests improvements. It runs as a scheduled event but is **paused by default** — you choose when to enable it.
|
|
512
|
+
|
|
513
|
+
**To enable:**
|
|
514
|
+
1. Open the Control Panel
|
|
515
|
+
2. Go to **Advanced** → **Events**
|
|
516
|
+
3. Find **🔭 Daily Strategic Review** and enable it
|
|
517
|
+
|
|
518
|
+
Once enabled, the review runs daily at 7:00 AM (your device's timezone). Results appear in the web chat, and are also sent via WhatsApp if you have an admin phone number connected.
|
|
519
|
+
|
|
520
|
+
You can edit the schedule, change the time, or disable it at any time from the Events tab.
|
|
521
|
+
|
|
505
522
|
### Conversations & Sessions
|
|
506
523
|
|
|
507
524
|
Your assistant has full access to conversation history across all channels — WhatsApp, webchat, iMessage, and group chats. It can find specific messages, review entire conversations, and give you an overview of all activity.
|
|
@@ -948,6 +965,12 @@ sudo sed -i "s/127\.0\.1\.1.*/127.0.1.1\tdave/" /etc/hosts
|
|
|
948
965
|
sudo systemctl restart avahi-daemon
|
|
949
966
|
```
|
|
950
967
|
|
|
968
|
+
> **Chromium lock after hostname change:** If Chromium is installed on the Pi and won't launch after changing the hostname (error: "profile appears to be in use by another Chromium process on another computer"), the old hostname left a stale lock file. Fix:
|
|
969
|
+
> ```bash
|
|
970
|
+
> rm -rf ~/.config/chromium/Singleton*
|
|
971
|
+
> chromium
|
|
972
|
+
> ```
|
|
973
|
+
|
|
951
974
|
**Changing the hostname (macOS):**
|
|
952
975
|
|
|
953
976
|
```bash
|
|
@@ -975,7 +998,7 @@ After flushing, open your browser and navigate to the new URL (e.g. `http://dave
|
|
|
975
998
|
If the Pi checks pass but the control panel still doesn't load from another device:
|
|
976
999
|
|
|
977
1000
|
1. **Use the IP address directly** — on the Pi, run `hostname -I` to get its IP address, then open `http://192.168.1.XXX:18789` (use your IP and port) from the other device. If this works, the problem is mDNS resolution, not the gateway.
|
|
978
|
-
2. **Check you're on the same
|
|
1001
|
+
2. **Check you're on the same subnet** — mDNS only works between devices on the same network subnet. It won't work across separate subnets, VLANs, or guest networks. A common cause: the Pi is on Ethernet while your device is on WiFi, and your router assigns them to different subnets. Check by comparing the first three groups of your IP addresses (e.g. if the Pi is `192.168.88.4` and your laptop is `192.168.10.172`, they're on different subnets).
|
|
979
1002
|
3. **Contact support** with: what you changed (port/hostname), the output of `hostname`, `grep 127.0.1.1 /etc/hosts`, and `taskmaster daemon status`.
|
|
980
1003
|
|
|
981
1004
|
### Static IP Address
|
|
@@ -999,11 +1022,11 @@ This is entirely optional and is a network preference, not a Taskmaster requirem
|
|
|
999
1022
|
|
|
1000
1023
|
If you can't load the Control Panel in your browser:
|
|
1001
1024
|
|
|
1002
|
-
1. **Same
|
|
1025
|
+
1. **Same subnet?** — Your phone/laptop and Taskmaster must be on the **same network subnet**. The `.local` address uses mDNS, which only works between devices on the same subnet. Common pitfall: the Pi is plugged into Ethernet while your phone is on WiFi, and your router puts them on different subnets (e.g. `192.168.88.x` vs `192.168.10.x`). Fix: connect the Pi to WiFi instead, or ensure both are on the same network. See "WiFi (Raspberry Pi)" above
|
|
1003
1026
|
2. **Check the URL** — go to **http://taskmaster.local:18789** (the browser will redirect to HTTPS automatically). If you see a certificate warning, see "Secure Connection (HTTPS)" above
|
|
1004
1027
|
3. **Wait for boot** — after powering on the device, it takes 2–3 minutes for everything to start. If you just plugged it in, give it a moment
|
|
1005
1028
|
4. **Try a different browser** — some browsers (especially on older devices) have trouble with `.local` addresses. Try Chrome or Safari
|
|
1006
|
-
5. **Use the IP address** — if `.local` doesn't resolve, find the device's IP address on your router and go to `http://<ip-address>:18789` instead
|
|
1029
|
+
5. **Use the IP address** — if `.local` doesn't resolve, find the device's IP address on your router's admin page and go to `http://<ip-address>:18789` instead
|
|
1007
1030
|
|
|
1008
1031
|
### Messages not getting through?
|
|
1009
1032
|
|
|
@@ -1435,6 +1458,28 @@ A chat button appears in the bottom-right corner of the page. Clicking it opens
|
|
|
1435
1458
|
|
|
1436
1459
|
You can optionally set colours to match your website: `color` controls the floating chat button, and `bgColor` controls the chat overlay background. If you've set up branding on the Setup page, the widget uses your brand colours automatically — these init options override them if provided.
|
|
1437
1460
|
|
|
1461
|
+
> **Tip:** On the Setup page, the **Public Chat** status card has a **Widget Code** button that generates the embed snippet for you — just copy and paste it into your website.
|
|
1462
|
+
|
|
1463
|
+
### Visitor Verification
|
|
1464
|
+
|
|
1465
|
+
By default, anyone who opens the public chat can start a conversation immediately (anonymous mode). If you want to verify visitors before they chat — for example, to collect contact details or reduce spam — you can enable identity verification.
|
|
1466
|
+
|
|
1467
|
+
1. Go to the **Setup** page
|
|
1468
|
+
2. Find the **Public Chat** status card
|
|
1469
|
+
3. Click the settings icon to open the verification settings modal
|
|
1470
|
+
4. Choose a verification method:
|
|
1471
|
+
|
|
1472
|
+
| Method | How it works | What you need |
|
|
1473
|
+
|--------|-------------|---------------|
|
|
1474
|
+
| **Anonymous** | No verification — visitors chat immediately | Nothing (default) |
|
|
1475
|
+
| **Email OTP** | Visitors enter their email, receive a one-time code | A [SendGrid](https://sendgrid.com) API key and a verified sender (free tier available). The sender address is configured in SendGrid, not in Taskmaster. |
|
|
1476
|
+
| **SMS OTP** | Visitors enter their phone number, receive a one-time code | [Twilio](https://twilio.com) account SID, auth token, and a Twilio phone number |
|
|
1477
|
+
|
|
1478
|
+
5. Enter your provider credentials — for email, add the SendGrid API key in the **API Keys** section on the Setup page; for SMS, enter Twilio credentials in the SMS Fallback fields
|
|
1479
|
+
6. Settings auto-save when you leave each field
|
|
1480
|
+
|
|
1481
|
+
Once enabled, visitors must authenticate before they can send their first message. Verified contact details are stored and available to the agent via the `verify_contact` tool, so your assistant knows who it's talking to.
|
|
1482
|
+
|
|
1438
1483
|
---
|
|
1439
1484
|
|
|
1440
1485
|
## Chat Commands
|