跳到正文
cccskills
免费在 GitHub 公开

wacli

wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Wacli

Use this for wacli repo work and local WhatsApp linked-device stores. Prefer read-only commands for inspection unless the user explicitly asks to auth, sync, send, mutate chats/groups, or release.

Sources

  • Repo: ~/Projects/wacli
  • CLI in repo: ./dist/wacli after pnpm build
  • Installed CLI: wacli
  • Default config: ~/.wacli/config.yaml
  • Default macOS store: ~/.wacli
  • Named account stores: ~/.wacli/accounts/<name>
  • App DB: <store>/wacli.db
  • WhatsApp session DB: <store>/session.db

Safety

  • Use --read-only or WACLI_READONLY=1 for inspection.
  • Use --json for parsing.
  • Do not send messages unless explicitly asked.
  • Do not write session.db directly.
  • Do not merge account data into one wacli.db; named accounts are isolated stores.
  • Watch dirty worktrees; leave unrelated files alone.

Account Workflow

List accounts and store paths:

wacli accounts list --json

Inspect one account without connecting:

wacli --account me doctor --read-only --json
wacli --account me auth status --read-only --json

Use --account NAME for normal multi-account work. Use --store DIR only for one-off legacy/manual store debugging.

Message/Store Checks

Prefer CLI first:

wacli --account me messages list --read-only --json --limit 20
wacli --account me messages search --read-only --json "query"
wacli --account me chats list --read-only --json

For DB health or aggregate checks, use SQLite read-only where possible:

sqlite3 "$HOME/.wacli/accounts/me/wacli.db" "pragma integrity_check;"
sqlite3 "$HOME/.wacli/accounts/me/wacli.db" \
  "select count(*) from messages;
   select count(*) from messages_fts;"

Useful consistency checks:

select count(*) from (
  select chat_jid, msg_id, count(*) c
  from messages
  group by chat_jid, msg_id
  having c > 1
);

select count(*)
from messages m
left join chats c on c.jid = m.chat_jid
where c.jid is null;

select count(*) from messages where revoked = 0 and deleted_for_me = 0;
select count(*) from messages_fts;

Sync/Auth UX

auth pairs and then bootstraps sync. sync never shows QR and requires an authenticated store.

Common commands:

wacli --account me auth
wacli --account me sync --once
wacli --account me sync --follow
wacli --account me sync --once --events 2>events.ndjson

Interactive TTY sync progress should be concise; warnings must remain visible. --events must keep stderr as NDJSON.

Repo Workflow

Read docs before coding when behavior changes:

pnpm -s docs:list || bin/docs-list || true

Focused tests first, then full gate:

go test ./internal/app
go test ./internal/store
pnpm docs:site && pnpm format:check && pnpm lint && pnpm test && pnpm build && git diff --check

User-facing changes need docs and CHANGELOG.md. Use committer with explicit file paths.

Release

Read docs/release.md before release work. Release is tag-driven; verify workflow state with gh run list/view. If a release workflow is cancelled or partially failed, state exactly which jobs completed and which did not.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

crabbox

免费

Use the Crabbox wrapper for OpenClaw remote validation across Linux, macOS, Windows, and WSL2, including delegated Blacksmith Testbox proof. Report the actual provider and id.

中文简介正在准备中。当前显示原文说明。

openclaw/wacli28292026年10月20日 更新

查看 openclaw 的全部技能

报告此技能的问题