@clawhub-wumingyu1688-sudo-efec7a803d
链接与资讯真实性核验工具,检查链接是否可访问、交叉验证资讯真实性。
---
name: link-fact-checker
description: |
链接与资讯真实性核验工具,检查链接是否可访问、交叉验证资讯真实性。
---
# 链接事实核验工具
## 功能
1. 检查给出的URL是否可以正常访问
2. 抓取资讯内容,核验资讯真实性
3. 交叉对比多个来源确认事实
4. 输出标准化核验结果
## 使用方式
- 用户给出需要核验的链接:直接访问并返回状态
- 用户给出资讯内容:搜索多个来源交叉验证
## 输出格式
```
【核验结果】
- 链接:URL
- 状态:可正常访问 / 无法访问 / 404 / 连接超时
- 资讯真实性:✅ 信息匹配 / ⚠️ 部分存疑 / ❌ 虚假信息
- 备注:简要说明
```
## 依赖
- 使用 `web_fetch` 工具访问链接
- 使用 `web_search` 搜索交叉验证
FILE:index.js
/**
* Link & Fact Checker Skill for OpenClaw
* Check if a URL is accessible and verify news facts
*/
async function checkUrlAccessibility(url) {
const response = await fetch(url, { method: 'HEAD', timeout: 5000 });
return {
accessible: response.ok,
status: response.status
};
}
async function getPageTitle(url) {
try {
const resp = await fetch(url);
const html = await resp.text();
const titleMatch = html.match(/<title>(.*?)<\/title>/i);
return titleMatch ? titleMatch[1].trim() : null;
} catch (e) {
return null;
}
}
module.exports = {
name: 'link-fact-checker',
description: 'Check URL accessibility and verify news facts',
async run(args) {
const { url, fact } = args;
// Check URL accessibility
let checkResult = null;
if (url) {
try {
const result = await checkUrlAccessibility(url);
const title = await getPageTitle(url);
checkResult = {
url,
accessible: result.accessible,
statusCode: result.status,
title
};
} catch (e) {
checkResult = {
url,
accessible: false,
error: e.message
};
}
}
return {
checkedUrl: checkResult,
checkedFact: fact ? "Pending cross-verification" : null
};
}
};