跳到主要内容
好设计GoodDesign
小好,GoodDesign的研究搭子
GoodDesign AI Agent

你好,我是小好

我是你的研究搭子,可以陪你找项目、读方法、核证据。一起把问题看清楚,再决定下一步。

找项目从真实案例和设计取舍开始 读方法理解输入、步骤与适用边界 核证据回到项目版本与原文引用
我会把依据留给你

现在提供真实导览,不把演示当成自动研究。这里不调用模型,也不会修改你的资料。

跳到主要内容

方法引擎与 MCP

Agent读取方法、检查交接、记录研究产物;模型生成与规则检查分开调用。

复制配置,接到你的Agent

下面是本机stdio配置,需MCP客户端支持该配置格式。其他电脑请替换绝对路径,并安装项目固定运行环境;这不是公开远程服务,也不会替你写入全局设置。

{
  "mcpServers": {
    "gooddesign-methods": {
      "command": "/.runtime/pipeline/bin/python",
      "args": [
        "/scripts/method_engine_library_mcp.py"
      ],
      "env": {
        "METHOD_ENGINE_DB": "/output/method-workbench-private/engine.sqlite"
      }
    }
  }
}

上述可选内容聚合入口共22个工具:保留原20个工具,另加2个增补方法只读工具。原method_engine_mcp.py仍18个,method_engine_incremental_mcp.py仍20个。现有模型调用依赖本机已配置的Codex服务与额度,不包含在纯规则检查内。

一次调用示例

以下是MCP tools/call的params结构;完整JSON-RPC请求需由客户端添加id/jsonrpc/method。

{
  "name": "method_get",
  "arguments": {
    "method_id": "R17",
    "view": "overview"
  }
}

读取本轮增补方法

{
  "name": "method_supplement_get",
  "arguments": {
    "method_id": "R49"
  }
}

R49—R52使用method_supplement_search/get检索和阅读。原method_search/get及规则规划器仍读取冻结60份档案;选择增补方法不自动建立执行节点。

从需求到验证的参考链

  1. 问题定义与要求管理
  2. 功能分解与接口分析
  3. 形态学分析
  4. Pugh概念筛选
  5. 原型与假设测试
  6. 验证与确认

只有这六项已有当前执行契约。参考链不是所有项目的固定答案,其他58份内容档案不能自动当作已接通的执行算法。

工具清单

调用边界

semantic_match、propose_artifact、review_artifact及两个增量生成工具会调用真实模型、消耗额度;propose默认允许一次修复,需单次调用可传max_repairs: 0。生成结果仍是草稿;提交要提供运行版本和幂等键,通过校验也不等于专家审核或工程验证。案例证据归一化不认证原文真实性。

逐步保存输入版本、证据位置、未知事项和审查记录。输入不足或硬约束冲突应停止或返回;未知不得自动判定为通过。工作台页面的完整调用记录仍在“探索与验证”。

工具参数与调用类型

以下为独立SDK实测的原增量20工具接口快照;新22工具入口额外两只读增补工具以实际tools/list为准。调用前检查当前Schema,不把annotations当权限。

method_semantic_match · 模型调用:消耗额度并保留审计

必填:request_text

{
  "properties": {
    "request_text": {
      "title": "Request Text",
      "type": "string"
    },
    "context": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Context"
    }
  },
  "required": [
    "request_text"
  ],
  "title": "method_semantic_matchArguments",
  "type": "object"
}
method_propose_artifact · 模型调用:消耗额度并保留审计

必填:method_id、task

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "artifacts": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Artifacts"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    },
    "max_repairs": {
      "default": 1,
      "title": "Max Repairs",
      "type": "integer"
    }
  },
  "required": [
    "method_id",
    "task"
  ],
  "title": "method_propose_artifactArguments",
  "type": "object"
}
method_review_artifact · 模型调用:消耗额度并保留审计

必填:method_id、task、artifact

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "artifact": {
      "additionalProperties": true,
      "title": "Artifact",
      "type": "object"
    },
    "inputs": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inputs"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "method_id",
    "task",
    "artifact"
  ],
  "title": "method_review_artifactArguments",
  "type": "object"
}
method_search · read_or_rule_check

必填:无

{
  "properties": {
    "query": {
      "default": "",
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "method_searchArguments",
  "type": "object"
}
method_prepare_application_request · read_or_rule_check

必填:request、object_name、boundary

{
  "properties": {
    "request": {
      "additionalProperties": true,
      "title": "Request",
      "type": "object"
    },
    "object_name": {
      "title": "Object Name",
      "type": "string"
    },
    "boundary": {
      "title": "Boundary",
      "type": "string"
    },
    "stage": {
      "default": "frame",
      "title": "Stage",
      "type": "string"
    }
  },
  "required": [
    "request",
    "object_name",
    "boundary"
  ],
  "title": "method_prepare_application_requestArguments",
  "type": "object"
}
method_application_result · read_or_rule_check

必填:run_id

{
  "properties": {
    "run_id": {
      "title": "Run Id",
      "type": "string"
    }
  },
  "required": [
    "run_id"
  ],
  "title": "method_application_resultArguments",
  "type": "object"
}
method_get · read_or_rule_check

必填:method_id

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "view": {
      "default": "overview",
      "title": "View",
      "type": "string"
    }
  },
  "required": [
    "method_id"
  ],
  "title": "method_getArguments",
  "type": "object"
}
method_match · read_or_rule_check

