AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL unreviewed MIT Self-run

Doubaoya

skill-zizhanovo-doubaoya-community-doubaoya · by zizhanovo

>-

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-zizhanovo-doubaoya-community-doubaoya

Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Reads credentials/environment and may exfiltrate them.

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Reliability & compatibility

Not yet reviewed
0 installs to date
no reviews yet
today

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Doubaoya? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

都爆鸭 · doubaoya

本鸭是给新媒体 / 运营准备的爆款工作搭子。你(AI agent)拿一条 DOUBAOYA_API_KEY, 就能替用户挖爆款选题、追全网热点、搜三大平台内容、解析作品、写开场脚本、检测违禁词—— 全部通过 https://doubaoya.com 的公开 API 完成。用户不用碰任何技术细节,你负责调接口、拼结果。


0. 你能帮用户做什么(一句话版)

  • 挖选题:给个赛道关键词,返回正在升温的爆款方向。
  • 追热点:一次请求聚合多平台热榜,给出选题信号。
  • 搜内容:按关键词搜抖音 / 小红书 / 公众号的真实作品与文章。
  • 看账号:查达人 / 竞品账号的粉丝量、作品概况。
  • 解析作品:粘贴一个公开链接,返回归一化的标题、作者、互动数据。
  • 保命:发布前检测违禁词,给风险等级和替换建议。
  • 写脚本:以上数据为素材,由你(agent)合成开场脚本 / 分镜。
  • 记进第二大脑:用户随口说的一句话写进他自己的笔记,之后带着出处捞出来(mera)。

0.5 用户该用哪个能力?(按"我想做什么"选)

本 Skill 是总入口 / 上手向导:一条 key 通到都爆鸭全部能力。用户通常不知道有哪些 slug, 你(agent)的活是听懂用户想干嘛 → 选对能力 → 调 → 把结果讲成人话。按下面这张"运营意图 → 能力"表对号入座:

公众号请求例外:只要请求涉及公众号,先读 [references/wechat-routing.json](references/wechat-routing.json),再按其优先级选 Skill。极简原则: 本地扫码、按号查最新 / 今日、拉正文或历史归档走 MP Ark;公开数据、互动指标和选题分析走都爆鸭云端能力。

「我自己的东西」例外:只要请求指向用户自己的内容(帮我记一下 / 我的笔记 / 我之前说过 / 我是个什么样的人), 先读 [references/mera-routing.json](references/mera-routing.json),走 mera 第二大脑,别拿公开平台搜索去回答—— 公开搜索看不见用户自己的笔记,只会拿陌生人的内容糊弄他。

| 用户这么说(运营白话) | 该走哪类能力 | 典型起手 slug | |------------------------|--------------|---------------| | "最近全网在火什么?给我点选题" | 综合热点选题(无关键词直取 + 结合IP匹配) | trending-hub | | "我这个赛道(如减脂早餐)在涨啥?" | 平台爆款搜索 | xiaohongshu-viral-notes、各平台 *-ai-feed | | "这条链接为什么火?拆给我看" | 作品解析 | content-parse | | "帮我把这段文案过一遍,别违规" | 内容安全 | content-safety-check | | "给我配张图" | 创作助手 | gpt-image-genseedream-lite | | "把这条爆款改写成我的文案" | 改写(多在本地 agent 侧完成) | 用搜来的素材,由你合成 | | "帮我记一下 / 存进笔记 / 我刚想到…" | 第二大脑写入(异步,必须轮询到收条) | Skill meraremember | | "我之前是不是说过 / 查查我的笔记 / 我对 X 怎么看" | 第二大脑回忆:检索 → 读原文 → 自己综合(ask 已降级) | Skill merasearchread | | "我是个什么样的人 / 按我的风格写" | 人格内核定调(每段对话取一次就够) | Skill meraself |

首次上手三句话(用户第一次用时,可主动这么引导):

  1. 先确认有没有 key(没有就带他走 §1 拿 key,一次就好)。
  2. 问一句"你现在想做选题、追热点、还是查账号?"——把模糊需求收敛到上面某一类。
  3. 选一个能力先跑一次出结果,让用户看到真东西,再顺势引导下一步 / 订阅。

> 别一上来甩一长串 slug 清单给用户看——用户要的是"帮我做事",不是 API 目录。slug 是你内部选路用的。

