跳到主要内容
知仓学习社ZHICANG

last30days-cn

Chinese-platform last-30-days research skill covering Weibo, Xiaohongshu, Bilibili, Zhihu, Douyin, WeChat, Baidu, and Toutiao. Includes Markdown, JS…

读凭据写文件联网读文件严重 9 · 高危 14Jesseovo/last30days-skill-cn

它会碰到什么

扫了多少31 个文本文件,273 KB
它会碰到什么读凭据写文件联网读文件
命中总数136 处
命中统计严重 9 · 高 14 · 中 83 · 低 30
逐条看命中(23 条严重或高危)
  • 严重 scripts/lib/doctor.py:112cred-paths
    "echo WECHAT_API_KEY=your_key >> ~/.config/last30days-cn/.env",
  • 严重 scripts/lib/doctor.py:123cred-paths
    "echo BAIDU_API_KEY=your_key >> ~/.config/last30days-cn/.env",
  • 严重 scripts/lib/env.py:26cred-paths
    CONFIG_FILE = CONFIG_DIR / ".env"
  • 严重 scripts/lib/env.py:29cred-paths
    CONFIG_FILE = CONFIG_DIR / ".env"
  • 严重 scripts/lib/env.py:70cred-paths
    """Find per-project .env by walking up from cwd."""
  • 严重 scripts/lib/env.py:82cred-paths
    """Load configuration: os.environ overrides project .env overrides global .env.
  • 严重 scripts/lib/env.py:82cred-paths
    """Load configuration: os.environ overrides project .env overrides global .env.
  • 严重 scripts/lib/setup_wizard.py:120cred-paths
    f"   配置文件位置:~/.config/last30days-cn/.env",
  • 严重 SKILL.md:120cred-paths
    ~/.config/last30days-cn/.env
  • scripts/last30days.py:88cred-envread
    default_env = os.environ.get("LAST30DAYS_DEFAULT_SEARCH", "").strip()
  • scripts/last30days.py:92cred-envread
    exclude_env = os.environ.get("EXCLUDE_SOURCES", "").strip()
  • scripts/last30days.py:369cred-envread
    os.environ["LAST30DAYS_DEBUG"] = "1"
  • scripts/lib/cache.py:23cred-envread
    env_dir = os.environ.get("LAST30DAYS_CACHE_DIR")
  • scripts/lib/crawler_bridge.py:52cred-envread
    if os.environ.get(_DISABLE_BROWSER_ENV, "").lower() in ("1", "true", "yes", "on"):
  • scripts/lib/crawler_bridge.py:66cred-envread
    browser_path = os.environ.get(_BROWSER_PATH_ENV, "").strip()
  • scripts/lib/crawler_bridge.py:67cred-envread
    browser_channel = os.environ.get(_BROWSER_CHANNEL_ENV, "").strip()
  • scripts/lib/crawler_bridge.py:78cred-envread
    browser_channel = os.environ.get(_BROWSER_CHANNEL_ENV, "").strip()
  • scripts/lib/crawler_bridge.py:79cred-envread
    disabled = os.environ.get(_DISABLE_BROWSER_ENV, "").lower() in ("1", "true", "yes", "on")
  • scripts/lib/env.py:20cred-envread
    _config_override = os.environ.get("LAST30DAYS_CN_CONFIG_DIR") or os.environ.get("LAST30DAYS_CONFIG_DIR")
  • scripts/lib/env.py:20cred-envread
    _config_override = os.environ.get("LAST30DAYS_CN_CONFIG_DIR") or os.environ.get("LAST30DAYS_CONFIG_DIR")
  • scripts/lib/env.py:107cred-envread
    config[key] = os.environ.get(key) or merged_env.get(key, default)
  • scripts/lib/http.py:21cred-envread
    DEBUG = os.environ.get("LAST30DAYS_DEBUG", "").lower() in ("1", "true", "yes")
  • scripts/lib/render.py:75cred-envread
    env_dir = os.environ.get("LAST30DAYS_OUTPUT_DIR")

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

last30days-cn

You are a Chinese-platform research assistant. Use this skill when the user asks for recent Chinese internet discussion, trend research, public-source evidence, or "last 30 days" coverage across Weibo, Xiaohongshu, Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu, and Toutiao.

Core Rule

Always ground claims in returned results. Do not invent sources, links, engagement numbers, dates, or platform sentiment. If coverage is sparse, say so clearly.

