Wanwu is an enterprise platform for building AI agents, workflows, retrieval-augmented applications, and managing models in multi-tenant environments. It is designed for developers and enterprise teams delivering AI applications and integrations. The catalogue entries provide skills and agents for using the platform.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add UnicomAI/wanwu --skill qqexmailgit clone --depth 1 https://github.com/UnicomAI/wanwuWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/unicomai/wanwu/qqexmail)<a href="https://agentmods.dev/skills/unicomai/wanwu/qqexmail"><img src="https://agentmods.dev/badge/skills/unicomai/wanwu/qqexmail.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.00925 |
| Opus 5 | $0.00019 | $0.00463 |
| Sonnet 5 | $0.00008 | $0.00185 |
| Haiku 4.5 | $0.00004 | $0.00093 |
Grade A, and why
qqexmail scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
何时使用
用户要使用 腾讯企业邮箱(exmail.qq.com)发邮件、收邮件、查邮件时使用本 skill。
凭证(环境变量)
| 变量 | 说明 |
|---|---|
| EXMAIL_ACCOUNT | 腾讯企业邮箱账号(完整地址,如 [email protected]) |
| EXMAIL_AUTH_CODE | 腾讯企业邮箱授权码(在腾讯企业邮箱「设置 → 账户 → 账户安全」中生成,非邮箱登录密码;勿提交到仓库) |
脚本会校验,缺失时报错并退出。
腾讯企业邮箱服务器
- IMAP:
imap.exmail.qq.com,端口 993(SSL) - SMTP:
smtp.exmail.qq.com,端口 465(SSL)
脚本
| 脚本 | 作用 |
|---|---|
scripts/send.js |
从环境变量读凭证,用 nodemailer 连接腾讯企业邮箱 SMTP 发信;支持收件人、主题、正文(CLI 参数)。 |
scripts/receive.js |
从环境变量读凭证,用 imap + mailparser 连接腾讯企业邮箱 IMAP 收信;支持「最近 N 条」或「最近 N 天」,输出主题、发件人、日期、UID、正文摘要。 |
scripts/get-body.js |
按 UID 获取指定邮件的完整正文(纯文本,无摘要截断)。必须传入 --uid(值为收信列表中的 UID)。 |
发信流程
在 skill 根目录下执行(需已 npm install):
node scripts/send.js <收件人> <主题> <正文>
正文若含空格,请用引号包裹;或只传收件人和主题,正文从 stdin 读入(见脚本 --stdin)。
示例:
node scripts/send.js "[email protected]" "测试主题" "邮件正文内容"
收信流程
# 收取最近 10 条(默认)
node scripts/receive.js
# 收取最近 N 条
node scripts/receive.js --limit 20
# 收取最近 N 天的邮件(如 7、30、90)
node scripts/receive.js --days 7
输出:每封邮件的主题、发件人、日期、UID(收件箱内唯一标识,用于按 UID 取正文)、正文摘要(前约 200 字),便于查看。
获取邮件正文
需要某封邮件的完整正文时,使用 get-body.js,传入收信列表中该邮件的 UID:
node scripts/get-body.js --uid 12345
未传 --uid 时会提示并退出。UID 与收件箱绑定,邮件移动或删除后可能失效。
- 输出:完整正文输出到 stdout(纯文本;若原邮件仅有 HTML,会做简单去标签后输出)。可重定向到文件或管道给其它命令。
- 环境变量:与收信相同,需
EXMAIL_ACCOUNT、EXMAIL_AUTH_CODE。
可选能力
- 收取时间范围:通过
--days 7/--days 30/--days 90使用 IMAP SINCE 条件。 - 收取「我的文件夹」:当前脚本默认 INBOX;若需自定义文件夹,可扩展脚本中的
openBox。
安全提醒
- 腾讯企业邮箱授权码需在「设置 → 客户端设置」中开启 IMAP/SMTP 服务后生成,与邮箱登录密码不同,不要混淆。
- 不要将
EXMAIL_ACCOUNT、EXMAIL_AUTH_CODE的真实值写入代码或提交到仓库;仅通过环境变量或本地.env配置。
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 85 lines · 38 tokens per session scan A 39bb411d177f
qqexmail is a skill published in the GitHub repository UnicomAI/wanwu (2,460 stars, last pushed 2d ago), licensed Apache-2.0. It adds 38 tokens to every session and 925 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
dlt-connector
Connect SaaS data (HubSpot, Stripe, Salesforce, GitHub, Slack, etc.) to Wren Engine for SQL analysis. Guides the user through the full flow: install dlt, pick a SaaS source, set up credentials, run the data pipeline into DuckDB, then auto-generate a Wren semantic project from the loaded data. Use this skill whenever…
wren
Wren CLI for AI agents — a semantic SQL layer over 22+ databases (Postgres, MySQL, BigQuery, Snowflake, Spark, …). The actual workflow guides live inside the wren CLI itself; this is just a discovery stub. Use whenever the user asks a data question (how many, show me, top N, compare, trend, breakdown, metric, revenue…
dify
Use when building LLM applications with visual workflow — RAG knowledge bases, AI agents, chatbots with drag-and-drop orchestration. Dify: open-source LLM app platform supporting 30+ models (OpenAI, Claude, DeepSeek, Ollama, Qwen, GLM) with Docker deployment.
ai-skills
Use when building LLM applications, RAG knowledge bases, AI agents, terminal coding agents, multi-model orchestration, plugin-based agent harnesses, or file translation. Index of 9 skills: Dify, Hermes Agent, OpenClaw, OpenCode, Pi, DocuTranslate, Oh-My-OpenAgent, Superpowers-zh, DeepSeek Harness.
Web2Skill
Convert one public website URL or an explicit batch of public URLs into a reusable skill zip backed by rendered HTML snapshots and a bounded JSONL retrieval index. Use to discover a documentation directory from one URL, crawl a supplied URL set sequentially, generate a source profile, or package indexed web content as…
Book2Skill
Convert one or more TXT, Markdown, DOCX, or PDF documents into a reusable skill zip backed by normalized Markdown, extracted images, and a grounded JSONL knowledge index. Invoke this skill before inspecting task files, then execute its workflow directly without listing directories.