重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
cnki-journal-search by cookjohn/cnki-skills
npx skills add https://github.com/cookjohn/cnki-skills --skill cnki-journal-search$ARGUMENTS 可以是期刊名称、ISSN 号、CN 号或主办单位名称。
使用 mcp__chrome-devtools__navigate_page → https://navi.cnki.net/knavi
使用 mcp__chrome-devtools__evaluate_script。将 QUERY_HERE 替换为实际的搜索词:
async () => {
const query = "QUERY_HERE";
// 等待页面加载
await new Promise((r, j) => {
let n = 0;
const c = () => { if (document.querySelector('input.researchbtn')) r(); else if (++n > 30) j('timeout'); else setTimeout(c, 500); };
c();
});
// 检查验证码(屏幕上可见的,不是隐藏在 top:-1000000 的 SDK)
const outer = document.querySelector('#tcaptcha_transform_dy');
if (outer && outer.getBoundingClientRect().top >= 0) return { error: 'captcha' };
// 自动检测搜索类型并填充
const select = document.querySelector('select');
if (select) {
if (/^\d{4}-\d{3}[\dXx]$/.test(query)) select.value = 'ISSN';
else if (/^\d{2}-\d{4}/.test(query)) select.value = 'CN';
select.dispatchEvent(new Event('change', { bubbles: true }));
}
const input = document.querySelector('input[placeholder*="检索词"]');
if (input) input.value = query;
// 点击搜索按钮(已验证的选择器:input.researchbtn)
document.querySelector('input.researchbtn')?.click();
// 等待结果
await new Promise((r, j) => {
let n = 0;
const c = () => { if (document.body.innerText.includes('条结果')) r(); else if (++n > 30) j('timeout'); else setTimeout(c, 500); };
c();
});
// 点击“期刊”标签页以仅筛选期刊
const tabs = document.querySelectorAll('li a');
for (const a of tabs) { if (a.innerText.trim() === '期刊') { a.click(); break; } }
await new Promise(r => setTimeout(r, 1500));
// 提取期刊结果
const body = document.body.innerText;
const countMatch = body.match(/共\s*(\d+)\s*条结果/) || body.match(/找到\s*(\d+)\s*条结果/);
const count = countMatch ? parseInt(countMatch[1]) : 0;
const results = [];
const titleLinks = document.querySelectorAll('a[href*="knavi/detail"]');
titleLinks.forEach(link => {
const text = link.innerText?.trim();
if (!text || text.length < 2) return;
const parent = link.closest('li, .list-item') || link.parentElement?.parentElement;
const pt = parent?.innerText || '';
results.push({
name: text.split('\n')[0]?.trim(),
url: link.href,
issn: pt.match(/ISSN[::]\s*(\S+)/)?.[1] || '',
cn: pt.match(/CN[::]\s*(\S+)/)?.[1] || '',
cif: pt.match(/复合影响因子[::]\s*([\d.]+)/)?.[1] || '',
aif: pt.match(/综合影响因子[::]\s*([\d.]+)/)?.[1] || '',
citations: pt.match(/被引次数[::]\s*([\d,]+)/)?.[1] || '',
downloads: pt.match(/下载次数[::]\s*([\d,]+)/)?.[1] || '',
sponsor: pt.match(/主办单位[::]\s*(.+?)(?=\n|ISSN)/)?.[1]?.trim() || ''
});
});
return { query, count, results };
}
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
期刊检索 "$ARGUMENTS"(共 {count} 条):
1. {name}
ISSN: {issn} | CN: {cn}
复合影响因子: {cif} | 综合影响因子: {aif}
被引: {citations} | 下载: {downloads}
list_pages + select_pagecnki-journal-indexinput.researchbtn(不是通用的 button)检查 #tcaptcha_transform_dy 元素的 getBoundingClientRect().top >= 0。腾讯验证码 SDK 会在 top: -1000000px 处预加载 DOM(在屏幕外,非激活状态)。只有当 top >= 0(实际对用户可见)时才返回 error: 'captcha'。
每周安装次数
50
代码仓库
GitHub 星标数
55
首次出现
2026年3月3日
安全审计
安装于
gemini-cli49
github-copilot49
amp49
cline49
codex49
kimi-cli49
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
52,700 周安装
SimPO 偏好优化教程:无需参考模型,性能优于 DPO,快速训练 Mistral/Llama 模型
209 周安装
HQQ 半二次量化:无需校准的快速模型量化,支持 8/4/3/2/1 比特精度
209 周安装
PyTDC:AI药物发现数据集与基准平台 - 治疗数据科学开源工具
209 周安装
GWAS Catalog数据库使用指南:SNP查询、性状关联分析与API访问教程
209 周安装
代码审查工具 review by yeachan-heo/oh-my-codex:AI 辅助代码审查与质量门控
45 周安装
商业文档生成器:一键生成专业项目提案、商业计划与年度预算PDF
220 周安装