astock-cache — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited astock-cache (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
# 看缓存多少了
python main.py kline-stats
# 跑一次全市场 K 线更新 (15-30 分钟, 但之后都是 5 秒)
python daily_update.py
# 单独看某只股票
python main.py kline-stats
# {"count": 5028, "size_mb": 18.4}cache_set/get/delete/clearcached(key, ttl) 装饰器~/.astock_skills/cache/*.pklkline_save(code, df, days) 存 parquetkline_load(code, days, max_age_hours) 读kline_get_or_fetch(code, fetch_fn, days) 智能模式~/.astock_skills/cache/kline/{code}_{days}d.parquetfrom skills.01-infra.astock-cache.main import kline_get_or_fetch
from skills.01-infra.astock-data-source.main import get_kline
def smart_kline(code, days=60):
"""优先读缓存, 缓存没有才拉网络"""
return kline_get_or_fetch(code, get_kline, days=days)
# 第一次慢 (拉网络), 之后 5 秒
df = smart_kline("601991", 60)| 场景 | 无缓存 | 有缓存 | 加速比 |
|---|---|---|---|
| 单股 60 日 K 线 | 1.2s | 0.05s | 24x |
| 全市场 5028 只 60 日 | 30min | 5s | 360x |
pandas>=1.5.0
pyarrow>=10.0.0 # parquet 引擎~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.