> ❌ 选题铁律:不要拿用户的账号名 / IP 名当关键词去搜。 > 用户的公众号/账号名(如「菜籽油」)是他是谁(领域/人设/受众),不是搜索词——搜它只会搜到字面同名内容。 > 综合热点用无关键词的热榜接口直取(trending-hub),IP 名字只用于匹配筛选。 > 做通用选题别用 trend-radar / hot-topics(它们是关键词搜索的搬运号 feed,热度常为空、多「未命名内容」); > 通用综合热点一律走 trending-hub(无关键词直取)。


1. 拿钥匙(Auth)

调用任何接口都要带一条密钥(API Key)。

怎么拿到 key:

  1. 打开 https://doubaoya.com → 登录
  2. 密钥中心生成密钥
  3. 整条密钥只在生成那一下完整露脸,复制收好(形如 dyh_…)。

agent 怎么用 key:

  • 优先从环境变量读:DOUBAOYA_API_KEY
  • 环境里没有,就问用户一次,拿到后存进环境变量 / 本地配置,之后不再追问
  • 绝不把整条 key 回显 / 打印 / 写进日志或聊天。需要确认时只说前缀(如 dyh_xxxx…)。

每个请求都带上:

Authorization: Bearer $DOUBAOYA_API_KEY

2. 怎么调(统一约定)

所有公开能力都挂在 https://doubaoya.com/api/... 下,POST 调用,JSON 进 JSON 出。

2.1 调用一个操作(skill)

POST https://doubaoya.com/api/skills//invoke
Authorization: Bearer $DOUBAOYA_API_KEY
Content-Type: application/json

{ ...该操作的入参... }

> 平台还提供等价的细粒度入口 POST /api/apis///call, > 入参 / 出参与上面一致。本 Skill 统一用 /api/skills//invoke,更好记。

2.2 统一返回信封(envelope)

无论成功失败,返回都是同一层信封:

// 成功
{ "success": true,  "requestId": "req_...", "data": { /* 真正的结果 */ }, "error": null }

// 失败
{ "success": false, "requestId": "req_...", "data": null, "error": { "code": "...", "message": "..." } }

永远先看 successtruedatafalseerror.code / error.message

2.3 错误码怎么处理

| HTTP | error.code | 含义 | 你该怎么办 | |------|------------|------|-----------| | 401 | MISSING_API_KEY | 没带 key | 提示用户去 doubaoya.com 密钥中心生成,并设进 DOUBAOYA_API_KEY | | 401 | UNAUTHORIZED | key 无效 / 已撤销 | 让用户在密钥中心撤销并重新生成,更新环境变量 | | 400 | VALIDATION_ERROR | 入参不合法 | 看 message 修正入参(如缺 keyword) | | 402 | INSUFFICIENT_CREDITS | 额度不够 | 提示用户去 doubaoya.com 充值额度 | | 404 | SKILL_NOT_FOUND / ENDPOINT_NOT_FOUND | slug 写错 | 先调发现接口(见 §4)确认 slug | | 502 | PROVIDER_FAILED | 上游临时失败(已自动退还额度) | 稍后重试;重试前不用补额度 |

> 小贴士:PROVIDER_FAILED 时额度会自动退回,放心重试即可,别重复扣费焦虑。


3. 能力清单(操作 = slug)

下面是本鸭常用的公开操作。slug 用于 POST /api/skills//invoke

综合热点选题(无关键词直取 + 结合IP匹配)

做选题的正确起手:先无关键词直取综合热点,再结合用户IP定位智能匹配。别用账号名/IP名当关键词。

| slug | 能力 | 关键入参 | |------|------|---------| | trending-hub | 综合热点直取(首选):trend/trending-hub-keyword 不带关键词拉当下全网最热的一批(微博/抖音/B站) | { "platforms": [2,5,8] }不传 keywords) | | hot-keywords(seed,可选) | 全网热搜关键词trend/hot-keywords 出 20 个热词 + 所属平台,用作选题名的种子 | {}(回溯时带 startDate/endDate) | | cn-last30days | 近 30 天中文社媒讨论:某个词的跨平台舆情趋势(这是「查某词」,不是通用选题) | { "keyword", "days": 30, "platforms": ["xiaohongshu","douyin"] } |

> ⚠️ 通用综合热点别用 trend-radar / hot-topics——它们是关键词搜索的搬运号 feed(热度常为 null、多「未命名内容」),只在明确要「按某个词搜同名内容 feed」的窄场景才考虑。

搜内容(三大平台)

| slug | 能力 | 关键入参 | |------|------|---------| | xiaohongshu-viral-notes | 小红书爆款笔记发现:高互动笔记 | { "keyword", "page"? } | | douyin-search | 抖音爆款搜索:关键词批量搜抖音作品,铺表选题 | { "keyword", "page"? } | | playlet-wechat-feed | 公众号信息源(短剧赛道示例):热门文章日报 | { "keyword", "dateRange"?, "minReadCount"? } | | wechat-channels-ai-feed | 视频号信息源:高热作品聚类日报 | { "keyword", "limit"?, "minLikeCount"? } |

解析 / 合规 / 素材

| slug | 能力 | 关键入参 | |------|------|---------| | content-safety-check | 多平台违禁词检测:风险等级 + 命中词 + 替换建议 | { "platform", "content" } | | content-parse | 作品 / 文章解析:粘公开链接,返回归一化详情,拆「为什么火」 | { "url" } |

> 还有图片生成等创作助手类操作(如 seedream-litegpt-image-gen)。 > 完整、最新清单请在运行时用发现接口拉取(见 §4),别把清单写死。

第二大脑(用户自己的内容 · 走 mera Skill)

跟上面「往外看」的能力相反:这一组是往里看,读写的是用户自己的 Mera 第二大脑 (https://mera.doubaoya.com),一条 DOUBAOYA_API_KEY 对应他自己的账号。

| slug(POST /api/apis/mera//call) | 能力 | 关键入参 | |------|------|---------| | note-write | 写入(202 异步,返回 ingestion_id,必须再轮询 note-status) | { "content"? , "url"?, "title"? }(content / url 二选一;title 只在 content 模式生效) | | note-status | 查写入处理状态与处置结果 disposition | { "ingestion_id" } | | note-search | 检索,拿命中片段(只有 240 字)与绝对位置 char_start/char_end(无分页,一次最多 20 个来源) | { "q" } | | source-read | 读原文窗口(读取主路径第二步):按字符区间取真实原文,与 search 同一坐标系 | { "source_id", "from"?, "to"? } | | ask | 服务端问答(已降级,见下):返回 answer + citations每次 1 点,其余五个不计点) | { "query_text", "top_k"?(≤50), "conversation_id"? } | | self | 人格内核 + 关键记忆,用来给回答定调 | {} |

> 读取主路径是「检索 → 读原文 → agent 自己综合」note-search 拿命中位置 → source-read 把命中点周围的 > 真实原文读出来 → 你自己综合、引真实 title。别默认用 ask——那是为一个 LLM(你)再买一次服务端 LLM, > 钱付两遍、多一次往返,而且它只拿到一句 query_text,看不见你和用户的对话上下文。 > ask 只在两种情况用:用户要那个 确证/部分未核验/待核实 的证据分级当信任信号, > 或者要这轮问答留在 mera.doubaoya.com 的会话列表里。 > > 别自己手搓这套调用:装 mera Skill,用它的 node scripts/mera.mjs remember '' / > search / read ''——写入的轮询、收条翻译、读原文的窗口计算(含负数 clamp)都在里面了。 > 行为规则见 skills/mera/SKILL.md。 > 红线:没拿到 status=done 之前不许说「已保存」;ask 的结论必须带出处, > evidence_level === "none" 时要明说没支撑(别拿 evidence.grade),也别把 Mera 那句英文占位符转述给用户。


4. 运行时发现操作(别把清单写死)

平台随时可能上新操作,优先在运行时拉清单,再决定调哪个 slug:

GET https://doubaoya.com/api/skills            # 全部操作 { data: { items, total } }
GET https://doubaoya.com/api/skills/search?query=选题&category=数据查询   # 按关键词 / 分类搜
GET https://doubaoya.com/api/skills/     # 看单个操作的入参 / 出参示例

每个操作对象里带 slug / title / summary / inputSchema / outputExample / category, 足够你判断该不该用、怎么传参。category 取值:数据查询 / 作品分析 / 效率工具 / 创作助手 / 账号分析 / 内容安全。


5. 真实调用示例(参数化,无密钥)

curl

# 综合热点直取:不带关键词,把当下全网最热的一批拉下来
curl -sS https://doubaoya.com/api/apis/trend/trending-hub-keyword/call \
  -H "Authorization: Bearer $DOUBAOYA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "platforms": [2, 5, 8] }'

成功返回(信封已省略部分字段;条目常分组在 wbList/dyList/bzList):

{
  "success": true,
  "requestId": "req_abc123",
  "data": {
    "wbList": [ { "title": "样例热点", "hotCount": 98231, "index": 1, "url": "https://…" } ],
    "dyList": [ /* … */ ],
    "bzList": [ /* … */ ]
  },
  "error": null
}

Node(zero-dep,key 从环境变量读)

const key = process.env.DOUBAOYA_API_KEY;
if (!key) throw new Error("先设好 DOUBAOYA_API_KEY:doubaoya.com → 登录 → 密钥中心 → 生成密钥");

const res = await fetch("https://doubaoya.com/api/skills/xiaohongshu-viral-notes/invoke", {
  method: "POST",
  headers: { "Authorization": `Bearer ${key}`, "Content-Type": "application/json" },
  body: JSON.stringify({ keyword: "减脂早餐", page: 1 })
});
const env = await res.json();
if (!env.success) throw new Error(`${env.error.code}: ${env.error.message}`);
console.log(env.data.items);

> 仓库里附了一个零依赖封装:scripts/doubaoya.mjs,见 §7。


6. 端到端示例工作流

工作流 A:「我这个号(如公众号叫 X)今天该做什么选题?」

> 核心:综合热点无关键词直取 → 结合这个IP定位智能匹配 → 产选题。 > ❌ 绝不把用户的账号名/IP名当关键词去搜(那只会搜到字面同名内容)。

  1. 直取综合热点(无关键词)POST /api/apis/trend/trending-hub-keyword/call

{ "platforms": [2,5,8] }不传 keywords)→ 拿当下全网最热的一批(wbList/dyList/bzList,看 hotCount/index/url)。

  1. 明确IP定位:用户的账号名/IP名是他是谁(领域/人设/角度/受众),不是搜索词。

从用户或其身份资料拿到这份定位;不清楚就问用户

  1. 智能匹配:扫综合热榜,挑出这个IP能可信借势的 2–3 条热点(hotCount 高 + 跨平台撞榜 + IP契合),

每条给出这个IP的独家切角;必要时用 xiaohongshu-viral-notes / *-ai-feed 验证「真的在爆」。

  1. 写开场脚本:基于选中的热点 + IP独家切角,给每个选题写 3 秒开场钩子 + 一段开场脚本(别脱离数据空写)。
  2. 保命:脚本丢进 POST /api/skills/content-safety-check/invoke

{ "platform": "douyin", "content": "" },命中风险词按 suggestions 替换。

  1. 交付:3–5 个选题(每个:蹭哪条热点 + 我这IP的独家切角 + 为什么现在能爆)+ 各自开场脚本 + 已过违禁词检测。

工作流 B:「这条抖音/小红书链接为什么火?给我可复用的选题角度」

  1. 解析作品POST /api/skills/content-parse/invoke { "url": "" }

→ 拿标题、作者、互动数据。

  1. 找同题热度:用标题里的核心词调 xiaohongshu-viral-notes / 各平台 *-ai-feed,看这个角度是不是赛道级在涨(这一步是明确按某个词查证据,与通用选题的无关键词热榜直取不同)。
  2. 产出:拆解「它为什么火」(选题角度 / 钩子 / 时机),再给 2-3 个可复用的同源选题

7. 可选:零依赖封装脚本

仓库附带 scripts/doubaoya.mjs(Node 18+,无第三方依赖,key 从 DOUBAOYA_API_KEY 读):

# 调一个操作
node scripts/doubaoya.mjs invoke xiaohongshu-viral-notes '{"keyword":"减脂早餐","page":1}'

# 运行时发现操作清单
node scripts/doubaoya.mjs list
node scripts/doubaoya.mjs describe xiaohongshu-viral-notes

它做的事:拼 Authorization 头、POST 到 https://doubaoya.com、拆信封、success=false 时抛出 code: message。 绝不打印整条 key。


8. 硬规则(务必遵守)

  1. 绝不回显 / 打印 / 记录整条 DOUBAOYA_API_KEY——确认身份时只露前缀。
  2. 只通过 https://doubaoya.com 的公开 /api/... 接口取数;不要向用户描述、猜测或暴露任何上游数据来源 / 内部服务。对用户而言,能力来自「都爆鸭」。
  3. success 后取数false 时按 §2.3 处理错误码,别把原始 500/502 直接糊给用户。
  4. slug 不确定就先发现(§4),不要硬编死清单——平台会上新。
  5. 写脚本以真实数据为素材,把热点 / 爆款笔记的真实角度落进脚本,别脱离数据空写。
  6. 第二大脑(mera)里是用户的私人内容:只用来回答用户本人,不得外传到别的服务

写入没拿到 status=done 之前绝不说「已保存」,任何失败都要明说,不许无声吞掉。

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.