{
  "canonical_name": "bentoml/BentoML",
  "compilation_id": "pack_d70c0161936c4947b6d9ab51e13ddf18",
  "created_at": "2026-06-14T00:41:07.899790+00:00",
  "created_by": "project-pack-compiler",
  "feedback": {
    "carrier_selection_notes": [
      "viable_asset_types=mcp_config, recipe, host_instruction, eval, preflight",
      "recommended_asset_types=mcp_config, recipe, host_instruction, eval, preflight"
    ],
    "evidence_delta": {
      "confirmed_claims": [
        "identity_anchor_present",
        "capability_and_host_targets_present",
        "install_path_declared_or_better"
      ],
      "missing_required_fields": [],
      "must_verify_forwarded": [
        "Run or inspect `pip install -U bentoml` in an isolated environment.",
        "Confirm the project exposes the claimed capability to at least one target host."
      ],
      "quickstart_execution_scope": "allowlisted_sandbox_smoke",
      "sandbox_command": "pip install -U bentoml",
      "sandbox_container_image": "python:3.12-slim",
      "sandbox_execution_backend": "docker",
      "sandbox_planner_decision": "llm_execute_isolated_install",
      "sandbox_validation_id": "sbx_809b0397d3e945c685b44b06f00e85a1"
    },
    "feedback_event_type": "project_pack_compilation_feedback",
    "learning_candidate_reasons": [],
    "template_gaps": []
  },
  "identity": {
    "canonical_id": "project_edc3ca7c3ef31b190bb299a860767519",
    "canonical_name": "bentoml/BentoML",
    "homepage_url": null,
    "license": "unknown",
    "repo_url": "https://github.com/bentoml/BentoML",
    "slug": "bentoml",
    "source_packet_id": "phit_3b32f9ff612b4d97804a545eceb32757",
    "source_validation_id": "dval_24898375eb4042d498dd2e24dfb50758"
  },
  "merchandising": {
    "best_for": "需要软件开发与交付能力，并使用 local_cli的用户",
    "github_forks": 968,
    "github_stars": 8673,
    "one_liner_en": "The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!",
    "one_liner_zh": "最简单的 AI 应用与模型服务方式——快速构建模型推理 API、任务队列、LLM 应用、多模型流水线等。",
    "primary_category": {
      "category_id": "software-development",
      "confidence": "medium",
      "name_en": "Software Development",
      "name_zh": "软件开发与交付",
      "reason": "matched_keywords:cli"
    },
    "target_user": "使用 local_cli 等宿主 AI 的用户",
    "title_en": "BentoML",
    "title_zh": "BentoML 能力包",
    "visible_tags": [
      {
        "label_en": "Software Development",
        "label_zh": "软件开发与交付",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "product_domain-software-development",
        "type": "product_domain"
      },
      {
        "label_en": "Open Source Capability Building",
        "label_zh": "开源能力构建",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "user_job-open-source-capability-building",
        "type": "user_job"
      },
      {
        "label_en": "Project Capability",
        "label_zh": "项目能力包",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "core_capability-project-capability",
        "type": "core_capability"
      },
      {
        "label_en": "Verifiable Workflow",
        "label_zh": "可验证工作流",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "workflow_pattern-verifiable-workflow",
        "type": "workflow_pattern"
      },
      {
        "label_en": "Multi-model Support",
        "label_zh": "多模型支持",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "selection_signal-multi-model-support",
        "type": "selection_signal"
      }
    ]
  },
  "packet_id": "phit_3b32f9ff612b4d97804a545eceb32757",
  "page_model": {
    "artifacts": {
      "artifact_slug": "bentoml",
      "files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json",
        "REPO_INSPECTION.md",
        "CAPABILITY_CONTRACT.json",
        "EVIDENCE_INDEX.json",
        "CLAIM_GRAPH.json"
      ],
      "required_files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json"
      ]
    },
    "detail": {
      "capability_source": "Project Hit Packet + DownstreamValidationResult",
      "commands": [
        {
          "command": "pip install -U bentoml",
          "label": "Python / pip · 官方安装入口",
          "source": "https://github.com/bentoml/BentoML#readme",
          "verified": true
        }
      ],
      "display_tags": [
        "软件开发与交付",
        "开源能力构建",
        "项目能力包",
        "可验证工作流",
        "多模型支持"
      ],
      "eyebrow": "软件开发与交付",
      "glance": [
        {
          "body": "判断自己是不是目标用户。",
          "label": "最适合谁",
          "value": "需要软件开发与交付能力，并使用 local_cli的用户"
        },
        {
          "body": "先理解能力边界，再决定是否继续。",
          "label": "核心价值",
          "value": "The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!"
        },
        {
          "body": "未完成验证前保持审慎。",
          "label": "继续前",
          "value": "publish to Doramagic.ai project surfaces"
        }
      ],
      "guardrail_source": "Boundary & Risk Card",
      "guardrails": [
        {
          "body": "Prompt Preview 只展示流程，不证明项目已安装或运行。",
          "label": "Check 1",
          "value": "不要把试用当真实运行"
        },
        {
          "body": "local_cli",
          "label": "Check 2",
          "value": "确认宿主兼容"
        },
        {
          "body": "publish to Doramagic.ai project surfaces",
          "label": "Check 3",
          "value": "先隔离验证"
        }
      ],
      "mode": "mcp_config, recipe, host_instruction, eval, preflight",
      "pitfall_log": {
        "items": [
          {
            "body": "GitHub 社区证据显示该项目存在一个安装相关的待验证问题：feature: support for pylock.toml",
            "category": "安装坑",
            "evidence": [
              "community_evidence:github | https://github.com/bentoml/BentoML/issues/5466 | 来源讨论提到 python 相关条件，需在安装/试用前复核。"
            ],
            "severity": "high",
            "suggested_check": "",
            "title": "来源证据：feature: support for pylock.toml",
            "user_impact": "可能增加新用户试用和生产接入成本。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个配置相关的待验证问题：bug: Bentoml Pytorch model serve bug",
            "category": "配置坑",
            "evidence": [
              "community_evidence:github | https://github.com/bentoml/BentoML/issues/5365 | 来源讨论提到 python 相关条件，需在安装/试用前复核。"
            ],
            "severity": "high",
            "suggested_check": "",
            "title": "来源证据：bug: Bentoml Pytorch model serve bug",
            "user_impact": "可能影响升级、迁移或版本选择。"
          },
          {
            "body": "README/documentation is current enough for a first validation pass.",
            "category": "能力坑",
            "evidence": [
              "capability.assumptions | github_repo:178976529 | https://github.com/bentoml/BentoML | README/documentation is current enough for a first validation pass."
            ],
            "severity": "medium",
            "suggested_check": "将假设转成下游验证清单。",
            "title": "能力判断依赖假设",
            "user_impact": "假设不成立时，用户拿不到承诺的能力。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个运行相关的待验证问题：BUG: IndexError in IODescriptor.from_output() with bare (unparameterized) iterator return annotations",
            "category": "运行坑",
            "evidence": [
              "community_evidence:github | https://github.com/bentoml/BentoML/issues/5625 | 来源讨论提到 python 相关条件，需在安装/试用前复核。"
            ],
            "severity": "medium",
            "suggested_check": "",
            "title": "来源证据：BUG: IndexError in IODescriptor.from_output() with bare (unparameterized) iterator return annotations",
            "user_impact": "可能阻塞安装或首次运行。"
          },
          {
            "body": "未记录 last_activity_observed。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | github_repo:178976529 | https://github.com/bentoml/BentoML | last_activity_observed missing"
            ],
            "severity": "medium",
            "suggested_check": "补 GitHub 最近 commit、release、issue/PR 响应信号。",
            "title": "维护活跃度未知",
            "user_impact": "新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。"
          },
          {
            "body": "no_demo",
            "category": "安全/权限坑",
            "evidence": [
              "downstream_validation.risk_items | github_repo:178976529 | https://github.com/bentoml/BentoML | no_demo; severity=medium"
            ],
            "severity": "medium",
            "suggested_check": "",
            "title": "",
            "user_impact": ""
          },
          {
            "body": "no_demo",
            "category": "安全/权限坑",
            "evidence": [
              "risks.scoring_risks | github_repo:178976529 | https://github.com/bentoml/BentoML | no_demo; severity=medium"
            ],
            "severity": "medium",
            "suggested_check": "",
            "title": "存在评分风险",
            "user_impact": "风险会影响是否适合普通用户安装。"
          },
          {
            "body": "issue_or_pr_quality=unknown。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | github_repo:178976529 | https://github.com/bentoml/BentoML | issue_or_pr_quality=unknown"
            ],
            "severity": "low",
            "suggested_check": "抽样最近 issue/PR，判断是否长期无人处理。",
            "title": "issue/PR 响应质量未知",
            "user_impact": "用户无法判断遇到问题后是否有人维护。"
          },
          {
            "body": "release_recency=unknown。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | github_repo:178976529 | https://github.com/bentoml/BentoML | release_recency=unknown"
            ],
            "severity": "low",
            "suggested_check": "确认最近 release/tag 和 README 安装命令是否一致。",
            "title": "发布节奏不明确",
            "user_impact": "安装命令和文档可能落后于代码，用户踩坑概率升高。"
          }
        ],
        "source": "ProjectPitfallLog + ProjectHitPacket + validation + community signals",
        "summary": "发现 9 个潜在踩坑项，其中 2 个为 high/blocking；最高优先级：安装坑 - 来源证据：feature: support for pylock.toml。",
        "title": "踩坑日志"
      },
      "snapshot": {
        "contributors": 238,
        "forks": 968,
        "license": "unknown",
        "note": "站点快照，非实时质量证明；用于开工前背景判断。",
        "stars": 8673
      },
      "source_url": "https://github.com/bentoml/BentoML",
      "steps": [
        {
          "body": "不安装项目，先体验能力节奏。",
          "code": "preview",
          "title": "先试 Prompt"
        },
        {
          "body": "理解输入、输出、失败模式和边界。",
          "code": "manual",
          "title": "读说明书"
        },
        {
          "body": "把上下文交给宿主 AI 继续工作。",
          "code": "context",
          "title": "带给 AI"
        },
        {
          "body": "进入主力环境前先完成安装入口与风险边界验证。",
          "code": "verify",
          "title": "沙箱验证"
        }
      ],
      "subtitle": "The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!",
      "title": "BentoML 能力包",
      "trial_prompt": "# BentoML - Prompt Preview\n\n> 复制下面这段 Prompt 到你常用的 AI，先试一次，不需要安装。\n> 它的目标是让你直接体验这个项目的服务方式，而不是阅读项目介绍。\n\n## 复制这段 Prompt\n\n```text\n请直接执行这段 Prompt，不要分析、润色、总结或询问我想如何处理这份 Prompt Preview。\n\n你现在扮演 BentoML 的“安装前体验版”。\n这不是项目介绍、不是评价报告、不是 README 总结。你的任务是让我用最小成本体验它的核心服务。\n\n我的试用任务：我想用它完成一个真实的软件开发与交付任务。\n我常用的宿主 AI：Local CLI\n\n【体验目标】\n围绕我的真实任务，现场演示这个项目如何把输入转成 示例引导, 判断线索。重点是让我感受到工作方式，而不是给我项目背景。\n\n【业务流约束】\n- 你必须像一个正在提供服务的项目能力包，而不是像一个讲解员。\n- 每一轮只推进一个步骤；提出问题后必须停下来等我回答。\n- 每一步都必须让我感受到一个具体服务动作：澄清、整理、规划、检查、判断或收尾。\n- 每一步都要说明：当前目标、你需要我提供什么、我回答后你会产出什么。\n- 不要安装、不要运行命令、不要写代码、不要声称测试通过、不要声称已经修改文件。\n- 需要真实安装或宿主加载后才能验证的内容，必须明确说“这一步需要安装后验证”。\n- 如果我说“用示例继续”，你可以用虚构示例推进，但仍然不能声称真实执行。\n\n【可体验服务能力】\n- 安装前能力预览: The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more! 输入：用户任务, 当前 AI 对话上下文；输出：示例引导, 判断线索。\n\n【必须安装后才可验证的能力】\n- 命令行启动或安装流程: 项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 输入：终端环境, 包管理器, 项目依赖；输出：安装结果, 列表/更新/运行结果。\n\n【核心服务流】\n请严格按这个顺序带我体验。不要一次性输出完整流程：\n1. page-1：框架概览与系统架构。围绕“框架概览与系统架构”模拟一次用户任务，不展示安装或运行结果。\n2. page-2：Services、API 与 IO 类型系统。围绕“Services、API 与 IO 类型系统”模拟一次用户任务，不展示安装或运行结果。\n3. page-3：模型管理与容器化构建。围绕“模型管理与容器化构建”模拟一次用户任务，不展示安装或运行结果。\n4. page-4：部署、可观测性、Runner 与扩展机制。围绕“部署、可观测性、Runner 与扩展机制”模拟一次用户任务，不展示安装或运行结果。\n\n【核心能力体验剧本】\n每一步都必须按“输入 -> 服务动作 -> 中间产物”执行。不要只说流程名：\n1. page-1\n输入：用户提供的“框架概览与系统架构”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n2. page-2\n输入：用户提供的“Services、API 与 IO 类型系统”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n3. page-3\n输入：用户提供的“模型管理与容器化构建”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n4. page-4\n输入：用户提供的“部署、可观测性、Runner 与扩展机制”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n【项目服务规则】\n这些规则决定你如何服务用户。不要解释规则本身，而要在每一步执行时遵守：\n- 先确认用户任务、输入材料和成功标准，再模拟项目能力。\n- 每一步都必须形成可检查的小产物，并等待用户确认后再继续。\n- 凡是需要安装、调用工具或访问外部服务的能力，都必须标记为安装后验证。\n\n【每一步的服务约束】\n- Step 1 / page-1：Step 1 必须围绕“框架概览与系统架构”形成一个小中间产物，并等待用户确认。\n- Step 2 / page-2：Step 2 必须围绕“Services、API 与 IO 类型系统”形成一个小中间产物，并等待用户确认。\n- Step 3 / page-3：Step 3 必须围绕“模型管理与容器化构建”形成一个小中间产物，并等待用户确认。\n- Step 4 / page-4：Step 4 必须围绕“部署、可观测性、Runner 与扩展机制”形成一个小中间产物，并等待用户确认。\n\n【边界与风险】\n- 不要声称已经安装、运行、调用 API、读写本地文件或完成真实任务。\n- 安装前预览只能展示工作方式，不能证明兼容性、性能或输出质量。\n- 涉及安装、插件加载、工具调用或外部服务的能力必须安装后验证。\n\n【可追溯依据】\n这些路径只用于你内部校验或在我追问“依据是什么”时简要引用。不要在首次回复主动展开：\n- https://github.com/bentoml/BentoML\n- https://github.com/bentoml/BentoML#readme\n- README.md\n- src/bentoml/__init__.py\n- src/bentoml/__main__.py\n- src/_bentoml_sdk/__init__.py\n- src/_bentoml_impl/__init__.py\n- src/_bentoml_sdk/_internals.py\n- src/_bentoml_sdk/service/__init__.py\n- src/_bentoml_sdk/decorators.py\n- src/_bentoml_sdk/method.py\n- src/_bentoml_sdk/io_models.py\n\n【首次问题规则】\n- 首次三问必须先确认用户目标、成功标准和边界，不要提前进入工具、安装或实现细节。\n- 如果后续需要技术条件、文件路径或运行环境，必须等用户确认目标后再追问。\n\n首次回复必须只输出下面 4 个部分：\n1. 体验开始：用 1 句话说明你将带我体验 BentoML 的核心服务。\n2. 当前步骤：明确进入 Step 1，并说明这一步要解决什么。\n3. 你会如何服务我：说明你会先改变我完成任务的哪个动作。\n4. 只问我 3 个问题，然后停下等待回答。\n\n首次回复禁止输出：后续完整流程、证据清单、安装命令、项目评价、营销文案、已经安装或运行的说法。\n\nStep 1 / brainstorming 的二轮协议：\n- 我回答首次三问后，你仍然停留在 Step 1 / brainstorming，不要进入 Step 2。\n- 第二次回复必须产出 6 个部分：澄清后的任务定义、成功标准、边界条件、\n  2-3 个可选方案、每个方案的权衡、推荐方案。\n- 第二次回复最后必须问我是否确认推荐方案；只有我明确确认后，才能进入下一步。\n- 第二次回复禁止输出 git worktree、代码计划、测试文件、命令或真实执行结果。\n\n后续对话规则：\n- 我回答后，你先完成当前步骤的中间产物并等待确认；只有我确认后，才能进入下一步。\n- 每一步都要生成一个小的中间产物，例如澄清后的目标、计划草案、测试意图、验证清单或继续/停止判断。\n- 所有演示都写成“我会建议/我会引导/这一步会形成”，不要写成已经真实执行。\n- 不要声称已经测试通过、文件已修改、命令已运行或结果已产生。\n- 如果某个能力必须安装后验证，请直接说“这一步需要安装后验证”。\n- 如果证据不足，请明确说“证据不足”，不要补事实。\n```\n",
      "voices": [
        {
          "body": "来源平台：github。github/github_issue: Example: Serve FunASR/SenseVoice as speech recognition API（https://github.com/bentoml/BentoML/issues/5627）；github/github_issue: bug: Bentoml Pytorch model serve bug（https://github.com/bentoml/BentoML/issues/5365）；github/github_issue: feature: support for pylock.toml（https://github.com/bentoml/BentoML/issues/5466）；github/github_issue: BUG: IndexError in IODescriptor.from_output() with bare (unparameterized（https://github.com/bentoml/BentoML/issues/5625）；github/github_release: v1.4.39（https://github.com/bentoml/BentoML/releases/tag/v1.4.39）；github/github_release: v1.4.38（https://github.com/bentoml/BentoML/releases/tag/v1.4.38）；github/github_release: v1.4.37（https://github.com/bentoml/BentoML/releases/tag/v1.4.37）；github/github_release: v1.4.36（https://github.com/bentoml/BentoML/releases/tag/v1.4.36）；github/github_release: v1.4.35（https://github.com/bentoml/BentoML/releases/tag/v1.4.35）；github/github_release: v1.4.34（https://github.com/bentoml/BentoML/releases/tag/v1.4.34）；github/github_release: v1.4.33（https://github.com/bentoml/BentoML/releases/tag/v1.4.33）；github/github_release: v1.4.32（https://github.com/bentoml/BentoML/releases/tag/v1.4.32）。这些是项目级外部声音，不作为单独质量证明。",
          "items": [
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Example: Serve FunASR/SenseVoice as speech recognition API",
              "url": "https://github.com/bentoml/BentoML/issues/5627"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "bug: Bentoml Pytorch model serve bug",
              "url": "https://github.com/bentoml/BentoML/issues/5365"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "feature: support for pylock.toml",
              "url": "https://github.com/bentoml/BentoML/issues/5466"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "BUG: IndexError in IODescriptor.from_output() with bare (unparameterized",
              "url": "https://github.com/bentoml/BentoML/issues/5625"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.39",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.39"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.38",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.38"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.37",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.37"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.36",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.36"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.35",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.35"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.34",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.34"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.33",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.33"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v1.4.32",
              "url": "https://github.com/bentoml/BentoML/releases/tag/v1.4.32"
            }
          ],
          "status": "已收录 12 条来源",
          "title": "社区讨论"
        }
      ]
    },
    "homepage_card": {
      "category": "软件开发与交付",
      "desc": "The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!",
      "effort": "安装已验证",
      "forks": 968,
      "icon": "code",
      "name": "BentoML 能力包",
      "risk": "可发布",
      "slug": "bentoml",
      "stars": 8673,
      "tags": [
        "软件开发与交付",
        "开源能力构建",
        "项目能力包",
        "可验证工作流",
        "多模型支持"
      ],
      "thumb": "gray",
      "type": "MCP 配置"
    },
    "manual": {
      "markdown": "",
      "markdown_key": "bentoml",
      "pages": "draft",
      "source_refs": [
        {
          "evidence_id": "github_repo:178976529",
          "kind": "repo",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/bentoml/BentoML"
        },
        {
          "evidence_id": "art_3a6c9831ffd24239ac3ad5f990e96024",
          "kind": "docs",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/bentoml/BentoML#readme"
        }
      ],
      "summary": "DeepWiki/Human Wiki 完整输出，末尾追加 Discovery Agent 踩坑日志。",
      "title": "BentoML 说明书",
      "toc": [
        "https://github.com/bentoml/BentoML 项目说明书",
        "目录",
        "框架概览与系统架构",
        "一、定位与核心目标",
        "二、代码组织与模块分层",
        "三、运行时与进程模型",
        "四、模型管理与序列化",
        "五、常见问题与社区关注点",
        "Doramagic 踩坑日志"
      ]
    }
  },
  "quality_gate": {
    "blocking_gaps": [],
    "category_confidence": "medium",
    "compile_status": "ready_for_review",
    "five_assets_present": true,
    "install_sandbox_verified": true,
    "missing_evidence": [],
    "next_action": "publish to Doramagic.ai project surfaces",
    "prompt_preview_boundary_ok": true,
    "publish_status": "publishable",
    "quick_start_verified": true,
    "repo_clone_verified": true,
    "repo_commit": "73c4dbead99be6515fa25fcd91e348ac30f5c22e",
    "repo_inspection_error": null,
    "repo_inspection_files": [
      "pyproject.toml",
      "README.md",
      "docs/README.md",
      "docs/source/conf.py",
      "docs/source/data/build-bento-action.yaml",
      "docs/source/data/containerize-and-push.yaml",
      "docs/source/data/bentoml-setup.yaml",
      "docs/source/data/deploy-bento-to-cloud.yaml",
      "docs/source/_static/js/custom.js",
      "docs/source/build-with-bentoml/snippets/metrics/runner_impl.py",
      "docs/source/build-with-bentoml/snippets/metrics/metric_defs.py",
      "docs/source/build-with-bentoml/snippets/tracing/bentoml_configuration.yaml",
      "docs/source/build-with-bentoml/snippets/tracing/docker-compose.yml",
      "docs/source/build-with-bentoml/snippets/grpc/python/request.py",
      "docs/source/build-with-bentoml/snippets/grpc/node/request.js",
      "examples/README.md",
      "src/bentoml_cli/env.py",
      "src/bentoml_cli/models.py",
      "src/bentoml_cli/deployment.py",
      "src/bentoml_cli/env_manager.py",
      "src/bentoml_cli/cloud.py",
      "src/bentoml_cli/containerize.py",
      "src/bentoml_cli/api_token.py",
      "src/bentoml_cli/__init__.py",
      "src/bentoml_cli/serve.py",
      "src/bentoml_cli/bentos.py",
      "src/bentoml_cli/cli.py",
      "src/bentoml_cli/secret.py",
      "src/bentoml_cli/utils.py",
      "src/_bentoml_impl/serde.py",
      "src/_bentoml_impl/arrow.py",
      "src/_bentoml_impl/__init__.py",
      "src/_bentoml_impl/docker.py",
      "src/_bentoml_impl/loader.py",
      "src/bentoml/metrics.py",
      "src/bentoml/server.py",
      "src/bentoml/triton.py",
      "src/bentoml/legacy.py",
      "src/bentoml/models.py",
      "src/bentoml/deployment.py"
    ],
    "repo_inspection_verified": true,
    "review_reasons": [],
    "tag_count_ok": true,
    "unsupported_claims": []
  },
  "schema_version": "0.1",
  "user_assets": {
    "ai_context_pack": {
      "asset_id": "ai_context_pack",
      "filename": "AI_CONTEXT_PACK.md",
      "markdown": "",
      "summary": "给宿主 AI 的上下文和工作边界。",
      "title": "AI Context Pack / 带给我的 AI"
    },
    "boundary_risk_card": {
      "asset_id": "boundary_risk_card",
      "filename": "BOUNDARY_RISK_CARD.md",
      "markdown": "",
      "summary": "安装、权限、验证和推荐前风险。",
      "title": "Boundary & Risk Card / 边界与风险卡"
    },
    "human_manual": {
      "asset_id": "human_manual",
      "filename": "HUMAN_MANUAL.md",
      "markdown": "",
      "summary": "DeepWiki/Human Wiki 完整输出，末尾追加 Discovery Agent 踩坑日志。",
      "title": "Human Manual / 人类版说明书"
    },
    "pitfall_log": {
      "asset_id": "pitfall_log",
      "filename": "PITFALL_LOG.md",
      "markdown": "",
      "summary": "用户实践前最可能遇到的身份、安装、配置、运行和安全坑。",
      "title": "Pitfall Log / 踩坑日志"
    },
    "prompt_preview": {
      "asset_id": "prompt_preview",
      "filename": "PROMPT_PREVIEW.md",
      "markdown": "# BentoML - Prompt Preview\n\n> 复制下面这段 Prompt 到你常用的 AI，先试一次，不需要安装。\n> 它的目标是让你直接体验这个项目的服务方式，而不是阅读项目介绍。\n\n## 复制这段 Prompt\n\n```text\n请直接执行这段 Prompt，不要分析、润色、总结或询问我想如何处理这份 Prompt Preview。\n\n你现在扮演 BentoML 的“安装前体验版”。\n这不是项目介绍、不是评价报告、不是 README 总结。你的任务是让我用最小成本体验它的核心服务。\n\n我的试用任务：我想用它完成一个真实的软件开发与交付任务。\n我常用的宿主 AI：Local CLI\n\n【体验目标】\n围绕我的真实任务，现场演示这个项目如何把输入转成 示例引导, 判断线索。重点是让我感受到工作方式，而不是给我项目背景。\n\n【业务流约束】\n- 你必须像一个正在提供服务的项目能力包，而不是像一个讲解员。\n- 每一轮只推进一个步骤；提出问题后必须停下来等我回答。\n- 每一步都必须让我感受到一个具体服务动作：澄清、整理、规划、检查、判断或收尾。\n- 每一步都要说明：当前目标、你需要我提供什么、我回答后你会产出什么。\n- 不要安装、不要运行命令、不要写代码、不要声称测试通过、不要声称已经修改文件。\n- 需要真实安装或宿主加载后才能验证的内容，必须明确说“这一步需要安装后验证”。\n- 如果我说“用示例继续”，你可以用虚构示例推进，但仍然不能声称真实执行。\n\n【可体验服务能力】\n- 安装前能力预览: The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more! 输入：用户任务, 当前 AI 对话上下文；输出：示例引导, 判断线索。\n\n【必须安装后才可验证的能力】\n- 命令行启动或安装流程: 项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 输入：终端环境, 包管理器, 项目依赖；输出：安装结果, 列表/更新/运行结果。\n\n【核心服务流】\n请严格按这个顺序带我体验。不要一次性输出完整流程：\n1. page-1：框架概览与系统架构。围绕“框架概览与系统架构”模拟一次用户任务，不展示安装或运行结果。\n2. page-2：Services、API 与 IO 类型系统。围绕“Services、API 与 IO 类型系统”模拟一次用户任务，不展示安装或运行结果。\n3. page-3：模型管理与容器化构建。围绕“模型管理与容器化构建”模拟一次用户任务，不展示安装或运行结果。\n4. page-4：部署、可观测性、Runner 与扩展机制。围绕“部署、可观测性、Runner 与扩展机制”模拟一次用户任务，不展示安装或运行结果。\n\n【核心能力体验剧本】\n每一步都必须按“输入 -> 服务动作 -> 中间产物”执行。不要只说流程名：\n1. page-1\n输入：用户提供的“框架概览与系统架构”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n2. page-2\n输入：用户提供的“Services、API 与 IO 类型系统”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n3. page-3\n输入：用户提供的“模型管理与容器化构建”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n4. page-4\n输入：用户提供的“部署、可观测性、Runner 与扩展机制”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n【项目服务规则】\n这些规则决定你如何服务用户。不要解释规则本身，而要在每一步执行时遵守：\n- 先确认用户任务、输入材料和成功标准，再模拟项目能力。\n- 每一步都必须形成可检查的小产物，并等待用户确认后再继续。\n- 凡是需要安装、调用工具或访问外部服务的能力，都必须标记为安装后验证。\n\n【每一步的服务约束】\n- Step 1 / page-1：Step 1 必须围绕“框架概览与系统架构”形成一个小中间产物，并等待用户确认。\n- Step 2 / page-2：Step 2 必须围绕“Services、API 与 IO 类型系统”形成一个小中间产物，并等待用户确认。\n- Step 3 / page-3：Step 3 必须围绕“模型管理与容器化构建”形成一个小中间产物，并等待用户确认。\n- Step 4 / page-4：Step 4 必须围绕“部署、可观测性、Runner 与扩展机制”形成一个小中间产物，并等待用户确认。\n\n【边界与风险】\n- 不要声称已经安装、运行、调用 API、读写本地文件或完成真实任务。\n- 安装前预览只能展示工作方式，不能证明兼容性、性能或输出质量。\n- 涉及安装、插件加载、工具调用或外部服务的能力必须安装后验证。\n\n【可追溯依据】\n这些路径只用于你内部校验或在我追问“依据是什么”时简要引用。不要在首次回复主动展开：\n- https://github.com/bentoml/BentoML\n- https://github.com/bentoml/BentoML#readme\n- README.md\n- src/bentoml/__init__.py\n- src/bentoml/__main__.py\n- src/_bentoml_sdk/__init__.py\n- src/_bentoml_impl/__init__.py\n- src/_bentoml_sdk/_internals.py\n- src/_bentoml_sdk/service/__init__.py\n- src/_bentoml_sdk/decorators.py\n- src/_bentoml_sdk/method.py\n- src/_bentoml_sdk/io_models.py\n\n【首次问题规则】\n- 首次三问必须先确认用户目标、成功标准和边界，不要提前进入工具、安装或实现细节。\n- 如果后续需要技术条件、文件路径或运行环境，必须等用户确认目标后再追问。\n\n首次回复必须只输出下面 4 个部分：\n1. 体验开始：用 1 句话说明你将带我体验 BentoML 的核心服务。\n2. 当前步骤：明确进入 Step 1，并说明这一步要解决什么。\n3. 你会如何服务我：说明你会先改变我完成任务的哪个动作。\n4. 只问我 3 个问题，然后停下等待回答。\n\n首次回复禁止输出：后续完整流程、证据清单、安装命令、项目评价、营销文案、已经安装或运行的说法。\n\nStep 1 / brainstorming 的二轮协议：\n- 我回答首次三问后，你仍然停留在 Step 1 / brainstorming，不要进入 Step 2。\n- 第二次回复必须产出 6 个部分：澄清后的任务定义、成功标准、边界条件、\n  2-3 个可选方案、每个方案的权衡、推荐方案。\n- 第二次回复最后必须问我是否确认推荐方案；只有我明确确认后，才能进入下一步。\n- 第二次回复禁止输出 git worktree、代码计划、测试文件、命令或真实执行结果。\n\n后续对话规则：\n- 我回答后，你先完成当前步骤的中间产物并等待确认；只有我确认后，才能进入下一步。\n- 每一步都要生成一个小的中间产物，例如澄清后的目标、计划草案、测试意图、验证清单或继续/停止判断。\n- 所有演示都写成“我会建议/我会引导/这一步会形成”，不要写成已经真实执行。\n- 不要声称已经测试通过、文件已修改、命令已运行或结果已产生。\n- 如果某个能力必须安装后验证，请直接说“这一步需要安装后验证”。\n- 如果证据不足，请明确说“证据不足”，不要补事实。\n```\n",
      "summary": "不安装项目也能感受能力节奏的安全试用 Prompt。",
      "title": "Prompt Preview / 安装前试用 Prompt"
    },
    "quick_start": {
      "asset_id": "quick_start",
      "filename": "QUICK_START.md",
      "markdown": "# Quick Start / 官方入口\n\n项目：bentoml/BentoML\n\n## 官方安装入口\n\n### Python / pip · 官方安装入口\n\n```bash\npip install -U bentoml\n```\n\n来源：https://github.com/bentoml/BentoML#readme\n\n## 来源\n\n- repo: https://github.com/bentoml/BentoML\n- docs: https://github.com/bentoml/BentoML#readme\n",
      "summary": "从项目官方 README 或安装文档提取的开工入口。",
      "title": "Quick Start / 官方入口"
    }
  },
  "validation_id": "dval_24898375eb4042d498dd2e24dfb50758"
}
