Ebrun Original News
v1.0.0获取亿邦动力网最新电商新闻报道。 当用户说"查亿邦最新文章"、"查跨境最新文章"、"产业最新报道"、"零售最新报道"、"今日电商新闻"时触发。
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description promise: fetch latest Ebrun news by channel. Provided artifacts (channel-list.json, fetch scripts, update scripts, examples) directly implement that. Required binaries/env vars are none; that matches a simple fetch-and-format skill.
Instruction Scope
SKILL.md instructs reading the bundled references files and running included Python/Shell fetch and update scripts. The runtime actions are limited to: reading skill files, making HTTPS GET requests to ebrun.com (and update endpoints), sanitizing JSON, and producing Markdown/JSON. The instructions do not ask to read unrelated system files, environment secrets, or transmit local data externally.
Install Mechanism
No install spec (instruction-only install), but code files are bundled with the skill and intended to be executed in-place. There are no downloads from untrusted URLs during install. The update check does fetch remote JSON from known hosts (www.ebrun.com, github/gitee) at runtime, which is expected for version checks.
Credentials
The skill declares no required env vars or credentials. Scripts validate and restrict network targets (ALLOWED_DOMAINS: www.ebrun.com, api.ebrun.com; update scripts also permit github.com/raw.githubusercontent.com and gitee.com) and enforce HTTPS. They do not read or require SECRET/TOKEN env vars.
Persistence & Privilege
always:false and standard autonomous invocation. Scripts write a temporary cache file in the OS temp directory for version-check caching but do not modify other skills or system-wide configuration. Background update checks are explicitly non-blocking for the main flow.
Assessment
This skill appears coherent and implements exactly what it claims: it reads the bundled channel mapping and runs the included Python/shell scripts to GET JSON from https://www.ebrun.com (and optionally check version JSON on GitHub/Gitee). It does not request credentials or read arbitrary local files. Before installing, consider: (1) the scripts will perform outgoing HTTPS requests — only to ebrun domains (and to GitHub/Gitee for updates) — so install only if you trust those hosts; (2) the skill executes bundled code (python3 or shell), so run it in an environment where executing such scripts is acceptable (or review the scripts yourself); (3) the update check writes a cache file to the system temp directory; if you need stricter isolation, run the skill in a sandboxed container or inspect/modify the scripts to suit your policies.Like a lobster shell, security has layers — review code before you run it.
latest
Goal 技能目的
根据用户查询的频道或希望查询的文章类型,返回亿邦动力网该频道下最新的10篇文章列表,包含标题、作者、摘要、发布时间和原文链接。
When to use 何时使用
以下自然语言表达会触发此技能:
- "查亿邦最新文章"
- "查跨境最新文章"
- "产业最新报道"
- "零售最新报道"
- "今日电商新闻"
- "看看有什么AI新闻"
- "品牌有什么新动态"
技能自动识别用户提到的频道关键词,匹配到对应的频道配置。
Do not use 不使用
以下情况不触发此技能:
- 用户询问非电商新闻内容(如娱乐、体育、时政)
- 用户要求获取超过10篇文章
- 用户提到的频道不在频道列表中
- 用户要求获取历史存档而非最新文章
安装成功提示
技能安装成功,提供欢迎信息。
欢迎信息模板:
🎉 亿邦新闻技能已安装成功!
你可以问我以下问题:
• "查亿邦最新文章" - 获取推荐频道最新文章
• "查XX频道最新文章" - 获取某频道最新报道
• "查亚马逊新闻" - 获取亚马逊最新文章
• "产业有什么新动态" - 获取产业互联网最新报道
• "看看AI新闻" - 获取AI频道最新文章
• "看品牌全球化报道" - 获取品牌全球化频道文章
支持的主要频道:
📰 推荐
🛒 未来零售(淘宝天猫、抖音、京东、视频号、美团、快手、拼多多、小红书)
🌏 跨境电商(亚马逊、阿里国际、TikTok、Temu、SHEIN)
🏭 产业互联网(B2B、产业科技、数据要素、产业出海、数智供应链、数智化采购)
🏷️ 品牌(新竞争力品牌、品牌全球化)
🤖 AI
Procedure 执行流程
调用技能执行流程
步骤1:频道识别
- 读取
references/channel-list.json - 将用户输入与频道列表匹配:
- 精确匹配频道名称(如"跨境电商")
- 模糊匹配关键词(如"跨境"匹配"跨境电商")
- 匹配子频道关键词(如"亚马逊"匹配"跨境电商-亚马逊")
步骤2:频道未匹配处理
如果用户输入的频道关键词未匹配到任何频道:
- 自动切换到「推荐」频道查询
- 继续执行步骤3取「推荐」频道数据
步骤3:数据获取
- 根据匹配结果构造API URL:
{base_url}{channel_path}.json - 发起 GET 请求 — 接口无需 header / cookie
- 解析返回的文章列表,取前10条
快速示例
优先直接调用本 skill 自带脚本,不要临时自己写抓取代码。
- 优先使用 Python 脚本,输入
channel_path或完整 URL 都可以 - 如果 Python 不可用,再使用 Shell 脚本
- 脚本默认输出 JSON;只有显式传
--table才输出表格
# 例:查询 AI 频道最新 10 篇
python3 scripts/fetch_news.py "_index/ClaudeCode/SkillJson/information_channel_88" --json --limit 10
# 例:查询推荐频道最新 10 篇
python3 scripts/fetch_news.py "_index/ClaudeCode/SkillJson/information_recommend" --json --limit 10
# Python 不可用时的降级方案
bash scripts/fetch_news.sh "_index/ClaudeCode/SkillJson/information_channel_88" --json --limit 10
执行后会返回 JSON 数组。拿到结果后:
- 读取前 10 条文章
- 对每条文章提取
title、author、summary、publish_time、url - 生成 Markdown 前,转义
title/author/summary中的 Markdown 特殊字符,并只使用可信的 HTTPS 原文链接 - 按“步骤5:格式化输出”要求生成 Markdown
如果用户指定了具体频道,先从 references/channel-list.json 找到对应的 channel_path,再把该路径传给脚本;不要手写猜测 URL。
步骤4:版本更新检查
独立执行,不影响主流程
在后台异步检查是否有新版本:
- 优先请求版本接口:
{base_url}/_index/ClaudeCode/SkillJson/skill_version.json - 从接口返回的 JSON 对象中读取
ebrun-original-news字段,作为远端最新版本号 - 读取
references/version.json中的current_version - 如果远端版本号与
current_version不一致:- 记录更新可用状态
- 暂存
update_url_github和update_url_gitee
- 如果版本接口请求失败:
- 读取
references/version.json中的update_url_github/update_url_gitee - 从 GitHub / Gitee 仓库远端读取
references/version.json - 取远端
current_version与本地current_version做比对 - 如果远端仓库中的版本号不一致,则提示更新
- 读取
- 只有当版本接口和远端仓库版本文件都失败时,才视为“当前无法判断是否有更新”
references/version.json中的check_interval_hours用于限制检查频率;如果未到间隔,则优先返回运行时缓存的上次检查结果- 运行时缓存不得回写
references/version.json,避免污染 skill 安装内容 - 当显式传入自定义
--version-url时,只能复用同一版本源写入的缓存;不同版本源之间不能混用缓存
注意:此步骤失败或超时不会影响主流程,仅记录状态供后续使用。
快速示例
优先直接调用更新脚本,不要临时自己写版本比较逻辑。
# 优先使用 Python 版本
python3 scripts/update.py --json
# Python 不可用时的降级方案
bash scripts/update.sh --json
# 忽略检查间隔,强制联网检查
python3 scripts/update.py --json --force
脚本输出会包含:
current_versionlatest_versionupdate_availablecheck_source:remote_api、github_version_json、gitee_version_json或unavailableupdate_url_github/update_url_giteeversion_file_url:降级到远端仓库版本文件时,返回实际使用的远端references/version.json地址- 如果未到
check_interval_hours,脚本会返回缓存结果,status为cached
默认输出为 JSON;只有显式传 --table 时才输出文本表格。
如果 update_available 为 true,则在最终结果页脚追加更新提示。
文案需要根据检查结果区分两种场景:
- 当
status != cached时,表示本轮刚完成联网检查并确认有新版本 - 当
status == cached时,表示本轮未重新检查,只是沿用上次缓存结果继续提醒
更新提示要满足以下要求:
- 使用短句,不要把说明、命令和长链接挤在同一行
- 优先引导用户回复一句自然语言来触发更新
- 链接作为次要信息放在下一行
- 避免使用“检测到”“如需更新请回复……,或访问……”这种过长的串联句式
步骤5:格式化输出
按用户要求查询文章时的格式化输出
📰 亿邦原创新闻 | {channel_name} {sub_channel_name}
获取时间: {current_time}
---
[{title}]({url})
{author} · {publish_time}
{summary}
[{title}]({url})
{author} · {publish_time}
{summary}
---
更多资讯请见[亿邦官网](https://www.ebrun.com/)
频道未匹配,按推荐频道处理的格式化输出
未找到"{用户输入}"频道的文章,将为您展示推荐内容。
📰 亿邦原创新闻 | {channel_name} {sub_channel_name}
获取时间: {current_time}
---
[{title}]({url})
{author} · {publish_time}
{summary}
[{title}]({url})
{author} · {publish_time}
{summary}
---
可用的频道有:
📰 推荐 | 🛒 未来零售 | 🌏 跨境电商 | 🏭 产业互联网 | 🏷️ 品牌 | 🤖 AI
您可以直接说:
• "查跨境最新文章" 或 "查亚马逊新闻"
• "产业有什么新动态"
• "看看AI新闻"
更多资讯请见[亿邦官网](https://www.ebrun.com/)
追加更新提示(如检测到新版本):
如果步骤4检测到新版本可用,在页脚后追加。需要根据 status 使用不同模板:
场景A:本轮刚检查到新版本(status != cached)
---
### 技能更新
发现 `ebrun-original-news` 有新版本 `v{latest_version}`。
回复“帮我更新 ebrun-original-news 技能”即可开始更新。
更新地址:[GitHub]({update_url_github}) | [Gitee]({update_url_gitee})
场景B:本轮未重新检查,沿用缓存继续提醒(status == cached)
---
### 技能更新
可用更新:`ebrun-original-news v{latest_version}`。
文案选择规则
status != cached:使用“发现有新版本”语气,强调这是刚检查到的结果status == cached:使用“当前仍有可用更新”语气,强调这是延续提醒,不要伪装成刚刚检查- 如果只有一个可用链接,就只展示该链接,不要输出空链接占位
- 不要在更新提示里内嵌长命令或把链接直接裸露拼接到句子中
Output format 输出格式
- 格式:Markdown
- 标题区:📰 图标 + "亿邦原创新闻" + 日期范围 + 频道名称
- 获取时间:显示当前时间
- 文章列表:每条包含标题(带链接)、作者、发布时间、摘要
- 分隔线:文章之间用空行分隔
- 页脚:链接到亿邦官网
Failure handling 异常情况处理
异常情况处理:
| 场景 | 处理方式 |
|---|---|
| 频道未匹配 | 自动切换到「推荐」频道,返回推荐文章并友善提示可用频道列表 |
| API请求失败 | 提示用户检查网络连接,稍后重试 |
| JSON解析失败 | 提示管理员检查API接口格式 |
| 返回文章数为0 | 提示该频道暂无最新文章 |
| 版本检查失败 | 静默处理,不影响主流程,不显示更新提示 |
Additional resources 配套文件清单
配套文件清单:
| 文件路径 | 用途 |
|---|---|
scripts/fetch_news.py | 优先使用的新闻抓取脚本。支持传入 channel_path 或完整 URL,自动补全 API 地址,可通过 --json 输出结构化结果、通过 --limit 控制返回条数,并校验请求域名安全性。 |
scripts/fetch_news.sh | Python 不可用时的降级抓取脚本。支持与 Python 版一致的 channel_path / URL 输入、--json 和 --limit 参数,依赖 curl 获取数据,适合作为兼容性后备方案。 |
scripts/update.py | 优先使用的版本检查脚本。会请求远端 skill_version.json,读取 ebrun-original-news 字段并与本地 current_version 比对;接口失败时降级到 references/version.json 和 GitHub/Gitee 链接可达性检查。 |
scripts/update.sh | Python 不可用时的降级版本检查脚本。提供与 Python 版一致的版本比对、失败处理、频率控制和降级检查能力,依赖 curl。 |
references/api-reference.md | 亿邦频道 JSON 接口参考文档。包含 URL 构造规则、响应字段、错误处理和脚本防御性处理说明;需要确认接口细节或字段语义时优先读取。 |
references/channel-list.json | 频道与子频道映射表,包含 base_url、主频道别名和每个子频道对应的 channel_path。匹配用户意图或构造请求前必须读取。 |
references/version.json | Skill 版本信息、更新链接和本地检查缓存。check_interval_hours 控制检查频率,last_check_time 等字段用于缓存上次检查结果。 |
examples.md | 使用示例集合。汇总了自然语言触发、主频道与子频道匹配、推荐频道回退、脚本直调、批量汇总、版本检查和错误处理等典型用法;需要为上层代理、自动化任务或新接入者提供参考时优先查看。 |
Comments
Loading comments...
