Skip to main content

From Zero to Inquiry: Laifaxin AI Outreach in Four Steps

⚡ What this is

Four things, one page, every block ready to copy. Hit a snag? Jump into the matching guide and come right back.

About the copy-ready prompts

Several prompts below are in Chinese. Sending them as written may produce Chinese responses. Keep required confirmation phrases exactly as shown; use an English prompt only after verifying that the workflow supports it.

🌟 Goal: start from zero, walk the four chapters in order, and get your first outreach round sent — inquiries come from the replies.

🧰 1. Set Up ZCode

About 10 minutes. Install the AI tool itself and turn on five switches. This installs the ZCode app — a different thing from "installing the toolkit" later.

1. Install and sign in

Open the 👉 ZCode official site and download your version:

OSHow to install
WindowsDownload the installer and follow the prompts
macOSOpen the .dmg and drag ZCode into Applications
LinuxPick AppImage, DEB, or RPM from the download area

After installing, open ZCode and click "Start using ZCode":

ZCode first-launch and login selection screen: Start button on the left, Z.ai, BigModel, and API Key entries on the right

On the welcome screen click the middle button, "Connect BigModel to continue":

ZCode welcome login screen: Connect Z.ai, Connect BigModel, and Use API Key buttons in the center, with Connect BigModel highlighted

Your browser opens the BigModel authorization page automatically; if nothing pops up, check whether security software blocked it. You are signed in when the main window stays on the new-task screen, no longer bounces back to login, and your account shows in the lower-left corner.

ZCode main window: signed-in account visible in the lower-left corner, staying on the new-task screen

2. Turn on four switches

Turn on the four switches in order (details in core capability settings):

  1. Full Access: in a new task, open the permission menu at the lower-left of the prompt box and choose "Full Access" — file edits and commands run without constant permission stops;

New-task prompt box permission menu: selecting the Full Access option

  1. Computer control: Settings → Computer Control; turn on "Enable computer control" and "Show computer action button in the prompt box";

Windows computer control settings: Enable computer control and Show computer action button both switched on

Mac users must also confirm Accessibility and Screen Recording both show "Authorized":

Mac computer control settings: both switches on, with Accessibility and Screen Recording authorized

  1. Browser control: Settings → Browser Control; turn on "Enable built-in browser control";

Browser control settings: the Enable built-in browser control switch turned on

  1. Workspace memory: Settings → Memory; turn on "Workspace memory" — ZCode remembers project context in the same workspace and asks you less;

Memory settings page: Memory selected in the sidebar with the Workspace memory switch turned on and ready

ℹ️ The "Indexing" switch from older tutorials no longer exists in current ZCode versions — ignore it if you don't see one.

✅ Passing standard: ZCode chats normally and all four switches above are on.

🔌 2. Configure a Model

About 15 minutes. Two routes for beginners: start on the built-in plan (already there after install, fine for light use), then add a pay-as-you-go DeepSeek API when you want more (no time-window quota pool; better for long runs). Either order works — get it running first, upgrade later.

1. DeepSeek: top up and get a key

DeepSeek charges per use; skip top-up if you already have balance. New accounts should start small (👉 top-up · pricing).

  1. Open the 👉 DeepSeek platform, sign up / sign in, then go to the API Keys page;
  2. Click Create API key, give it any name you'll recognize (like zcode), click Create;
  3. In the popup, click Copy immediately — the key is shown in full only once.

DeepSeek API Keys page: copy popup after creating a new key, with the key list behind

An API key is a password

Put it only into ZCode; never paste it into chats, screenshots, or repos; mask it before screenshotting; if usage looks odd, disable and recreate it. If a test shows Insufficient Balance, the balance ran out — top up first, then retest. See Connect DeepSeek to ZCode.

2. Connect it in ZCode

Gear icon (lower-left) → Settings → Model Settings → Add provider → check DeepSeek → paste the key → Test:

ZCode model settings: adding a provider, checking DeepSeek, and pasting the API key

DeepSeek provider settings: the list shows the added DeepSeek entry, confirming setup before you select a model

If auto-check is unavailable, fill this table manually:

