技能标识:noisepan-digest
Set up automated news digests using noisepan (signal extraction), entropia (source verification), and HN blind spot detection. Use when configuring daily news briefs, curating RSS feeds, or building an automated intelligence pipeline that replaces manual news browsing.
自动化新闻情报与来源验证。用每日两次摘要取代无休止的刷屏。
来源:
依赖: noisepan、entropia、python3、curl
bash
brew install ppiankov/tap/noisepan ppiankov/tap/entropia
noisepan version && entropia version
下载,验证校验和,然后安装。在写入 /usr/local/bin 前询问用户 — 如果用户偏好本地安装,提供 ~/bin 作为替代方案。
bash
bash
noisepan init --config ~/.noisepan
编辑 ~/.noisepan/config.yaml。推荐结构:
yaml
sources:
hn:
min_points: 200 # 通过 Firebase API 的原生 HN
rss:
feeds:
# 安全
- https://www.reddit.com/r/netsec/.rss
- https://krebsonsecurity.com/feed/
- https://www.bleepingcomputer.com/feed/
- https://feeds.feedburner.com/TheHackersNews
- https://www.cisa.gov/cybersecurity-advisories/all.xml
# DevOps
- https://www.reddit.com/r/devops/.rss
- https://www.reddit.com/r/kubernetes/.rss
- https://blog.cloudflare.com/rss/
# AI/LLM
- https://www.reddit.com/r/LocalLLaMA/.rss
- https://simonwillison.net/atom/everything/
- https://arxiv.org/rss/cs.AI
# 状态页面
- https://status.aws.amazon.com/rss/all.rss
- https://www.cloudflarestatus.com/history.rss
# 世界/政策
- https://feeds.bbci.co.uk/news/world/rss.xml
- https://www.eff.org/rss/updates.xml
# 聚合器
- https://lobste.rs/rss
- https://changelog.com/news/feed
根据你的兴趣自定义。添加信息源后运行 noisepan doctor。
编辑 ~/.noisepan/taste.yaml。关键类别:
高信号(3-5): CVE、零日漏洞、数据泄露、RCE、供应链、宕机、事后分析、安全承诺、数据主权、反垄断、军事AI、去匿名化、提示注入、重大变更
低信号(-3 到 -5): 招聘、网络研讨会、赞助商、通讯、梗图、职业建议、名人
关键教训: 没有政策/主权/反垄断/AI安全关键词,真实故事会被安全噪音淹没。将这些权重设为与CVE相同。
当有15个以上Reddit信息源时,并行抓取会触发429错误。创建一个顺序预取包装器:
bash
cat > ~/.local/bin/noisepan-pull << SCRIPT
#!/bin/bash
mkdir -p $CACHE_DIR
FEEDS=$(grep reddit.com $CONFIG_DIR/config.yaml | grep -v ^# | grep -v ^ # | sed s/.\(.\)/\1/)
for feed in $FEEDS; do
sub=$(echo $feed | grep -oP /r/\K[^/]+)
curl -s -o $CACHE_DIR/${sub}.xml -H User-Agent: $UA $feed
sleep 2
done
python3 -m http.server 18222 --directory $CACHE_DIR &>/dev/null &
HTTP_PID=$!; sleep 0.5
mkdir -p /tmp/noisepan-tmp
cp $CONFIG_DIR/config.yaml /tmp/noisepan-tmp/config.yaml
for feed in $FEEDS; do
sub=$(echo $feed | grep -oP /r/\K[^/]+)
sed -i s|$feed|http://localhost:18222/${sub}.xml| /tmp/noisepan-tmp/config.yaml
done
ln -sf $CONFIG_DIR/taste.yaml /tmp/noisepan-tmp/taste.yaml
ln -sf $CONFIG_DIR/noisepan.db /tmp/noisepan-tmp/noisepan.db
noisepan pull --config /tmp/noisepan-tmp $@
kill $HTTP_PID 2>/dev/null; rm -rf /tmp/noisepan-tmp
SCRIPT
mkdir -p ~/.local/bin && chmod +x ~/.local/bin/noisepan-pull
当你有15个以上Reddit信息源时,使用 noisepan-pull 替代 noisepan pull。
可选 — 捕获关键词评分遗漏的高互动HN故事。作为noisepan原生HN来源的交叉检查工具。
bash
cat > ~/.local/bin/hn-top << SCRIPT
#!/bin/bash
MIN_POINTS=${1:-200}
curl -s https://hacker-news.firebaseio.com/v0/topstories.json | \
python3 -c
import json, sys, urllib.request, time
ids = json.load(sys.stdin)[:30]
min_pts = int(sys.argv[1]) if len(sys.argv) > 1 else 200
for id in ids:
try:
with urllib.request.urlopen(fhttps://hacker-news.firebaseio.com/v0/item/{id}.json) as r:
item = json.loads(r.read())
if item and item.get(score, 0) >= min_pts:
print(f[{item[\score\]:4d}pts | {item.get(\descendants\,0):3d}c] {item[\title\]})
print(f {item.get(\url\, f\https://news.ycombinator.com/item?id={id}\)})
print()
time.sleep(0.1)
except: pass
$MIN_PO
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 noisepan-digest-1776298273 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 noisepan-digest-1776298273 技能
skillhub install noisepan-digest-1776298273
文件大小: 4.16 KB | 发布时间: 2026-4-16 15:36