joy-cli/docs/ops/manhuang-handbook.md
feibisi 71caf4af96 feat(manhuang): 采购雷达 — 货架事件、商家信任与噪声标
SKU 通用流程:history 差分产出 shelf_events(价/有货,unknown≠售罄),
shops trust 分进 tab-caches/黑市面板;礼品卡面值假差标 noise;
ensure-shops --record-outcome 回填我方履约。设计见 manhuang-procurement-radar.md。
2026-07-13 13:57:46 +08:00

22 KiB
Raw Permalink Blame History

蛮荒Manhuang完整手册

更新2026-07-12含全量核实、SMS-Activate 停运、free/MSRP/providers
定位AI / OSINT 能力供应链作战室——观察、比价、缺口、隐渠信号。
不成交:黑市 / 鬼市都只做观察;下单、代付、登录暗网商城不在本系统内。

本手册是运维总入口。极简索引:manhuang-README.md。面板语义见 joy-manhuang.md;专题见文末「文档地图」。
最近全量探活:manhuang-full-audit-2026-07-12.md

快速跳转

要做什么 看哪里
日常刷新管线 §6 · §19
采购雷达 · 货架事件/信任/RSS vs 自采 procurement-radar
接码用谁 §15仅 5simSMS-Activate 已停)
shops / X 观察店 §8
channels 校验 / status 语义 §9
Tor / 鬼市 / onion §10 · guishi-probe
Quote API / free / MSRP channels-and-quote-api
自建 CD/RSSHub 别重起 §11 · selfhost-catalog

1. 一句话架构

外源探针Mac clearnet + scout Tor
        │  控频 launchd / cron
        ▼
 ~/.cache/manhuang/
   quotes/   (ai-accounts · community-prices · msrp-litellm · free-llm-lists)
   relays/   (status · candidates-from-providers)
   guishi/ · changedetection/ · tab-caches · pipeline-last
        │
   collect_manhuang()  ──►  joy dashboard  UItab 驾驶舱)
        │
   quote-aggregator :8877本机只读/v1/quotes · /v1/msrp · /v1/free …)
角色 机器 做什么
Mac / linuxjoy 宿主机 黑市比价、community价+free+MSRP、具名中转、CD、notify、collect、面板
scout 侦察 VM Tor :9050、鬼市探针、onion 标题级探活、handbooks、open-feeds/Miniflux
ai-team 10.211.55.107 ChangeDetection :5000 · RSSHub :1200Docker 长期服务落这里,不重复起栈
konqi joy-konqi 链危机 / 品牌威胁通知接收方

2. 黑市 vs 鬼市(铁律)

黑市 heishi 鬼市 guishi
对象 清网可审计平台、SKU 比价 隐渠、onion、OSINT、本地 shops
数据 blackmarket.skus · demand · channels.json guishi.channels · shops · probe · onion
能做 探价、demand 挂钩、价差/缺口推 konqi Tor 标题探活、品牌撞库、目录质量
不做 代下单 / 代付 登录市场、爬商品分页、自动成交

分层字段:

  • market_layerheishi | guishi(明面 marketplace heishi kind 优先
  • 鬼市 qualitysignal(有 handle/url 可跟)| live(探针活)| placeholder(仅目录壳)

channels.json status 语义(货架过滤)

status 含义 是否进 heishi 货架
active 主路径可探针
watch / watch_only / catalog_only / needs_key / optional 观察或需密钥 观察向(归一为 watch
down 核实不可达SSL/挂) 是但标弱;中转勿主用
shutdown / dead / exit_scam 停运/跑路 collect 跳过)

例:SMS-Activate = shutdown2025-12 官方停运),禁止当「待 key 活源」。


3. 价值链与导航

支付(碎银) → 原料(接码/邮箱/代理) → 自产(密令注册机) → 号池(Codex/API)
    → 消费(接口探活) → 工程(Agent) → 出口(通道/Tor)
风险旁路:帮派(威胁) · 密室(暴露面)
外购旁路:黑市(明面 demand/实价) · 鬼市(隐渠/TG/发卡/onion 线索)

一级导航(靠前):
总览 → 密令 → 黑市 → 鬼市 → 碎银 → 接口 → Agent → 通道 → 帮派 → 密室 → 数据源 → 辅线…

成功标准:

  1. 10 秒内看到哪一环红、next 是什么
  2. Codex 全死时总览/密令/黑市同一危机叙事
  3. 黑市主视野 = 需求 + 实价;锚价折叠
  4. 默认进 总览驾驶舱

4. 配置路径

