跳转至

Social distancing and supply disruptions in a pandemic

作者: Martin Bodenstein, Giancarlo Corsetti, Luca Guerrieri
来源: Quantitative Economics
主题: 经济理论 / 应用
相关性: 3/10
机构绿灯: University of Cambridge(US News 前 50,免分进入精读)
链接: https://doi.org/10.3982/qe1618


一、领域脉络与小综述

这个方向是什么

本文属于宏观经济学与流行病学的交叉领域,其根本问题是:在疫情冲击下,劳动力供给的突然中断(因感染、隔离、社交距离)如何通过生产网络(投入-产出结构)传导并放大为宏观经济总量(GDP、就业)的损失。该子方向当前处于“模型构建与初步校准”阶段,即用流行病学模型(SEIR)生成疫情动态,将其作为外生冲击输入宏观经济模型(多部门、投入-产出),再用观测数据(流动性、GDP、病例数)校准模型参数,进行反事实政策模拟。其成熟度中等:已有大量单部门或两部门模型,但本文的贡献在于引入了核心部门(core sector) 这一投入-产出结构特征,并强调最低规模要求(minimum-scale requirements) 导致的供应链脆弱性。

发展脉络(history)

从引言和参考文献看,该领域的发展可梳理为以下主线:

  1. 奠基工作:流行病学-宏观经济整合模型的早期尝试

    • Eichenbaum, Rebelo & Trabandt (2020):最早将标准SEIR模型与宏观经济学模型(新古典增长模型)整合,研究疫情对经济活动的内生反馈(感染率影响消费/劳动供给,经济活动又影响感染率)。本文引用其作为“流行病学-宏观经济整合”的起点。
    • Guerrieri et al. (2020):提出“供给冲击引发需求崩溃”的机制——当某些部门因疫情无法生产时,其工人收入下降,导致对其他部门的需求下降,从而放大经济衰退。本文作者之一(Guerrieri)参与其中,本文是其直接延伸。
  2. 主要进展:引入部门异质性与投入-产出结构

    • Baqaee & Farhi (2020):构建了包含投入-产出网络的多部门宏观经济模型,研究疫情冲击如何通过网络传导。本文引用其作为“投入-产出结构”分析的先驱,但指出其模型未考虑最低规模要求(即核心部门的生产不可低于某个阈值,否则整个供应链断裂)。
    • Bodenstein & Guerrieri (2021):本文作者的前期工作,初步探索了核心部门在疫情冲击中的作用。本文在此基础上,加入了流行病学模型(SEIR)和流动性数据,使模型更贴近实际。
  3. 当前frontier:用观测数据校准模型并进行反事实政策评估

    • 本文的位置:在Baqaee & Farhi (2020)的投入-产出框架和Guerrieri et al. (2020)的供给-需求机制基础上,本文做了三件事:
      1. 模型整合:将SEIR模型与一个两部门(核心部门 vs. 非核心部门) 宏观经济模型结合,核心部门生产不可轻易替代的中间投入品,且面临最低规模要求。
      2. 数据校准:利用美国投入-产出表、流动性数据(来自Google Mobility Reports)和疫情数据(病例数、死亡数),校准模型参数,量化社交距离对GDP的影响。
      3. 政策模拟:模拟“保护核心行业工人”的政策效果,并利用州级面板数据检验“自发社交距离 vs. 强制社交距离”的成本差异。

子线索聚类

这些被引文献大致落在两条子线索上:

  • 线索一:流行病学-宏观经济整合模型(Epidemiological-Macro Models)

    • 做什么:将SEIR类模型嵌入宏观经济模型(新古典、新凯恩斯),研究疫情对经济的内生反馈。核心是感染率与经济活动之间的双向因果关系
    • 代表工作:Eichenbaum et al. (2020), Guerrieri et al. (2020), 本文。
    • 当前瓶颈:模型通常假设同质化部门或简单两部门,难以捕捉真实经济中复杂的投入-产出网络和供应链脆弱性。
  • 线索二:投入-产出网络与宏观经济冲击传导(Input-Output Networks and Shock Propagation)

    • 做什么:研究微观层面的冲击(如某个行业停产)如何通过投入-产出网络放大为宏观波动。核心是网络结构(中心性、互补性、替代性) 如何决定冲击的传播路径和总量效应。
    • 代表工作:Baqaee & Farhi (2020), Bodenstein & Guerrieri (2021)。
    • 当前瓶颈:大多数模型假设生产函数是可替代的(即可以用其他投入品替代短缺的投入品),而本文强调不可替代性(核心部门投入品是“必需品”)和最低规模要求(生产不可低于阈值),这引入了非线性(阈值效应),使分析更复杂但也更现实。

这个方向在追问的核心问题

  1. 量化问题:社交距离(自发或强制)对GDP的贡献到底有多大?如何从观测数据中分离出“疫情本身”和“政策响应”的效应?
  2. 机制问题:供给冲击(劳动力短缺)如何通过投入-产出网络转化为需求冲击(收入下降导致消费减少)?哪种机制占主导?
  3. 政策问题:保护特定行业(如核心制造业、医疗)的工人,能否在“拉平曲线”的同时减少经济损失?强制社交距离是否比自发社交距离成本更高?
  4. 识别问题:如何识别社交距离的内生性(即疫情严重的地方自然社交距离更大,导致GDP下降,但GDP下降也可能反过来影响疫情)?本文用州级面板数据做计量分析,但识别策略(如工具变量)并不强。

⚠️ 作者的 framing

  • 作者把缺口 frame 成什么:作者声称,现有文献要么只关注流行病学模型(忽略经济结构),要么只关注宏观经济模型(忽略疫情动态),而本文是“第一个”将投入-产出结构(核心部门+最低规模要求)流行病学模型整合,并用流动性数据校准的。作者强调,他们的模型能解释2020年Q2美国GDP收缩的6-8个百分点(总收缩约12%),从而证明“供应链脆弱性”是疫情经济成本的重要来源。
  • 哪些竞争路线被他淡化或回避了
    • 计量经济学方法:本文的计量分析(州级面板数据)非常粗糙——仅用OLS回归,未处理内生性(如疫情严重程度与社交距离政策的反向因果)。作者回避了更严谨的因果推断方法(如工具变量、DID、合成控制),而是将计量结果作为“补充证据”,主要依赖模型模拟。
    • 其他流行病学模型:作者只用了SEIR模型,未考虑更复杂的模型(如年龄分层、空间传播、无症状感染)。这可能是为了保持模型的可处理性,但会低估疫情的真实复杂性。
    • 劳动力市场的异质性:模型只区分了“可居家办公”和“不可居家办公”的职业,未考虑行业间劳动力流动、工资刚性、失业保险等现实因素。
  • 什么明显该被引 / 该存在、却没出现在 intro 里?
    • 因果推断文献:本文的计量部分(州级面板数据)试图回答“自发 vs. 强制社交距离的成本差异”,但未引用任何关于政策评估的因果推断方法(如Angrist & Pischke的《基本无害的计量经济学》、Abadie的合成控制法)。这暗示作者可能不是计量经济学专家,其计量分析是“辅助性”的。
    • 更近期的疫情经济学文献:本文发表于2022年,但intro引用的文献大多在2020-2021年。2022年已有大量关于“疫苗”、“变种”、“长期COVID”的经济学模型,本文未涉及。

张力

未见明显对立引用。所有被引工作都指向“疫情冲击通过供给和需求渠道传导,且投入-产出结构很重要”,只是侧重点不同(有的更重流行病学,有的更重网络结构)。本文是这些工作的“整合”而非“挑战”。

二、最核心、最简单的例子 / 数学问题

第一步:把符号、模型、可观测数据交代清楚

  • 符号

    • \( t \):时间(天或周)。
    • \( S_t, I_t, R_t \):易感者、感染者、康复者人数(流行病学状态)。
    • \( N_t = S_t + I_t + R_t \):总人口(假设不变)。
    • \( \beta_t \):有效接触率(随时间变化,受社交距离影响)。
    • \( \gamma \):康复率(常数)。
    • \( L_t \):总劳动力供给(可观测的就业人数或工作时长)。
    • \( L_t^c, L_t^n \):核心部门(core)和非核心部门(non-core)的劳动力供给。
    • \( Y_t \):总产出(GDP)。
    • \( Y_t^c, Y_t^n \):核心部门和非核心部门的产出。
    • \( X_t \):核心部门生产的中间投入品(用于非核心部门的生产)。
    • \( \alpha \):核心部门产出在非核心部门生产函数中的份额(投入-产出系数)。
    • \( \bar{X} \):核心部门的最低规模要求(若 \( X_t < \bar{X} \),非核心部门无法生产)。
    • \( \theta \):社交距离弹性(衡量社交距离每增加1%,劳动力供给减少多少%)。
    • \( \delta \):社交距离强度(由政策或自发行为决定,影响 \( \beta_t \)\( L_t \))。
  • 模型

    • 流行病学模块:标准SEIR模型,但 \( \beta_t \) 是内生的——它取决于社交距离强度 \( \delta_t \)\( \beta_t = \beta_0 \cdot (1 - \delta_t) \)。社交距离越强,接触率越低。
    • 宏观经济模块:两部门模型。
      • 核心部门:生产中间投入品 \( X_t \),使用劳动力 \( L_t^c \)。生产函数:\( X_t = A_c \cdot L_t^c \)(线性,假设简单)。
      • 非核心部门:生产最终消费品 \( Y_t^n \),使用劳动力 \( L_t^n \) 和中间投入品 \( X_t \)。生产函数:\( Y_t^n = A_n \cdot (L_t^n)^\beta \cdot X_t^\alpha \),其中 \( \alpha + \beta = 1 \)(柯布-道格拉斯)。关键:若 \( X_t < \bar{X} \),则 \( Y_t^n = 0 \)(最低规模要求,即供应链断裂)。
      • 总产出\( Y_t = Y_t^c + Y_t^n \),其中 \( Y_t^c = X_t \)(核心部门产出就是中间投入品)。
    • 劳动力市场:总劳动力 \( L_t = L_t^c + L_t^n \)。社交距离导致劳动力供给减少:\( L_t = L_0 \cdot (1 - \delta_t)^\theta \)。劳动力在部门间分配是外生的(假设固定比例,或由模型内生决定)。
  • 可观测数据

    • 流行病学数据:每日新增病例数、死亡数(用于校准 \( \beta_0, \gamma \)\( \delta_t \))。
    • 流动性数据:Google Mobility Reports(用于衡量 \( \delta_t \)——社交距离强度)。
    • 宏观经济数据:美国GDP(季度)、就业人数(月度)、投入-产出表(用于校准 \( \alpha, \bar{X} \))。
    • 政策数据:各州“居家令”等强制社交距离政策的实施时间(用于计量分析)。
    • 想要但观测不到的:核心部门的最低规模要求 \( \bar{X} \)(这是模型假设,无法直接观测,只能通过模型拟合来推断);社交距离弹性 \( \theta \)(也是模型参数,需校准);反事实情景下的GDP(无疫情、无政策时的GDP)。

第二步:讲最小内核

本文的核心思路可以用一个两部门、一期(静态) 的例子讲清楚。去掉时间动态和流行病学模块,只保留宏观经济模块的核心机制。

  • 最简特例:假设只有一期(\( t=1 \)),没有疫情动态(\( S, I, R \) 被忽略),社交距离是外生给定的(\( \delta \) 已知)。核心问题是:社交距离导致的劳动力减少 \( \Delta L \),如何通过投入-产出结构放大为GDP的减少 \( \Delta Y \)

  • 记号(简化)

    • 初始状态(无社交距离):\( L_0 = 100 \)\( L_0^c = 20 \)\( L_0^n = 80 \)
    • 核心部门生产函数:\( X = L^c \)(1单位劳动力生产1单位中间品)。
    • 非核心部门生产函数:\( Y^n = (L^n)^{0.5} \cdot X^{0.5} \)\( \alpha = \beta = 0.5 \))。
    • 最低规模要求:\( \bar{X} = 10 \)(若核心部门产出低于10,非核心部门停产)。
    • 社交距离:\( \delta = 0.2 \)(劳动力供给减少20%),弹性 \( \theta = 1 \)(简化),所以 \( L = 80 \)
  • 核心思路

    1. 直接效应:劳动力减少20%,如果所有部门同比例减少,GDP也会减少20%。但因为有投入-产出结构,情况更糟。
    2. 供应链断裂效应:假设劳动力减少后,核心部门劳动力 \( L^c \) 从20减少到16(同比例减少20%)。核心部门产出 \( X = 16 \)但最低规模要求 \( \bar{X} = 10 \),所以 \( X > \bar{X} \),供应链未断裂。非核心部门仍能生产,但中间投入品减少,导致其产出下降。
    3. 放大效应:非核心部门产出 \( Y^n = (L^n)^{0.5} \cdot X^{0.5} \)。假设 \( L^n \) 也从80减少到64(同比例)。则 \( Y^n = (64)^{0.5} \cdot (16)^{0.5} = 8 \cdot 4 = 32 \)。初始 \( Y^n_0 = (80)^{0.5} \cdot (20)^{0.5} \approx 8.94 \cdot 4.47 \approx 40 \)。所以非核心部门产出下降20%(从40到32)。总GDP \( Y = X + Y^n = 16 + 32 = 48 \),初始 \( Y_0 = 20 + 40 = 60 \),下降20%。此时,放大效应为零——因为劳动力同比例减少,且生产函数是规模报酬不变的,GDP下降比例等于劳动力下降比例。

    4. 真正的放大:非对称冲击。本文的关键是:社交距离对不同部门的影响不同。核心部门(如制造业、医疗)的工人更可能“无法居家办公”,因此其劳动力供给下降比例更大。假设核心部门劳动力减少40%(\( L^c = 12 \)),非核心部门减少10%(\( L^n = 72 \))。则:

      • 核心部门产出 \( X = 12 \)
      • 供应链断裂\( X = 12 > \bar{X} = 10 \),未断裂。
      • 非核心部门产出 \( Y^n = (72)^{0.5} \cdot (12)^{0.5} \approx 8.49 \cdot 3.46 \approx 29.4 \)
      • 总GDP \( Y = 12 + 29.4 = 41.4 \),初始 \( Y_0 = 60 \),下降31%。这比劳动力总量下降(假设加权平均:\( 0.2 \cdot 40\% + 0.8 \cdot 10\% = 16\% \))大得多,因为核心部门产出下降(40%)通过投入-产出关系放大了非核心部门的产出下降(26.5%)。
    5. 极端情况:供应链断裂。假设核心部门劳动力减少60%(\( L^c = 8 \))。则 \( X = 8 < \bar{X} = 10 \)非核心部门停产\( Y^n = 0 \)。总GDP \( Y = 8 + 0 = 8 \),下降86.7%!这就是“供应链脆弱性”——核心部门的一个小冲击,通过最低规模要求,导致整个经济崩溃。

  • 这个例子说明了什么

    • 本文的核心数学困难是非线性:最低规模要求 \( \bar{X} \) 引入了一个阈值,低于它则生产函数不连续(从柯布-道格拉斯变为0)。这使得模型分析从“线性/对数线性”变为“分段线性/非线性”,无法用标准的一阶近似(如对数线性化)处理。
    • 本文的关键想法是:识别出“核心部门”这一投入-产出结构的关键节点,并强调其“不可替代性”和“最低规模要求”。这比简单的“所有部门同比例收缩”模型更贴近现实,也更能解释2020年Q2美国GDP的剧烈收缩。

三、这篇论文做了什么

三句话

  1. 研究了什么问题:量化2020年Q2美国GDP收缩中,由社交距离(自发和强制)导致的劳动力供给中断,通过投入-产出结构(特别是核心部门的最低规模要求)放大的经济成本。
  2. 核心工具/方法:整合一个SEIR流行病学模型(含接触率与社交距离)与一个两部门宏观经济模型(核心部门生产不可替代的中间投入品,且面临最低规模要求),并用美国投入-产出表、Google Mobility数据和疫情数据校准模型参数,进行反事实政策模拟。此外,用州级面板数据进行计量回归,比较自发与强制社交距离的成本。
  3. 主要结论:社交距离可解释2020年Q2美国GDP约12%收缩中的6-8个百分点;保护核心行业及无法居家办公职业工人的政策,能在拉平疫情曲线的同时降低经济成本;自发社交距离的成本并不低于强制社交距离。

关键设定与假设

在第二节最小记号的基础上,补全完整设定:

  • 流行病学模块

    • SEIR模型\( dS/dt = -\beta_t S I / N \), \( dI/dt = \beta_t S I / N - \gamma I \), \( dR/dt = \gamma I \)
    • 有效接触率\( \beta_t = \beta_0 \cdot (1 - \delta_t) \),其中 \( \delta_t \) 是社交距离强度(0到1之间),由数据校准。
    • 假设:人口封闭、无出生死亡、康复后获得免疫(2020年早期合理)。相比已有文献:这是标准设定,未放宽。
  • 宏观经济模块

    • 两部门:核心部门(Core)和非核心部门(Non-core)。核心部门定义:生产“不可轻易替代”的中间投入品(如医疗设备、关键零部件、能源)。相比已有文献:这是本文的核心创新——将投入-产出网络简化为一个“关键节点”,并引入“不可替代性”。
    • 生产函数
      • 核心部门:\( X_t = A_c \cdot L_t^c \)(线性)。
      • 非核心部门:\( Y_t^n = A_n \cdot (L_t^n)^\beta \cdot X_t^\alpha \)\( \alpha + \beta = 1 \)关键假设\( \alpha > 0 \)\( X_t \) 不可被其他投入品替代(Leontief-like,但这里是柯布-道格拉斯,意味着有限替代性,而非完全不可替代)。最低规模要求:若 \( X_t < \bar{X} \),则 \( Y_t^n = 0 \)相比已有文献:Baqaee & Farhi (2020) 假设完全替代,本文引入有限替代性和阈值效应,更贴近现实但更难处理。
    • 劳动力市场\( L_t = L_t^c + L_t^n \)。社交距离导致劳动力供给减少:\( L_t = L_0 \cdot (1 - \delta_t)^\theta \)\( \theta \) 是社交距离弹性,由数据校准。假设:劳动力在部门间的分配是外生的(由职业的“可居家办公”程度决定),不随时间变化。相比已有文献:这是一个简化假设,忽略了劳动力跨部门流动。
  • 数据与校准

    • 投入-产出表:用于确定核心部门(如“制造业”、“运输业”)及其在总产出中的份额(\( \alpha \))。
    • Google Mobility数据:用于构建 \( \delta_t \) 的时间序列(如“零售与娱乐场所”的访问量变化)。
    • 疫情数据:用于校准SEIR模型的参数(\( \beta_0, \gamma \))。
    • 校准方法:间接推断(Indirect Inference)——调整模型参数,使模型模拟的GDP路径与真实GDP路径匹配。相比已有文献:这是标准做法,但本文的模型更复杂,参数更多,校准的识别性可能较弱。

主要结果

  • 量化结果
    • 模型模拟显示,2020年Q2美国GDP收缩约12%,其中6-8个百分点可由社交距离导致的劳动力供给中断解释。剩余部分归因于其他因素(如需求冲击、不确定性)。
    • 核心部门的作用:如果核心部门没有最低规模要求(即 \( \bar{X} = 0 \)),GDP收缩将减少约2个百分点。这说明供应链脆弱性放大了经济成本。
  • 政策模拟结果
    • 保护核心行业工人:如果对核心行业(如医疗、关键制造业)的工人提供补贴或保护(使其不因疫情而减少劳动供给),可以在拉平疫情曲线的同时,将GDP损失减少约1-2个百分点。
    • 保护无法居家办公的工人:类似效果。
  • 计量结果
    • 使用美国州级面板数据,以“每周新增病例数”和“社交距离政策(居家令)”为自变量,以“GDP增长”为因变量,进行OLS回归。
    • 核心发现:在控制病例数后,强制社交距离(居家令)对GDP的负面影响并不显著大于自发社交距离。作者据此认为“自发社交距离的成本并不低于强制社交距离”。
    • 稳健性:作者尝试了不同的模型设定(如加入州固定效应、时间趋势),结果基本稳健。

证明路线与技术技巧

本文是应用/方法型论文,而非理论型。因此没有严格的数学证明,而是模型构建、数据校准和模拟分析。其“证明路线”可理解为:

  1. 模型构建:将流行病学模块和宏观经济模块整合成一个动态随机一般均衡(DSGE)风格的模型。
  2. 参数校准:利用外部数据(投入-产出表、流动性数据)和内部数据(疫情数据、GDP数据),通过间接推断校准模型参数。
  3. 反事实模拟:在模型上运行不同的反事实情景(如“无社交距离”、“无最低规模要求”、“保护核心工人”),比较模拟的GDP路径。
  4. 计量验证:用州级面板数据,通过OLS回归检验模型的核心预测(自发 vs. 强制社交距离的成本差异)。

技术技巧: * 间接推断(Indirect Inference):一种模拟矩估计方法,用于校准复杂模型。作者没有详细说明其实现细节(如目标矩的选择、优化算法),但这是宏观经济学中的标准技术。 * 投入-产出分析:利用美国Bureau of Economic Analysis的投入-产出表,计算核心部门在总产出中的份额和中间投入品的使用比例。 * 面板数据回归:使用州级固定效应模型,控制不可观测的州特征(如产业结构、人口密度)。

真实例子与应用

  • 数据:美国2020年Q1-Q2数据。
  • 场景:COVID-19疫情初期,美国各州实施不同程度的社交距离政策。
  • 方法应用
    1. 用Google Mobility数据构建各州的 \( \delta_t \) 序列。
    2. 用SEIR模型模拟各州的疫情动态。
    3. \( \delta_t \) 和疫情动态输入宏观经济模型,模拟各州的GDP路径。
    4. 将模拟的GDP路径与真实GDP路径对比,评估模型拟合度。
    5. 运行反事实模拟(如“假设无最低规模要求”),计算GDP差异。
  • 结果:如上所述,模型能解释6-8个百分点的GDP收缩。
  • 这个例子想说明什么:验证模型的有效性(拟合真实数据),并展示“供应链脆弱性”和“保护核心工人”政策的重要性。

🔎 结论是否比证明窄

  • 。作者在引言和结论中声称“社交距离可解释6-8个百分点的GDP收缩”,但这一结论严重依赖于模型假设,特别是:
    • 核心部门的定义:作者将“制造业”和“运输业”归为核心部门,但未提供严格的统计检验来证明这些部门确实“不可替代”。如果核心部门定义不同,结果可能变化。
    • 最低规模要求 \( \bar{X} \):这个参数是校准出来的,而非从数据中直接估计的。作者没有报告 \( \bar{X} \) 的校准值,也没有进行敏感性分析(如 \( \bar{X} \) 变化10%对结果的影响)。因此,结论的稳健性存疑。
    • 计量部分的识别问题:作者用OLS回归比较“自发 vs. 强制社交距离”,但未处理内生性。例如,疫情严重的州更可能实施强制社交距离,同时其GDP下降也更大。这会导致OLS估计有偏。作者声称“自发社交距离的成本并不低于强制社交距离”,但这一结论可能只是反映了“疫情严重程度”的混杂效应,而非政策本身的因果效应。结论比证明窄——作者在计量部分只做了相关性分析,却给出了因果性解释。

四、开放问题(点到为止,扎根具体语句)

  1. 核心部门的最低规模要求 \( \bar{X} \) 的识别与估计:本文的 \( \bar{X} \) 是校准得到的,但未报告其值或进行敏感性分析。一个开放问题是:能否利用更细粒度的数据(如企业层面的生产数据、供应链中断事件)来直接估计 \( \bar{X} \),或至少给出其置信区间?(扎根于:文中未报告 \( \bar{X} \) 的校准值,也未讨论其识别性。)

  2. 社交距离的内生性与因果识别:本文的计量分析(州级面板数据)未处理内生性。一个开放问题是:能否用更严谨的因果推断方法(如工具变量——利用其他州的政策变化、或利用天气/地理因素作为社交距离的工具变量)来识别“强制社交距离”对GDP的因果效应?(扎根于:文中计量部分仅用OLS,作者自己也承认“我们的计量证据是探索性的”。)

  3. 多部门投入-产出网络的扩展:本文只用了两部门模型。一个开放问题是:能否将本文的框架扩展到完整的投入-产出网络(如Baqaee & Farhi 2020的框架),并引入多个“核心部门”和更复杂的“最低规模要求”结构? 这需要处理高维参数和非线性网络动力学,对计算和统计方法提出挑战。(扎根于:作者在结论中提及“将模型扩展到更多部门是未来工作”。)

  4. 流行病学模型的异质性:本文用了标准SEIR模型,未考虑年龄、空间、无症状感染等异质性。一个开放问题是:引入这些异质性后,模型对GDP的预测是否会改变? 例如,如果年轻人感染率高但重症率低,社交距离对劳动力供给的影响可能被高估。(扎根于:作者在引言中承认“我们的流行病学模型是简化的”。)


Maintained by 陈星宇 · Homepage · Source on GitHub

评论