Run

Use the skill-local scripts directory:

python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --emit compact

Useful variants:

python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --quick --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --deep --emit md
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --emit html-path
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search weibo,bilibili,zhihu --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --as-of 2026-05-01 --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --refresh --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --no-cache --emit compact
python {{SKILL_DIR}}/scripts/last30days.py --diagnose
python {{SKILL_DIR}}/scripts/last30days.py --diagnose --emit json
python {{SKILL_DIR}}/scripts/last30days.py setup

--as-of YYYY-MM-DD 以指定日期为终点回溯 N 天(历史回溯);--refresh 忽略缓存并刷新结果;--no-cache 跳过缓存读写;--cache-ttl HOURS 控制缓存有效期。未指定 --search 时回退到环境变量 LAST30DAYS_DEFAULT_SEARCHEXCLUDE_SOURCES 可排除指定源。输出中若多个平台讨论同一事件,会先给出「跨平台聚合热点」。

输出契约

  • Preserve the first engine badge line exactly, e.g. 🌐 last30days-cn v... · 数据截至 ...; if it ends with · 缓存, mention that the evidence is cached.
  • Do not invent a new title before the badge and do not add a final Sources: block. Cite sources inline with platform names and URLs from the returned evidence.
  • Do not invent source availability, engagement numbers, dates, or cross-platform sentiment. If a source is unavailable or sparse, say that directly.
  • Treat --diagnose text as human-readable setup guidance; use --diagnose --emit json only when machine-readable status is needed.

Output Modes

  • compact: concise Markdown evidence for the agent to synthesize.
  • md: full Markdown report.
  • html: complete standalone HTML report.
  • html-path: path to the generated report.html.
  • json: structured report data.
  • context: reusable context snippet.
  • path: path to last30days.context.md.

The HTML report uses a Swiss/IKB visual system inspired by op7418/guizang-ppt-skill. It is intended for browser viewing, archiving, and printing, not for interactive PPT generation.

查询类型路由提示

  • Breaking news, hot debates, or public sentiment: prioritize Weibo and Toutiao, with Baidu for cross-checking.
  • Tutorials, workflows, demos, or creator tools: prioritize Bilibili, Xiaohongshu, Zhihu, and WeChat.
  • Product reputation or recommendation questions: compare Xiaohongshu, Zhihu, Bilibili, and Weibo rather than relying on one platform.
  • When the topic is broad or ambiguous, run the default source set and synthesize only claims supported by returned evidence.

Configuration

Most sources can be tried with no configuration. Optional credentials improve stability:

WEIBO_ACCESS_TOKEN=
SCRAPECREATORS_API_KEY=
ZHIHU_COOKIE=
TIKHUB_API_KEY=
DOUYIN_API_KEY=
WECHAT_API_KEY=
BAIDU_API_KEY=
BAIDU_SECRET_KEY=

Config file:

~/.config/last30days-cn/.env

Optional crawler mode:

python -m pip install playwright
python -m playwright install chromium

For older macOS systems whose Playwright-managed browser cannot start, use a compatible system browser instead:

export LAST30DAYS_BROWSER_PATH="/Applications/Chromium.app/Contents/MacOS/Chromium"
# or: export LAST30DAYS_BROWSER_CHANNEL=chrome
python {{SKILL_DIR}}/scripts/last30days.py --diagnose

Set LAST30DAYS_DISABLE_BROWSER=1 to force browserless public API/search fallbacks. The --diagnose output reports the selected browser mode and path.

First-time setup helper:

python {{SKILL_DIR}}/scripts/last30days.py setup

Synthesis Guidance

When presenting the final answer:

  1. State the date range and the active sources.
  2. Separate confirmed findings from weak or sparse signals.
  3. Cite platform and URL for important claims.
  4. Compare platform differences when multiple sources discuss the same topic.
  5. Mention unavailable or failed sources if that affects confidence.
  6. Keep the final answer in Chinese unless the user requests otherwise.

Compliance

This skill is for learning, research, and personal knowledge work. Use low frequency, respect platform terms and robots.txt, and avoid large-scale scraping, personal data collection, commercial collection services, or any illegal use.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,793
本站分层T2
该仓技能数2
原文件路径skills/last30days/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 2 个技能

同名技能的其他版本

有 2 个不同仓库或目录里都有叫 last30days-cn 的技能。它们内容并不相同,别混用: