Skip to content

fiddle-tools/testlify-openclaw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

testlify-openclaw

OpenClaw agent config + skills for Testlify sales outreach. Runs on OpenClaw.cloud.

Replaces: Mac Studio (Mac Mini M1 Max) running local Ollama.

What changed vs Mac Studio

Problem Fix
Hallucinations (local Ollama 8b) GLM-4-plus via ZhipuAI API — much stronger, cloud-hosted
Electricity outages OpenClaw.cloud VM — always on
Duplicate LinkedIn sends File-based dedup: ~/.openclaw/workspace/.deduplication/sent_tasks.json
Half-written emails Content validation in skill (min 50 chars, not truncated)
Too slow Cloud API inference vs local 8b

Repo structure

skills/
  testlify-outreach/SKILL.md        # Gmail + LinkedIn send logic (improved)
  testlify-reply-monitor/SKILL.md   # Inbox monitoring (from Mac Studio)
  testlify-report/SKILL.md          # HubSpot reports (from Mac Studio)
config/
  openclaw.json.template            # GLM-4 provider + browser profiles + cron
scripts/
  fetch-tasks.sh                    # Helper to check task queue
setup.sh                            # Install skills + inject GLM key
transfer-profiles.sh                # Migrate Chrome profiles from Mac Studio

Deploy to OpenClaw.cloud

1. Get VM

Sign up at open.claw.cloud. Recommended: Plus plan ($9.99/mo).

2. SSH into VM

ssh openclaw@<your-vm-ip>
# IP available at: Settings → SSH Access in OpenClaw dashboard

3. Clone and run setup

cd ~
git clone https://github.com/testlify/testlify-openclaw.git
cd testlify-openclaw
GLM_API_KEY=your-zhipuai-key bash setup.sh

Get your ZhipuAI key at open.bigmodel.cn.

4. Configure model in OpenClaw dashboard

In the OpenClaw.cloud dashboard:

  1. Go to Settings → Models
  2. Set default model to GLM-4 Plus (zhipuai/glm-4-plus)
  3. Outreach cron uses glm-4-plus (smart), reply monitor uses glm-4-flash (fast)

5. Transfer browser profiles from Mac Studio

Browser profiles have logged-in Gmail + LinkedIn sessions. Transfer them so reps don't have to log in again:

# Run from your local machine (has SSH to both)
MAC_STUDIO_HOST=100.80.23.119 \
CLOUD_VM_HOST=<your-vm-ip> \
bash transfer-profiles.sh

If you'd rather log in fresh on the cloud VM, use the OpenClaw browser UI (accessible in their dashboard) to log into each rep's Gmail and LinkedIn.

6. Verify cron jobs

In OpenClaw dashboard → Schedule:

  • testlify-outreach — every 30min — model: glm-4-plus
  • testlify-reply-monitor — every 15min — model: glm-4-flash

If crons aren't there, add them manually with the payloads from config/openclaw.json.template.

7. Test

# Manually trigger once
openclaw run testlify-outreach

Watch the output — should see: fetch task → validate → browser navigate → send → report result → update dedup file.


Model routing

Task Model Why
Outreach execution (browser reasoning) glm-4-plus Needs to read page snapshots accurately
Reply monitoring (14 profiles) glm-4-flash Speed matters, decisions are simpler
Email content Pre-generated by webhook-runner (OpenAI) No change needed

Cron schedule

Job Interval Model
testlify-outreach every 30min glm-4-plus
testlify-reply-monitor every 15min glm-4-flash

Deduplication

Sent tasks stored at ~/.openclaw/workspace/.deduplication/sent_tasks.json. Reply dedup at ~/.openclaw/workspace/.deduplication/replies.json.

Both files persist across agent restarts. If you need to re-process a task, remove its taskId from sent_tasks.json.


Updating skills

# Pull latest from repo
cd ~/testlify-openclaw && git pull

# Re-deploy
bash setup.sh

No restart needed — OpenClaw reads SKILL.md at runtime.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages