
BarterScore Engine 发布:零依赖离线物物交换估值引擎
来源标题:Show HN: BarterScore Engine – A zero-dependency offline for barter economics
BarterScore Engine 是一个零依赖、离线优先的物物交换估值引擎,可在无网络、无 Node.js 的本地环境下运行。该引擎用纯 Vanilla JavaScript 编写,用于评估供应链中断、人道危机等场景下基础商品和人力服务的物理、营养及功能交换价值,采用 Apache 2.0 协议开源。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
一个面向崩溃信息学与离网经济学的本地优先库。 语言: English (en-US) · Português (pt-BR) · Español (es-ES) · Français (fr-FR) · Русский (ru-RU) · Kiswahili (sw-KE) · العربية (ar-SA) · 简体中文 (zh-Hans) · 模拟现场手册(OFFLINE_MANUAL.md)
BarterScore Engine 是一个确定性、跨平台、零依赖、离线优先的数学引擎与参考目录,用于评估在供应链中断、人道主义危机和文明崩溃场景下,基本商品与专业人类服务的物理、营养和功能层面的物物交换价值。
本项目基于 Apache License 2.0 授权,整个架构使用纯 Vanilla JavaScript(ES6+ UMD)与原生 HTML5/CSS3 编写,在本地 file:// 协议(双击即可运行,无需 Node.js、Web 服务器或互联网连接)、CommonJS(module.exports)以及 ES Module 环境下行为完全一致。
核心架构原则 官方数学公式 科学方法论、校准评分准则与一键 / 离线审计来源 Schema 契约与科学标准化 一键离线启动、物理手册打印与仓库结构 开发者集成指南与 API 参考 新增第 129 项物品或新的本地化语言包 许可证与治理
- 核心架构原则 零运行时依赖(file:// 优先):src/、data/ 与 locales/ 中的每个模块都采用混合式通用模块定义(UMD)模式,在本地浏览器执行时填充 window.BarterCore,从而避免 CORS 拦截,同时也支持 module.exports。
物理属性与本地化的完全解耦:物理与营养参数仅存放在 data/items_core.js 中,以语义化的 snake_case slug 作为索引。人工翻译存放在 locales/[lang].js 中,遵循 IETF BCP 47 / RFC 5646(en-US、pt-BR、es-ES、fr-FR、ru-RU、sw-KE、ar-SA、zh-Hans),并具备自动三级回退机制:
所选语言 ───► en-US(规范基线) ───► 技术语义 ID
零商业品牌:严禁使用商标。所有物品均按原子消费单位(1 片、1 节电池、1 卷、1 瓶 100ml、1 包 1000g)标准化,药品采用 WHO 国际非专利名称(INN),电池采用 IEC 60086 / IEC 61960,食品采用 Codex Alimentarius(FAO/WHO)标准。
- 官方数学公式 2.1. 营养指数(IN) 对于非食品类物品(is_food: false),IN = 1.0。对于含热量的食品类物品(is_food: true),IN 会评估宏量营养素的热量分布与关键微量营养素密度,并严格限制在区间 [0.5, 2.5] 内:
MacroFactor = (pct_kcal_protein × 1.5) + (pct_kcal_fat × 1.0) - (pct_kcal_added_sugar × 1.2) MicroFactor = (+0.3 if high_vit_c) + (+0.2 if high_sodium_potassium) + (+0.2 if high_calcium_iron) IN = Clamp(1.0 + MacroFactor + MicroFactor, 0.5, 2.5)
2.2. 基础得分(ScoreBase)与实时保质期折旧 在热量能量或等效能值基数(E)与重量及体积运输负担(P + Vol + 0.1)、以 10 为底的保质期对数缩放(log₁₀(V + 1))、制备成本(CP)、士气影响(FP)以及包装耐受性(Frag)之间进行平衡:
ScoreBase = ( (E × IN) / (P + Vol + 0.1) ) × log₁₀(V + 1) × CP × FP × Frag
实时折旧:当实时提供 current_lifecycle_remaining(或 offerRemainingDays)时,它会替代名义生命周期 lifecycle_units(V)。若 V ≤ 0,则物品已过期,ScoreBase = 0。
2.3. 外部情境修正系数(MEC)与最终得分 ScoreFinal = ScoreBase × MEC
acute_collapse(急性崩溃):cat_store_of_value 类别被处以 0.01 倍的惩罚,而饮用水、止血剂、全身性抗生素和即食口粮则获得生存稀缺性乘数。
economic_reconstruction(经济重建):cat_store_of_value 类别升值至 5.0 倍,耐用手工具、开放授粉种子、太阳能电池板和 VHF/UHF 无线电也同样升值。
2.4. 双边交换平价与不可分割性提醒(calculateTrade) 给定供出物品 A(数量 Q_A)与所求物品 B:
Q_B_exact = ( ScoreFinal(A) × Q_A ) / ScoreFinal(B)
若物品 B 不可分割(is_divisible: false),引擎会四舍五入到最接近的整数单位(Q_B_rec = max(1, round(Q_B_exact))),并输出结构化的 trade_imbalance / tradeImbalanceWarning 报告,计算盈余或短缺的精确百分比,以便交易双方用可分割物品(例如以克计的加碘盐或单粒药片)找平差额。
为什么某件物品会获得它那个确切的分数?1 BarterScore 点(1 pt)在物理上意味着什么?为什么物品 B 的得分是物品 A 的两倍(2x)?由于没有任何一个政府机构发布过统一的物物交换方程,用来比较 1 kg 大米与 1 粒阿莫西林或 1 节锂离子 18650 电池,因此 BarterScore Engine 将经过验证的经验记录(离线归档于 audit_sources/ 并在下方链接)与明确论证的小数步进工程评分准则相结合。
通过对 ScoreBase = ((E × IN) / (P + Vol + 0.1)) × log₁₀(V + 1) × CP × FP × Frag 进行量纲分析:
100% 离线可审计(audit_sources/):所有经验查询、USDA FoodData Central FDC ID、WHO ATC 编码和官方配方均永久保存在 audit_sources/OFFLINE_AUDIT_DOSSIER.md 和 audit_sources/offline_sources_registry.js(window.BarterCore.AuditSources)中,因此审计人员无需互联网访问即可离线核验每一条基线记录。
关于范围的说明(代表性示例 vs. 完整 128 项账本):为保持本 README 简洁易读,下文引用的物品是各科学领域的代表性示例。覆盖全部 128 项目录物品(001 至 128:100 种物理商品 + 28 项基本人类服务)的完整逐项可追溯性矩阵维护在 audit_sources/OFFLINE_AUDIT_DOSSIER.md 中。
领域 / 范围 机构与具体文件 / 记录编码 官方一键核验 URL 离线本地审计账本 仓库离线档案(audit_sources/) ./audit_sources/OFFLINE_AUDIT_DOSSIER.md
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。