内容
# 金县地址转地块编号
将华盛顿州金县的街道地址转换为10位地块编号(PIN)。
两种模式 — 相同的 JSON 模式,不同的格式:
```bash
# 人类(美观打印)
python3 lookup.py "1817 Morris Ave S, Renton, WA 98055"
# 代理管道(紧凑,确定性退出代码)
python3 lookup.py --pipe "1817 Morris Ave S, Renton, WA 98055"
# 打印工具定义(Anthropic/OpenAI 工具调用模式)
python3 lookup.py --schema
```
## 响应约定
每个响应都有相同的格式:
```json
{
"action": "use",
"parcel_number": "7222000353",
"matched_address": "1817 MORRIS AVE S, Renton, WA, 98055",
"score": 100,
"message": "Matched: 1817 MORRIS AVE S → parcel 7222000353",
"candidates": []
}
```
| 字段 | 为 | 描述 |
|---|---|---|
| `action` | 代理 | `use`(使用地块编号),`pick`(从候选项中选择),`refine`(尝试不同的输入),`reject`(输入无效,不要重试) |
| `parcel_number` | 两种 | 答案(action=use)或最佳猜测(action=pick),否则为空 |
| `candidates` | 代理 | 按地址、地块编号、与输入距离排序的候选项 |
| `message` | 人类 | 发生了什么的纯英文解释 |
| `suggestions` | 人类 | 当不匹配时尝试下一次的建议 |
## 退出代码
| 代码 | 操作 | 管道行为 |
|---|---|---|
| 0 | `use` | 直接使用 `parcel_number` |
| 1 | `pick` / `refine` | 有候选项可用 — 代理选择最佳或询问上游 |
| 2 | `reject` | 输入无效(错误的县,没有房屋编号) — 不要重试 |
## 输入规范化
该工具处理不规范的输入:
| 输入 | 结果 |
|---|---|
| `"1817 Morris Ave S, Renton, WA 98055"` | `use` — 精确匹配,分数 100 |
| `"1817 Moris Ave S, Renton"` | `use` — 模糊匹配纠正拼写错误,分数 95 |
| `"1817 Morris Ave, Renton"` | `use` — 推断缺少的方向"S",分数 99 |
| `"PIN: 7222000353"` | `use` — 检测到已经是 PIN |
| `"7222000353"` | `use` — 直接使用 PIN |
| `"600 Grady Way, Renton"` | `pick` — 地址不存在,建议 601 S Grady Way |
| `"123 Main St, Tacoma"` | `reject` — Tacoma 在 Pierce County |
| `"Morris Ave Renton"` | `reject` — 没有房屋编号 |
## 适用于代理
`tool.json` 在仓库根目录中包含 Anthropic/OpenAI 工具调用格式的完整工具定义。代理可以直接加载它或获取实时版本:
```bash
python3 lookup.py --schema
```
```json
{
"name": "king_county_address_to_parcel",
"description": "将华盛顿州金县的街道地址转换为10位地块编号...",
"input_schema": {
"type": "object",
"properties": {
"address": { "type": "string", "description": "金县华盛顿州的街道地址..." }
},
"required": ["address"]
},
"output_schema": { ... },
"invocation": {
"command": "python3 lookup.py --pipe \"{address}\"",
"exit_codes": {
"0": "action=use — 地块编号有效",
"1": "action=pick 或 refine — 需要用户输入或不同的地址",
"2": "action=reject — 不要重试输入"
}
}
}
```
**管道模式:**
```bash
PARCEL=$(python3 lookup.py --pipe "1817 Morris Ave S, Renton" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['parcel_number'] if d['action']=='use' else '')")
```
**本系列相关工具:**
- [`king-county-permit-status`](https://github.com/chaoz23/king-county-permit-status) — 按地址、地块或许可证编号查找许可证历史
- [`wa-contractor-license`](https://github.com/chaoz23/wa-contractor-license) — 验证华盛顿州承包商许可证状态和违规记录
- [`king-county-property-tax-appeal`](https://github.com/chaoz23/king-county-property-tax-appeal) — 生成备案准备的税务上诉文件
## 要求
- Python 3.10+(仅标准库,无依赖)
- 网络访问 `gismaps.kingcounty.gov`
## 许可证
MIT