← 返回 Skills 市场
419
总下载
0
收藏
1
当前安装
3
版本数
在 OpenClaw 中安装
/install cnki-watch
功能描述
Query CNKI by journal name or research topic, and create journal or topic subscriptions that periodically push new CNKI paper metadata into the main OpenClaw...
使用说明 (SKILL.md)
CNKI Watch
Use this skill when the user wants CNKI results in either of these modes:
- manual journal query: return papers from a named journal,
- manual topic query: return CNKI papers related to a research topic,
- journal subscription: periodically push new papers from a named journal,
- topic subscription: periodically push new papers for a research topic.
When to use
- The user gives a journal name and wants a one-off CNKI query.
- The user gives a research topic and wants titles plus source metadata.
- The user wants a recurring CNKI watch delivered back into OpenClaw.
Preconditions
- The skill ships as a normal npm project with a root
package.jsonand declared dependencies. - Preferred runtime is still the OpenClaw gateway container, but local development runs are supported on Windows/macOS/Linux with Node.js 22+.
- On local runs, the script auto-installs missing JavaScript dependencies from
package.jsonon first use. Browser discovery supports Playwright-managed Chromium plus common Chrome/Edge installs. No customNODE_PATHis required. - Prefer
CNKI_COOKIE.CNKI_USERNAMEplusCNKI_PASSWORDis a fallback path for establishing a CNKI login session. - If CNKI shows captcha, slider verification, or another human-check page, stop and ask for a fresh
CNKI_COOKIEor a manually refreshed session. Do not invent alternative scraping logic in the model. - Treat OpenClaw runtime behavior as authoritative. The docs define the public contract; do not optimize for
quick_validate.pyquirks at the expense of runtime compatibility.
Reference files:
references/config.mdreferences/schedule.mdreferences/commands.md
Canonical entrypoint
Always use the bundled script instead of ad hoc CNKI browsing:
node {baseDir}/scripts/cnki-watch.mjs \x3Ccommand> [flags]
For local development outside OpenClaw:
cd {baseDir}
npm install
node scripts/cnki-watch.mjs --help
npx cnki-watch query-topic --topic "人工智能" --json
Core commands
One-off journal lookup
node {baseDir}/scripts/cnki-watch.mjs query-journal --journal "计算机学报" --json
One-off topic lookup
node {baseDir}/scripts/cnki-watch.mjs query-topic --topic "大模型安全" --json
Create a journal subscription
node {baseDir}/scripts/cnki-watch.mjs subscribe-journal --journal "计算机学报" --schedule "daily@09:00" --json
Create a topic subscription
node {baseDir}/scripts/cnki-watch.mjs subscribe-topic --topic "大模型安全" --schedule "weekly@mon@09:00" --json
List and remove subscriptions
node {baseDir}/scripts/cnki-watch.mjs list-subscriptions --json
node {baseDir}/scripts/cnki-watch.mjs unsubscribe --id "\x3Csubscription-id>" --json
node {baseDir}/scripts/cnki-watch.mjs run-subscription --id "\x3Csubscription-id>" --json
Workflow
- Decide whether the user wants a manual query or a subscription.
- Preserve the journal name or topic text exactly unless the user explicitly asks to normalize it.
- Use
query-journalfor a journal lookup andquery-topicfor a topic lookup. - Use
subscribe-journalorsubscribe-topicfor recurring pushes. If the user does not supply a schedule, use the configureddefaultSchedule. - Respect skill config for
browserProfile,timezone,defaultSchedule,maxManualResults, andmaxPushResults. - After creating, listing, running, or removing a subscription, report the subscription id, schedule, timezone, and status returned by the script.
Delivery rules
- Subscription jobs run as isolated cron turns with no automatic announce delivery.
- The script is responsible for posting new findings back to the main OpenClaw chat, typically through
chat.inject. - Manual queries return metadata to the current turn and do not create subscription state.
- Subscription runs should push only new items and stay silent when there is no delta.
- Return metadata and CNKI links only. Do not promise PDFs, full text, or other copyrighted payloads.
Failure handling
- If the script reports missing browser dependencies or an unusable runtime, fix the OpenClaw runtime and retry.
- If CNKI blocks the session with captcha or another verification flow, stop and ask for a fresh
CNKI_COOKIEor a manually refreshed CNKI session. - If a journal lookup returns weak matches, verify the exact journal name and tell the user that source filtering may need the precise CNKI source string.
- If credentials are missing, ask the user to populate
CNKI_COOKIE, orCNKI_USERNAMEplusCNKI_PASSWORD, in the skill env config before retrying.
安全使用建议
This skill appears to implement what it says (CNKI lookups + scheduled watches), but the published metadata is incomplete: it doesn't declare the CNKI credentials that the code and SKILL.md require. Before installing, verify you trust the skill owner and review the main script (scripts/cnki-watch.mjs). Pay attention to these points:
- Provide credentials only to the skill's OpenClaw config (CNKI_COOKIE or CNKI_USERNAME/CNKI_PASSWORD). If you prefer not to store passwords, supply a session cookie.
- The script may run npm install inside the skill directory to fetch playwright-core. If you want to avoid runtime network installs, set CNKI_WATCH_AUTO_INSTALL=0 and preinstall dependencies in a controlled environment.
- The skill reads ~/.openclaw/openclaw.json (gateway port/token) to deliver messages; ensure that file's contents are acceptable to be read by this skill.
- If you want extra safety, run the skill in a restricted container or review/lock the package-lock.json before allowing it to install dependencies.
If you need, I can point to exact lines in scripts/cnki-watch.mjs that perform the npm install, read config, and post back to the gateway.
功能分析
Type: OpenClaw Skill
Name: cnki-watch
Version: 0.2.1
The cnki-watch skill is a legitimate tool for querying and subscribing to academic papers from CNKI. It uses Playwright for browser automation, includes a sophisticated image-processing logic to solve slider captchas, and interacts with the OpenClaw CLI to manage recurring subscriptions. While it handles sensitive credentials (CNKI_COOKIE/passwords) and uses imperative instructions to ensure reliable agent execution during cron jobs, all behaviors are strictly aligned with its stated purpose. No evidence of data exfiltration, unauthorized system access, or malicious intent was found in the code or instructions.
能力评估
Purpose & Capability
The skill claims to query CNKI and push results into OpenClaw; the included scripts, package.json, and README align with that. However the published registry metadata lists no required environment variables or credentials while the SKILL.md and references/config.md clearly require CNKI_COOKIE or CNKI_USERNAME/CNKI_PASSWORD. That metadata omission is an incoherence — a CNKI integration legitimately needs CNKI auth, so the metadata is incomplete and misleading.
Instruction Scope
The SKILL.md and scripts describe exactly the actions the skill will take: run a Node script, use Playwright to browse/scrape CNKI, read OpenClaw skill config (~/.openclaw/openclaw.json) and process.env for credentials and settings, create/list subscription state, and post new items back into the main OpenClaw chat (via gateway/chat.inject). The instructions do not ask the agent to read unrelated host data (e.g., shell history) or exfiltrate data to unknown external endpoints. They do instruct the script to stop and surface errors when CNKI shows captchas.
Install Mechanism
There is no formal install spec in the registry, but the bundled script will attempt to require('playwright-core') and, if missing, run npm install/ci inside the skill directory (spawn npm). package-lock.json is included and points to playwright-core from the npm registry. This is a standard npm install flow (moderate risk): it will fetch packages from npm at runtime unless dependencies are already present. There are no downloads from arbitrary URLs or URL shorteners in the manifest.
Credentials
The runtime expects CNKI credentials (CNKI_COOKIE preferred, fallback CNKI_USERNAME+CNKI_PASSWORD) and also respects optional host env vars (CNKI_WATCH_CHROMIUM, CNKI_WATCH_AUTO_INSTALL). Those credentials are proportionate to the stated CNKI-scraping purpose. The problem is that the skill registry metadata declares no required env vars or primary credential, which is inconsistent and could mislead administrators. The scripts also read OpenClaw config (including gateway token if present) from ~/.openclaw/openclaw.json — that is expected for delivery, but administrators should be aware the skill reads that config file.
Persistence & Privilege
The skill does persist subscription state to a local runtime file (runtime/subscriptions.json) under the skill directory and can add cron jobs via the OpenClaw CLI/gateway as described. It does not request 'always: true' and does not modify other skills. Autonomous invocation is allowed (platform default) which is expected for scheduled subscriptions; this raised no extra red flags by itself.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install cnki-watch - 安装完成后,直接呼叫该 Skill 的名称或使用
/cnki-watch触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.2.1
Prefer local module resolution for playwright-core, only fall back to /app in container runtimes, and replace container-specific browser install hints with cross-platform guidance.
v0.2.0
Package the skill as a proper npm project, add first-run dependency bootstrap, and support local Chrome/Edge discovery outside the OpenClaw container.
v0.1.0
Initial release: CNKI journal/topic queries, subscriptions, and main-chat delivery.
元数据
常见问题
CNKI Watch 是什么?
Query CNKI by journal name or research topic, and create journal or topic subscriptions that periodically push new CNKI paper metadata into the main OpenClaw... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 419 次。
如何安装 CNKI Watch?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install cnki-watch」即可一键安装,无需额外配置。
CNKI Watch 是免费的吗?
是的,CNKI Watch 完全免费(开源免费),可自由下载、安装和使用。
CNKI Watch 支持哪些平台?
CNKI Watch 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 CNKI Watch?
由 YJLi-new(@yjli-new)开发并维护,当前版本 v0.2.1。
推荐 Skills