diff --git a/ci-setup-terms-zh-CN.html b/ci-setup-terms-zh-CN.html new file mode 100644 index 0000000..a6e7b50 --- /dev/null +++ b/ci-setup-terms-zh-CN.html @@ -0,0 +1,21 @@ + + + + USD 99 CSV GitHub Actions 配置服务 — 范围与条款 + + + + +
+

← 中文使用说明 · English terms

+
固定范围 CSV CI 配置 · USD 99

一个仓库,一条 CSV 质量门禁。

最后更新:2026 年 8 月 27 日。

+
+

包含内容

固定价格为 USD 99。服务为一个公开 GitHub 仓库或经过脱敏的最小复现配置一个 GitHub Actions 工作流,并检查一个最大 10 MiB 的通用 UTF-8 CSV 路径。交付形式为公开仓库中的一个 Pull Request,或针对脱敏示例的一份工作流补丁。工作流使用 CSV Preflight 的免费公开 Action、仓库只读权限、按路径触发、规范化文件与问题报告 artifact、五分钟超时,并在发现结构问题时失败。交付还包括简短的使用说明,以及在七个自然日内提出的一次范围内修改。

+

不包含内容

本服务不包含多个 CSV 文件、特定导入器的 Schema 或业务规则、自定义解析功能、数据修复、实际导入操作、私有仓库访问、私有依赖、密钥、自托管 Runner、付费基础设施、受监管或敏感数据、持续维护,也不保证外部导入器接受文件。本服务不是审计、安全评估或 GitHub 官方服务。

+

适用性与交付

公开的适用性确认 Issue 只能链接公开仓库或脱敏示例,不得包含数据、凭据、私有链接、客户信息或付款凭证。双方书面确认范围并验证付款后,交付期限为三个工作日。客户负责审核并合并 Pull Request 或应用补丁,也负责仓库政策、第三方 Action 的版本固定、artifact 保留策略,以及其数据的正确性和权利。

+

付款

公开 Issue 不会要求付款。书面确认范围和档期后,卖方按 USD 99 报出准确的 sats 金额,并提供与该 Issue 绑定、有效期 30 分钟的一次性 BOLT11 Lightning invoice。卖方直接验证是否结算。请勿把小费或未经请求的转账当作本服务付款。

+

取消、修改与退款

买方可在工作开始前取消,并通过其提供的兼容 Lightning invoice 收回已支付的 sats。工作开始后,固定费用原则上不退款;如果卖方没有交付双方约定的 Pull Request 或补丁,则退回已支付的 sats。七个自然日内提出的一次范围内修改已包含。新增文件、Schema 规则、环境或功能需要另行约定。强制适用的消费者保护规定优先于冲突条款。

+

代码与隐私

客户可以在自己的仓库中使用和修改交付的工作流与使用说明。CSV Preflight 的现有源码继续适用其公开许可证,通用技术不会转让排他所有权。卖方不会索取私有仓库访问权限、凭据或真实 CSV 内容。GitHub、Stacker News 和 Lightning 网络各自适用其服务条款与隐私政策。

+

先确认项目是否适用 ↗

+
+
diff --git a/offer.test.mjs b/offer.test.mjs index 6b76283..ab2f047 100644 --- a/offer.test.mjs +++ b/offer.test.mjs @@ -26,6 +26,7 @@ const action = readFileSync(new URL("./action.yml", import.meta.url), "utf8"); const shopifyGuideKo = readFileSync(new URL("./shopify-csv-guide-ko.html", import.meta.url), "utf8"); const githubActionGuide = readFileSync(new URL("./validate-csv-github-actions.html", import.meta.url), "utf8"); const ciSetupTerms = readFileSync(new URL("./ci-setup-terms.html", import.meta.url), "utf8"); +const ciSetupTermsZhCn = readFileSync(new URL("./ci-setup-terms-zh-CN.html", import.meta.url), "utf8"); const ciSetupTemplate = readFileSync(new URL("./.github/ISSUE_TEMPLATE/ci-setup.yml", import.meta.url), "utf8"); import { analyze, serializeCsv } from "./csv.mjs"; @@ -165,6 +166,19 @@ test("offers a bounded $99 one-repository CI setup without collecting secrets", assert.doesNotMatch(page, /Buy now|Book now|instant setup/i); }); +test("publishes equivalent bounded Chinese terms for the catalog audience", () => { + assert.match(ciSetupTermsZhCn, /固定价格为 USD 99/); + assert.match(ciSetupTermsZhCn, /一个公开 GitHub 仓库或经过脱敏的最小复现/); + assert.match(ciSetupTermsZhCn, /最大 10 MiB/); + assert.match(ciSetupTermsZhCn, /三个工作日/); + assert.match(ciSetupTermsZhCn, /一次性 BOLT11 Lightning invoice/); + assert.match(ciSetupTermsZhCn, /工作开始前取消/); + assert.match(ciSetupTermsZhCn, /七个自然日内提出的一次范围内修改/); + assert.match(ciSetupTermsZhCn, /不会索取私有仓库访问权限、凭据或真实 CSV 内容/); + assert.match(ciSetupTermsZhCn, /template=ci-setup\.yml/); + assert.doesNotMatch(ciSetupTermsZhCn, /立即购买|立即预订|保证导入/); +}); + test("publishes a bounded Korean Shopify CSV troubleshooting guide", () => { assert.match(koreanPage, /shopify-csv-guide-ko\.html/); assert.match(shopifyGuideKo, /UTF-8과 쉼표 구분/); @@ -197,6 +211,7 @@ test("publishes truthful search metadata for every public page", () => { "https://softpeanut.github.io/csv-preflight/shopify-csv-guide-ko.html", "https://softpeanut.github.io/csv-preflight/validate-csv-github-actions.html", "https://softpeanut.github.io/csv-preflight/ci-setup-terms.html", + "https://softpeanut.github.io/csv-preflight/ci-setup-terms-zh-CN.html", ]) { assert.match(sitemap, new RegExp(`${location.replaceAll(".", "\\.")}`)); } diff --git a/sitemap.xml b/sitemap.xml index 106fe58..3322821 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -36,4 +36,8 @@ https://softpeanut.github.io/csv-preflight/ci-setup-terms.html 2026-08-27 + + https://softpeanut.github.io/csv-preflight/ci-setup-terms-zh-CN.html + 2026-08-27 +