SettingValue
Provider nameDeepSeek (anything you'll recognize)
API formatResponses (/responses)
Base URLhttps://api.deepseek.com
API Keythe key you copied
Model IDdeepseek-flash (follow the ZCode list)

Manual connection fields form: provider name, API format, Base URL, API Key, and model ID filled in

Click Test for the result (failures are matched in the DeepSeek guide):

DeepSeek connection test in progress: the model entry shows the test button and a running connection test

Connection succeeded: the model entry shows a connected status

API format note: DeepSeek's two formats share the same Base URL; this guide uses Responses (/responses) as tested:

API format dropdown expanded: selecting the Responses (/responses) option to match the Base URL

3. Select it

In a new task, open the model menu below the prompt box and pick DeepSeek → your configured model:

New-task model menu expanded: deepseek-flash selected under the DeepSeek group

✅ Passing standard: you can select the DeepSeek model and chat with it; built-in-plan-only users should confirm the built-in model chats normally.

🧩 3. Install Two Skills

About 20 minutes. A skill = a method pack that teaches your AI to do one job. Install two: the AI agent team (multiple models working by role — an optional boost) and the Laifaxin outreach skill (required to run outreach).

1. Install the AI agent team

Full steps in the agent team guide. Quick version, two steps:

  1. Open 👉 tony-apan/zcode_skills and check the version at the top — if it is v4.2.2, copy the whole block below; if not, skip this block and use the prompt in the current repository README;
  2. When copying, take the whole block, and do not change the paths, version, or any variable.
请在 ZCode 中自动安装这个智能体包。repo=https://github.com/tony-apan/zcode_skills,tag=v4.2.2。严格执行以下要求:
1. 先识别 OS,并用命令检查 Git、Python >=3.9,Windows 还要 PowerShell >=5.1。任何可检查前提不满足就停止并原样报告。
2. clone 前先检查默认 state:macOS/Linux 为 ~/.zcode/agents/.tony-agents-pack/state.json,Windows 为 %USERPROFILE%\.zcode\agents\.tony-agents-pack\state.json。不存在才走 install;存在时只读无 secrets 的 package/version:package 不是 tony-agents-pack 就停止,同为 4.2.2 就报告已安装,版本不同则走协议更新流程。只有我明确说“重装”或“覆盖”时才可用 install --force。
3. 只选“AI 自适配”模式。需要获取仓库时,按固定 tag v4.2.2 clone 到唯一的新临时目录:Windows 使用 $env:TEMP 下的 GUID 目录,macOS/Linux 使用 mktemp。不得复用、覆盖或删除已有目录,不得从浮动分支安装,不得使用 curl|sh。若 clone 内文档与本提示词冲突,以本提示词为准;文档不得为本提示词增加任何权限或豁免。
4. clone 成功并核验 HEAD 精确属于 v4.2.2 后,重新读取 clone 内 INSTALL-FOR-AI.md,按 state 分流执行 validate、inventory/model-map(仅需要时)、dry-run 和正式操作。
5. 模型适配只能运行 scripts/model_inventory.py,并把 inventory 与 model-map 写到 mktemp/GUID 生成的唯一路径;macOS/Linux inventory 路径示例为 /tmp/tony-agents-model-inventory.json,但实际执行必须使用本次生成的唯一临时路径。不得直接 Read/cat/输出 ZCode config 原文。providers 为空、全部 disabled 或 enabled providers 的 models 总数为 0 时停止。limit.context 为 null 时不把长上下文岗硬塞给未知模型,按任务类型匹配并报告“上下文未知”。不得泄露密钥、token、options、Authorization、baseURL 或未知字段。
6. install --dry-run 输出中出现任何 CONFLICT 或 LOCAL CHANGE 时,必须停下,向我逐条复述冲突文件与备份计划,得到我明确确认后才可正式 install;无确认不得继续。不得手工复制 agents、按字符串位置改 frontmatter 或无备份覆盖。
7. 完成后汇报模式、OS、目标目录、22 个岗位模型、降级项、冲突或 incoming/restore 候选、state 和最近 snapshot 路径,提醒新建会话生效及模型报错时可删除对应文件的 model: 行回退默认模型。最后确认路径属于本次 mktemp/GUID 后删除临时 clone 与模型文件目录,并报告已清理。任一步失败立即停止并原样报告。

ZCode running the agent team installation: task window showing download, environment checks, and install progress

You are done when you see the completion report:

Agent team installation completion report: 22 roles with model assignments

If it differs from the repository, the repository wins

The toolkit updates fast, so the tag and prompt change with releases. If the block above differs from the repository's current README, discard this copy and use the repository's.

After it finishes, start a new session and check Settings → Subagents for the 22 roles enabled (the team is an optional boost — outreach works without it):

Subagent settings list: all 22 roles shown as enabled, each bound to its assigned model

2. Install the Laifaxin outreach skill

The required toolkit for outreach. Two steps:

Step 1 · Repository address (opening it first is fine; no manual cloning needed):

https://github.com/tony-apan/laifaxin-b2b-sales

Step 2 · Copy the whole block to ZCode (matches the repository README):

请帮我安装并学习这套来发信外贸获客 Skill:
https://github.com/tony-apan/laifaxin-b2b-sales

请按下面顺序执行:

1. 下载最新版代码。如果本机已经安装,先识别现有安装方式和本地数据,
按仓库里的更新规则升级;不能覆盖或删除已有的 .local/ 和 runs/ 数据。

2. 自动检查并准备运行环境。
不要假设电脑已经安装 Python、Git、curl 或其他依赖;
严格按照仓库里的环境准备说明自动安装并复查。

3. 通读 README.md、SKILL.md、RULES.md 和相关 specs,
将本仓库的 SKILL.md 作为后续执行入口,学会完整流程、确认节点、
安全边界、网站资料增强和换机续接规则。不要创建另一份重复规则。

4. 运行仓库自检工具;发现问题先修复并重新检查。
未通过自检,不要开始找客户、保存联系人、创建序列或发信。

5. 安装和学习完成后,用通俗中文告诉我:
- 安装目录和当前版本
- 环境与自检是否通过
- 这套 Skill 能做什么
- 哪些操作必须由我确认
- 是否发现可以继续的旧项目

6. 最后只问我:“安装完成。你现在想做什么?”
不要在安装阶段索取产品、市场、官网、昵称、token 或其他业务资料。
等我说明想做什么后,再按 SKILL.md 渐进引导。
The GitHub repository wins

The toolkit updates faster than tutorials. If the prompt differs from the repository's current README, the repository wins.

New task sending the Laifaxin outreach skill install prompt: task window showing the installation

✅ Passing standard: the agent team reports 22 roles (or you consciously skip it); the outreach skill reports "environment and self-check ready".

🚀 4. Run Your First Outreach Round

Tools ready — now run the business. This chapter: connect the account → one-line brief → pick a route → complete the 4 pre-send confirmations in order → run the final self-check and confirm sending separately.

📺 Watch First: 8-Min Demo

📺 Video blank? Open in a new window →

💡 The video is titled "Laifaxin — AI Autonomous Outreach". "Autonomous" here means the AI completes the actions for you — it does not mean unattended. Don't stop at anything unclear; every step below has its own instructions.

1. Connect the Laifaxin account

Grab two credential lines from a signed-in Laifaxin page (full details in the connection guide):

  1. Right-click blank space on the signed-in Laifaxin page → Inspect (Windows F12 / Mac ⌥⌘I);
  2. Switch to the Application tab → expand Local Storage → click https://web.laifaxin.com;
  3. Find accesstoken and copy the full value on the right; then find orgId and copy its full value;
  4. Back in the same ZCode task, send two lines: accesstoken=<full value> and orgId=<full value>.

Laifaxin web developer tools: annotated locations of accesstoken and orgId in Local Storage

Then send this read-only connection test (no outreach yet):

请使用我刚才在当前任务中提供的 accesstoken=... 和 orgId=...。如果两项是分别发送的,请先按字段名合并成两行整段;不要回显真实值。

请依次执行并用通俗中文汇报:
1. 运行 tools/onboard_check.py,确认环境通过;
2. 把完整两行整段交给 tools/check_login.py 的凭据输入入口(当前工具通过 stdin 读取 `--credentials-stdin`),让工具自动拆分 accesstoken 和 orgId;汇报通过/失败,并分别说明当前用户和工作空间,不要显示 token;
3. 登录通过后,按当前仓库 RULES.md / SKILL.md 的闸门契约运行 `bash tools/gate_check.sh`(不带 token / orgId 参数),由你(AI)内部完成凭据传递;汇报通用连接闸门通过/失败。

不要把两项写入文件、runs、日志、消息总结、截图、备份或迁移包,也不要回显 token;流程结束后清除。
任一项失败就停止,不要搜索或保存客户、生成模板、创建序列、加入联系人或激活发送。

Read-only connection test passed: the tool reports environment, login, and gate results

2. One-line outreach brief

Send only your sign-off name + a one-line product description (swap in your own):

我的落款昵称是 Tony。
我卖不锈钢保温杯,主要面向美国和欧洲的礼品批发商,支持定制 Logo 和小批量试单。
请先判断产品适配度,再给我 A/B/C/D 四个获客方向;每个方向写明适合理由和不选理由,并告诉我你的推荐。先让我回复字母确认方向,再分两轮建立运营方档案和产品档案。每次只问一个当前必须确认的问题。

Have the AI judge product fit first — it sets your outreach pace: weak fit means at most 500 test companies, 1 round, and no 12-step sequence. Full judgment criteria are in the B2B guide · Connect and pass the gate.

Product fit judgment result: strong fit, conditional fit, and weak fit explained

FitTypical caseHow to run
StrongMany buyers, public emails, fast quotesFull workflow, scale gradually
ConditionalBuyer tiers; distributors fit betterPrioritize the channel tier, fewer rounds; keep inactive until cadence is set
WeakTenders, certifications, project equipment, multi-year buysMax 500 companies · 1 round · no 12-step sequence

Then four acquisition directions A/B/C/D (example display; the AI analyzes your actual product):

Acquisition directions A/B/C/D example: each with why-to-choose, why-not, and a recommendation

Reply with letters to confirm (combinations like AB allowed). Profiles are built in two rounds: company-level first, then product-level; the flow will not advance until the profile is confirmed.

3. Pick a route, lock the seed

A seed = one sample URL close to your ideal customer; the AI finds similar companies from it. Two steps:

Step 1 · Copy the template, swapping in your own name and product:

我的落款昵称是 〰️你的英文名〰️,产品是 〰️你的产品与目标市场描述〰️。
〰️第二行:换成下方 A/B/C 里对应起点的「第二行独有句」〰️
请先判断产品适配度,再给我 A/B/C/D 四个获客方向,分别说明适合理由、不选理由和推荐项;等我回复字母后,按第二行的说明继续。每一步先展示结果,等我明确确认后再执行;保存、生成、建序列、加入和激活都不能跳过确认。按适配度决定轮次,弱适配最多 500 家、只发 1 轮、不建标准 12 步序列;节奏未定前保持 inactive。

Line-2 sentence: pick one from A/B/C below, edit it, and send it together with the first block:

🎯 A: Inquiry Customer (Recommended)

Highest priority. First confirm the company is genuinely a matching buyer, then use its website as the seed. Line 2:

A 询盘客户:这家公司已经产生有效询盘:https://你的询盘客户网址。请建立档案、背调它是否属于值得复制的回复意向 A/B 类客户,并把网址作为种子寻找相似客户。

🌐 B: Customer URL

Choose this if you have closed deals or an ideal-customer website — no audience guessing needed. Line 2:

B 客户网址:这是我的理想客户网址:https://你的客户网址。请建立档案、验证这个网址是否适合作为种子并寻找相似客户。

📦 C: Product Only

Choose this if you have nothing but product details — the AI infers audiences first (each stating purchasing role, market, inquiry speed, volume, and why), then you pick one to test. Line 2:

C 只有产品:目前没有客户网址。请建立档案并推演客群,一次只让我确认一个关键问题。

💡 Undecided? Pick C — lowest barrier; upgrade to A once inquiries come in.

On route C the AI infers audiences first:

Audience inference: a results table listing four potential customer types with market, cycle, inquiry speed, and recommendation

Then it screens candidate seeds — you confirm each company could actually buy, not a lookalike peer or media outlet:

Seed candidate screening: a table checking each company's website, customer type, and fitting reason

If a recommendation is off, say exactly what's wrong and have the AI swap it. Lock one precise seed before scaling.

4. Five confirmations, step by step

Here you will use 5 "confirmation phrases". Each one is a brake: without it, the AI does nothing — no need to memorize; the AI presents the plan and waits at every step.

WhenWhat you sayWithout it
Before saving prospects确认保存 (quantity allowed: 确认保存 100)Nothing saved; process pauses
Before generating emails确认生成Templates preview only; nothing generated
Before creating the follow-up plan确认建序列Rules preview only; nothing created
Before adding contacts确认加入Headcount checked only; nothing added
Before real sending确认激活 <序列名>No emails are sent

① Save prospects: the AI presents the find-similar audit plan (count, per-company email cap, point estimate); check it and reply 确认保存:

Prospect save plan: seed domain, audit results, save count, excluded regions, and point estimate

② Preview emails: read the recipient view (not HTML source) — check claims are real, it reads buyer-first, sign-off is your name only; then reply 确认生成:

Outreach email recipient view: several English email previews with subject, body, sign-off, and confirmation prompt

③ Review follow-up rules: check rounds and cadence, time zone, sending limits, and the "Inquiry"/"Do Not Send" stop rules; reply 确认建序列:

Follow-up plan rules: 12-step cadence, New York time zone, sending limits, and tag stop rules

After creation you can double-check the schedule and advanced settings on the Laifaxin site:

Laifaxin follow-up plan advanced settings: New York working hours, daily sending limits, per-domain caps, and tag trigger rules

④ Add contacts: verify plan name, tag, headcount, and the inactive status; reply 确认加入:

Contacts added result: save task status, contact count, and target plan verification

5. Activate, send the first email

The AI presents the full pre-activation report (five compliance checks + current inactive status). First send:

我要激活这个计划,请先做最终激活自查。

After the AI re-displays the sequence name, verification results, and status, send the final phrase:

确认激活 <序列名>

Pre-activation full report: account, audience, seed, templates, plan, contacts, and inactive status

Only when it reads back active has sending truly started. ⚠️ This confirmation applies only to the report just shown; if the sequence or profile changes, you confirm again.

6. When replies arrive

📌 You can skip this in the first round: come back when a real customer reply arrives.

A reply ≠ a qualified inquiry: first tag it "Inquiry" and verify the automatic sequence stopped, then grade A/B/C/D; rejections/unsubscribes get "Do Not Send". The full grading table and recycling steps are in B2B guide · Handle replies. Use qualified inquiry URLs as new seeds — send:

以下客户已经产生了有效询盘,并完成了初步背调:
1. https://inquiry-a.example
2. https://inquiry-b.example

请分析共同特征,选出最值得复制的种子,继续寻找相似客户。

Then repeat "find similar → audit → save → outreach → recycle".

✅ Passing standard: activation reads back active, and your first outreach email has gone out on schedule.

Stuck? Where to Look

SymptomGo to
ZCode won't install / permission issuesInstall ZCode · Core capabilities
Model connection fails / Insufficient BalanceDeepSeek guide · Model access
Agent team roles missing / install failsAgent team guide · Troubleshooting
Can't get the token / connection failsConnection guide
Details and pitfalls mid-outreachB2B guide (a pitfall table for every step)

✅ Done Check

  • ZCode installed, all four switches on;
  • A model chats (built-in plan or DeepSeek);
  • Agent team's 22 roles in place (or consciously skipped) + outreach skill self-check passed;
  • token/orgId read-only connection passed all three checks;
  • All five confirmations sent in order, activation reads back active, first email sent.

📚 Further Reading

🚀 Next round

The first email is just the start: return to "find similar" for the next round and turn quality inquiries into new seeds. Details and pitfalls live in 📄 Batch Inquiries with AI.