用途 仓库(可提交) 本地 / 私密(不进 git
黑市渠道目录 configs/manhuang/channels.json ~/.config/manhuang/channels.json
产品类型 configs/manhuang/product-types.json 覆盖同路径
鬼市扩展目录 configs/manhuang/guishi-channels.json ~/.config/manhuang/guishi-channels.json
具名中转 configs/manhuang/relays.json ~/.config/manhuang/relays.json
onion 白名单 configs/manhuang/onion-markets.example.json ~/.config/manhuang/onion-markets.json · scout ~/data/manhuang/onion-markets.json
本地店表 configs/manhuang/shops.example.json ~/.config/manhuang/shops.json · scout ~/data/manhuang/shops.json
密钥 configs/manhuang/keys.env.example ~/.config/manhuang/keys.env§14 表)

缓存Mac

~/.cache/manhuang/
  quotes/ai-accounts.json          # 黑市 SKU 比价
  quotes/community-prices.json     # proxy 价 + 5sim + free/msrp 摘要字段
  quotes/msrp-litellm.json         # LiteLLM 官方 token 锚
  quotes/free-llm-lists.json       # mnfst free + cheahjs 摘要
  quotes/.demand-probe.{request,last}
  relays/status.json               # 具名 + providers.yaml 动态候选
  relays/candidates-from-providers.json
  changedetection/status.json
  guishi/{status,handbooks}.json   # 自 scout 拉回或 scp
  tab-caches.json
  pipeline-last.json               # 管线健康快照(含侧线阶段)
  chain-alerts.jsonl

scout 数据:

~/data/manhuang/guishi/status.json
~/data/manhuang/guishi/handbooks.json
~/data/manhuang/{shops,onion-markets,guishi-channels}.json
~/logs/manhuang-guishi.log

5. 两条管线(别混)

管线 目的 入口 文档
A 供应链比价 黑市价 / demand / 中转 / free·MSRP / 鬼市 ssh / 通知 Mac run-quote-probe.sh + Quote API 本手册 · channels-and-quote-api
B 开源态势 公开 IOC/KEV、live-pulse 品牌、Miniflux、open-feeds scout cron + Mac live-pulse data-sources · oss-path

面板 collect_manhuang 两边都读。Docker 长期服务CD/RSSHub只在 ai-team


6. 脚本清单

路径均相对 ~/Projects/joy-cliscripts/manhuang/ 现网全表:

脚本 作用
run-quote-probe.sh 主入口:智能 quotes + community + relays + CD + guishi + tab-caches + notify + pipeline-last
probe-ai-account-quotes.py GGSel/FunPay/Plati…--demand-first 只打 gap SKU
probe-community-prices.py awesome 价 + OpenRouter + 5sim + free + LiteLLM MSRP
probe-named-relays.py relays.json + providers.yaml 动态候选reverse 跳过)
probe-changedetection.py ai-team CD 状态
ensure-cd-watches.py CD 幂等建 watch--shops / --guishi / --all-guishi
probe-guishi.py 仅 scout:浅水 + onion 标题
build-guishi-handbooks.py 闲鱼等手册索引
ensure-shops.py shops init / validate / sync-scout / add-stub
check-tor-scout.sh scout Tor SOCKS + circuit写 tor_hint
validate-channels.py channels.json 结构校验
quote-aggregator.py 本机 :8877 只读 API
build-tab-caches.py 新鲜度 / price_moves / demand_probe 摘要
notify-chain.sh 链危机 / 大价差 / 中转 down → konqi2h
notify-guishi-brand.sh 品牌 threat → konqi4hexposure 默认不推)
enrich-open-hits.py 管线 B:公开 feed 对撞自有域名scout

6.1 日常管线(首选)

bash scripts/manhuang/run-quote-probe.sh              # 智能demand 旗 / 轮换 / 轻量
bash scripts/manhuang/run-quote-probe.sh --demand-first --force
bash scripts/manhuang/run-quote-probe.sh --rotate --force

run-quote-probe.sh 串联大致quotes → community → relays → CD → guishi(ssh) → tab_caches → notify → pipeline-last.json
exit code 以 quotes 为主;尾部失败记 log + pipeline不伪装 quotes 失败。


7. 需求优先demand-first与缺口闭环

7.1 何时自动挂旗