必填:task

{
  "properties": {
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "artifacts": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Artifacts"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "task"
  ],
  "title": "method_matchArguments",
  "type": "object"
}
method_plan · read_or_rule_check

必填:task

{
  "properties": {
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "target": {
      "default": "R42",
      "title": "Target",
      "type": "string"
    },
    "artifacts": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Artifacts"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "task"
  ],
  "title": "method_planArguments",
  "type": "object"
}
method_check_artifact · read_or_rule_check

必填:method_id、artifact

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "artifact": {
      "additionalProperties": true,
      "title": "Artifact",
      "type": "object"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    },
    "task": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Task"
    },
    "inputs": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inputs"
    }
  },
  "required": [
    "method_id",
    "artifact"
  ],
  "title": "method_check_artifactArguments",
  "type": "object"
}
method_check_inputs · read_or_rule_check

必填:method_id、task

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "artifacts": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Artifacts"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "method_id",
    "task"
  ],
  "title": "method_check_inputsArguments",
  "type": "object"
}
method_check_handoff · read_or_rule_check

必填:method_id、artifact、task

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "artifact": {
      "additionalProperties": true,
      "title": "Artifact",
      "type": "object"
    },
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "method_id",
    "artifact",
    "task"
  ],
  "title": "method_check_handoffArguments",
  "type": "object"
}
method_evidence_requests · read_or_rule_check

必填:method_id、task

{
  "properties": {
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    }
  },
  "required": [
    "method_id",
    "task"
  ],
  "title": "method_evidence_requestsArguments",
  "type": "object"
}
method_quality_report · read_or_rule_check

必填:packet

{
  "properties": {
    "packet": {
      "additionalProperties": true,
      "title": "Packet",
      "type": "object"
    }
  },
  "required": [
    "packet"
  ],
  "title": "method_quality_reportArguments",
  "type": "object"
}
method_normalize_case_evidence · read_or_rule_check

必填:project_id、source_id、response

{
  "properties": {
    "project_id": {
      "title": "Project Id",
      "type": "string"
    },
    "source_id": {
      "title": "Source Id",
      "type": "string"
    },
    "response": {
      "additionalProperties": true,
      "title": "Response",
      "type": "object"
    }
  },
  "required": [
    "project_id",
    "source_id",
    "response"
  ],
  "title": "method_normalize_case_evidenceArguments",
  "type": "object"
}
method_run_create · 持久写入

必填:task

{
  "properties": {
    "task": {
      "additionalProperties": true,
      "title": "Task",
      "type": "object"
    },
    "target": {
      "default": "R42",
      "title": "Target",
      "type": "string"
    },
    "artifacts": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Artifacts"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "task"
  ],
  "title": "method_run_createArguments",
  "type": "object"
}
method_run_get · read_or_rule_check

必填:run_id

{
  "properties": {
    "run_id": {
      "title": "Run Id",
      "type": "string"
    }
  },
  "required": [
    "run_id"
  ],
  "title": "method_run_getArguments",
  "type": "object"
}
method_run_submit · 持久写入

必填:run_id、expected_revision、key、method_id、artifact

{
  "properties": {
    "run_id": {
      "title": "Run Id",
      "type": "string"
    },
    "expected_revision": {
      "title": "Expected Revision",
      "type": "integer"
    },
    "key": {
      "title": "Key",
      "type": "string"
    },
    "method_id": {
      "title": "Method Id",
      "type": "string"
    },
    "artifact": {
      "additionalProperties": true,
      "title": "Artifact",
      "type": "object"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "run_id",
    "expected_revision",
    "key",
    "method_id",
    "artifact"
  ],
  "title": "method_run_submitArguments",
  "type": "object"
}
method_generate_function_options · 模型调用:消耗额度并保留审计

必填:run_id、function_id

{
  "properties": {
    "run_id": {
      "title": "Run Id",
      "type": "string"
    },
    "function_id": {
      "title": "Function Id",
      "type": "string"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "run_id",
    "function_id"
  ],
  "title": "method_generate_function_optionsArguments",
  "type": "object"
}
method_assemble_function_options · 模型调用:消耗额度并保留审计

必填:run_id、parts

{
  "properties": {
    "run_id": {
      "title": "Run Id",
      "type": "string"
    },
    "parts": {
      "additionalProperties": true,
      "title": "Parts",
      "type": "object"
    },
    "evidence": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence"
    }
  },
  "required": [
    "run_id",
    "parts"
  ],
  "title": "method_assemble_function_optionsArguments",
  "type": "object"
}