collect_manhuang 检测:

  • 链危机(chain.crisis
  • 需求货架无 marketplace 实价 / sku_gap 偏大

→ 写 ~/.cache/manhuang/quotes/.demand-probe.request(约 90min 节流)
→ launchd 每 30min 的 run-quote-probe.sh 消费 → --demand-first --force

7.2 手动补 gap

cd ~/Projects/joy-cli
python3 scripts/manhuang/probe-ai-account-quotes.py --demand-first --force
# 成功后会写 quotes + .demand-probe.last

7.3 实测快照2026-07-12

探针模式 demand-first gap manual
probed_n 22 SKU
market_hits 12FunPay / GGSel / 5sim 等)
codex 相关 hits 4→7codex_quota $8 FunPay
quotes 盘 skus≈59demand 货架≈19
鬼市 channels 146 · quality signal/live/placeholder ≈36/56/54
黑市 channels 52

缺口不会永远为 0官方锚价、无灰市 lot 的 SKU 会保留 gap属预期。


8. 本地店表 shops.json

8.1 流程

# 1) 初始化空壳(或已有则原样)
python3 scripts/manhuang/ensure-shops.py

# 2) 加可编辑位(非 demo
python3 scripts/manhuang/ensure-shops.py --add-stub

# 3) 编辑真实 TG handle / 发卡 URL频道名不进 git
$EDITOR ~/.config/manhuang/shops.json

# 4) 校验:每条 real 店须有 url 或 handle 或 rsshub_path
python3 scripts/manhuang/ensure-shops.py --validate

# 5) 同步 scoutprobe 会读)
python3 scripts/manhuang/ensure-shops.py --sync-scout

# 6) CD 盯 http URL无 URL 的 TG 不会建 watch
python3 scripts/manhuang/ensure-cd-watches.py --shops

8.2 字段要点

  • id 唯一;勿含 demo/example(否则 collect 当示例跳过)
  • handleurlrsshub_path 至少一项
  • sku_for:挂到 demand capabilitycodex_quota / claude / sms
  • statuswatch / active
  • brands 列表驱动鬼市品牌撞库

8.3 当前状态2026-07-12

  • 本地 ~25 条观察店FunPay/GGSel/5sim/OpenRouter/awesome + X 检索式 + 样本发卡/中转)
  • validate ok · 已 sync scout · CD 对 http URL 已建 watch
  • 私有 TG 卖号 Bot可改 tg-slot-ai-private--add-stub不要把私人 handle 提交 git
  • 刻意不收录:随机 WhatsApp/手机号 spam

9. channels.json 校验与目录块

python3 scripts/manhuang/validate-channels.py
python3 scripts/manhuang/validate-channels.py --json   # 机读

校验内容:

  • marketplaces[]id、base/urlcatalog_only/manual 允许无 base
  • sms_apis[] / relay_price_feeds[] / named_relay_stations[]id
  • demand_sku_ids:非空字符串列表
  • product-types.json 交叉提示(未知 product_types 警告)
用途
marketplaces 明面店 + FunPay lots
sms_apis 接码(5sim activeSMS-Activate shutdown
relay_price_feeds GitHub JSON / OpenRouter / LiteLLM MSRP / providers.yaml
named_relay_stations 具名中转down 的勿主用)
free_llm_lists free 档目录mnfst 机读 + cheahjs
demand_sku_ids demand-first 关键 SKU

仓库基线量级marketplaces ~10 · sms 4 · relay feeds ~7 · free lists ~5 · demand_sku_ids 21。


10. Onion 白名单与 Tor

10.1 策略policy

"checkout": false,
"scrape_listings": false,
"title_probe": true

只探活 + 抽 <title>;不登录、不下单、不爬商品分页。example.onion 会被跳过。

10.2 部署

cp configs/manhuang/onion-markets.example.json ~/.config/manhuang/onion-markets.json
# 仅保留 legal + 经 dark.fail 核对的 observe 地址
scp ~/.config/manhuang/onion-markets.json scout:data/manhuang/onion-markets.json

bash scripts/manhuang/check-tor-scout.sh
# 可选bash scripts/manhuang/check-tor-scout.sh --restart

ssh scout 'python3 ~/scripts/manhuang/probe-guishi.py'

10.3 实测2026-07-12

检查 结果
SOCKS 9050 ok
check.torproject.org/api/ip circuit_ok · IsTor
合法 onion 标题 Tor Project alive<title>Tor Project | Anonymity OnlineDDG onion 偶发 40s 超时
clearnet 浅水 近次 checks 51 · ok≈46 · fail≈5论坛/paste 超时属常态)
说明 电路活 ≠ 每个 .onion 秒开;白名单只保 legal 基线即可

11. ChangeDetection

# keys.env
# CHANGEDTECTION_URL=http://10.211.55.107:5000
# CHANGEDTECTION_API_KEY=...

python3 scripts/manhuang/ensure-cd-watches.py --all-guishi
python3 scripts/manhuang/probe-changedetection.py

Mac Python 不认 NO_PROXY 的 CIDR;脚本对 10.x 强制直连。
workers 过多会拖死 Flask → 502compose 建议 NUMBER_OF_WORKERS=2 + healthcheck。


12. 通知

脚本 触发 节流 通道
notify-chain.sh chain crisis / Codex 无额 / 价差 Δ≥1 / 中转 down 2h / mode vm-dm konqi → 失败落 ~/office/konqi/inbox
notify-guishi-brand.sh brand threat(钓鱼/IOC 4h 同上exposure 默认不推

不改 NATS ACL。强制--force


13. 面板字段速查

API 字段 UI
manhuang.chain 总览六环
manhuang.blackmarket 黑市 demand / skus / shelf
manhuang.guishi 鬼市 channels / shops / probe / brand_hits
manhuang.demand_probe 总览/黑市 demand 条
manhuang.pipeline 数据源 tab 管线表 + 新鲜度(含侧线阶段)
manhuang.community_prices 社区价 overlay
manhuang.relays 具名中转
manhuang.changedetection CD 摘要
manhuang.channels_catalog 交易平台目录卡
manhuang.tab_resources 各 tab 资源图谱辅线(默认折叠)

14. launchd / cron / 密钥

Mac launchd仓库 configs/launchd/

Label 周期 程序 日志
com.feibisi.manhuang-quotes 30min run-quote-probe.sh ~/logs/manhuang-quotes.{stdout,stderr}.log
com.feibisi.manhuang-quote-api KeepAlive quote-aggregator.py ~/logs/manhuang-quote-api.*.log
cp configs/launchd/com.feibisi.manhuang-quotes.plist ~/Library/LaunchAgents/
cp configs/launchd/com.feibisi.manhuang-quote-api.plist ~/Library/LaunchAgents/
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.feibisi.manhuang-quotes.plist
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.feibisi.manhuang-quote-api.plist
launchctl kickstart -k gui/$(id -u)/com.feibisi.manhuang-quote-api
curl -s http://127.0.0.1:8877/v1/summary | jq .

scout cron建议

probe-guishi + handbooks25 */2 * * *open-feeds 见 data-sources

keys.env

模板:configs/manhuang/keys.env.example~/.config/manhuang/keys.env

变量 用途 必需?
CHANGEDTECTION_URL / API_KEY ai-team CD CD 建议有
BRAND_DOMAINS 鬼市品牌撞库 建议
RSSHUB_BASE shops 拉频道 可选 · 用 http://10.211.55.107:1200
ABUSECH_* / OTX_* / URLSCAN_* live-pulse 管线 B 可选

15. 接码源核实2026-07-12

结论
5sim 主路径 · guest prices HTTP 200 · 价缓存有效(多国)
SMS-Activate 官方停运(约 2025-12-22· 首页仍 200 但是告别页 “SMS-Activate service is closed / completely ceased since December 22” · 品牌已废 · 冒充新站=诈骗 · 禁止充值/探针
SMS-Man 首页 403/盾 · watch_only
GrizzlySMS 首页 200 · watch_only(未接 key

社区常说「跑路」:实质是停运 + 提现门槛争议(曾要求 ≥$30 退款),官方自称技术转 HeroSMS不是「待 API key 的活源」。目录字段:status: shutdown

collect 铁律: shutdown / dead / exit_scam 不得进入黑市 channels(已修 catalog 漏过滤)。

同日更大范围核实见 manhuang-full-audit-2026-07-12.md68 URL · 65 ok

中转核实 结论
openrouter / yunwu / bltcy / tokenx24 可用
geshihua / uiuiapi SSL 不可达 · status: down · 不主用

16. 排障速查

症状 检查
黑市/鬼市 UI 空 layer 折叠过猛?看 counts;重启 dashboard 重 collect
demand 永远无价 --demand-first --force;看 FunPay/GGSel 是否被墙
pipeline 老旧 run-quote-probe.sh --force;看 pipeline-last.json stages
Tor down check-tor-scout.shscout systemctl --user status tor
onion 全超时 电路 ok 时仍可能慢;加长 timeout 或先只保 legal 基线
CD 502 降 workers确认 10.x 直连
shops validate 失败 填 handle/urldemo id 会被跳过
密钥进面板 禁止;只放 keys.env / 工具配置

17. 文档地图

文档 内容
本手册 总入口 · 运维闭环 · 铁律 · 接码核实
manhuang-README.md 极简索引 + 一键体检
joy-manhuang.md 面板页结构 / tab 语义
manhuang-supply-chain.md 供应链 v9 · 成功标准 · 轮询
manhuang-procurement-radar.md 采购雷达 · 货架事件 · 信任 · RSS vs 自采
manhuang-channels-and-quote-api.md 渠道 + Quote API + free/MSRP
manhuang-guishi-probe.md 鬼市探针 / shops / onion / brand
manhuang-full-audit-2026-07-12.md 全量探活快照68 URL
manhuang-data-sources.md 数据源契约 / live-pulse
manhuang-markets-catalog.md 市场与产品类型摘要
manhuang-selfhost-catalog.md 自托管选型(含 ai-team CD/RSSHub
manhuang-oss-path.md 开源默认路线
manhuang-tabs-review-2026-07-11.md 历史 tab 评审纪要(默认可不读)

代码:

  • 后端 src/joy/dashboard/manhuang.py · manhuang_shelf.py(事件/信任纯函数)
  • 前端 src/joy/web/js/tabs/manhuang.js(货架事件条 · 信任榜 · 价差)
  • 配置 configs/manhuang/shops.example trust 字段)
  • 脚本 scripts/manhuang/build-tab-caches 写 shelf_events / shops_trust

18. 安全与合规

  1. 密钥 / cookie / token 永不进 git、永不进面板
  2. shops / onion 真实地址只在本机与 scout 私有路径
  3. 观察可以大胆;成交在系统外人工
  4. 品牌 threat 通知给人裁决,脚本不自动处置
  5. 暗网只做白名单标题探活,不扩爬
  6. 已停运品牌(如 SMS-Activate禁止充值冒充「新官网」按诈骗处理
  7. 中转 providers.yaml 收录 ≠ 背书;只 health不自动注册

19. 常用复制块

cd ~/Projects/joy-cli

# 全管线强制
bash scripts/manhuang/run-quote-probe.sh --demand-first --force

# 仅 gap 补价
python3 scripts/manhuang/probe-ai-account-quotes.py --demand-first --force

# communityproxy 价 + 5sim + free + MSRP
python3 scripts/manhuang/probe-community-prices.py
python3 scripts/manhuang/probe-named-relays.py

# channels 校验
python3 scripts/manhuang/validate-channels.py

# shops
python3 scripts/manhuang/ensure-shops.py --validate
python3 scripts/manhuang/ensure-shops.py --sync-scout

# Tor + 鬼市
bash scripts/manhuang/check-tor-scout.sh
scp scripts/manhuang/probe-guishi.py scout:~/scripts/manhuang/
ssh scout 'python3 ~/scripts/manhuang/probe-guishi.py'

# CD
python3 scripts/manhuang/ensure-cd-watches.py --all-guishi
python3 scripts/manhuang/probe-changedetection.py

# Quote API 抽查
curl -s http://127.0.0.1:8877/v1/summary | jq .
curl -s http://127.0.0.1:8877/v1/msrp | jq '.anchors|keys'
curl -s http://127.0.0.1:8877/v1/free | jq '.providers_n // .mnfst.providers_n'

# 通知(慎用 force
bash scripts/manhuang/notify-chain.sh
bash scripts/manhuang/notify-guishi-brand.sh

20. 文档完备性(自检 · 2026-07-12

问题 够吗?
新人如何跑通主路径? — §6 + §19 复制块
接码用谁 / SMS-Activate 坑? — §15
黑市 vs 鬼市边界? — §2
Quote API / free / MSRP — channels-and-quote-api
shops / X 观察店? — §8
自建别重复起栈? — §5 + selfhost-catalog
全量探活快照? — full-audit
keys / launchd / 日志路径? — §14本轮补全
双管线 A 比价 vs B 开源态势? — §5本轮补全
脚本是否全覆盖? — §6 全表(含 enrich-open-hits
guishi-channels 115+ 条怎么维护? — 只说加载路径,未写「如何批量改 layer」够用则手改 JSON
面板字段 → UI 组件对照? — 有字段表无截图/组件 id开发靠读 manhuang.js
端到端验收清单(一键)? — full-audit §11 + §19 可拼;未做成单一 make check
英文读者 / 对外 README 不需要(内网运维文档)

结论: 内网运维 够用。剩余弱项是「目录批改」与「UI 对照」,不挡日常 probe/排障。新事实停运源、down 中转)以 channels.json + full-audit 为准,手册 §15 已钉死接码。