KLayout + Python + MCP

klink

面向 KLayout 的 AI-native 控制平面。它把正在运行的 KLayout GUI 变成可由外部 Python、MCP client 和 AI agent 控制的版图内核——geometry-first:在几何上标意图,让算法补全布线,用结构化几何和 LVS 判定完成,而不是靠“看起来像”的截图。这是一个早期试验阶段的开源项目,欢迎试用和反馈。

Package: klayout-klink Python 3.10+ KLayout 0.30.x tested Apache-2.0 开源 Alpha · 早期阶段

控制路径

薄插件贴着 KLayout,重的智能在外部 Python。两侧只经 RPC 通信。细节见 架构。

control path
Agent (Claude Code / Codex)
  → MCP server   (python -m klink.mcp)
  → klink client (NDJSON over TCP)
  → KLayout plugin (in-process RPC)
       RPC:            127.0.0.1:8765+
       klive-compat:   127.0.0.1:8082

会话即端口,平等对等

每个 KLayout 窗口绑定一个端口(8765、8766…)注册为一个 session。没有特权端口,显式指明目标。

Process purity

klink 不带工艺常量。层号、尺寸、器件都由你的 pdk.py 显式传入;缺参数返回带 next_action 的指导性错误。

按领域划分的能力

klink 是通用的 geometry-first 控制平面。下面按领域列出目前具备的一些能力,每项都有可直接运行的示例脚本(全部无私有 GDS)。项目仍处于早期试验阶段,能力覆盖会继续变化。逐个实测详解见 示例。

EBL 纳米器件

EBL 纳米器件

电子束光刻器件生成:EBL wraparound、Hall bar,含 writefield 场规划、patch 与几何校验。离线 EBL 实测 40 电极 / 0 violations / 0 overlaps。

看 EBL / Hall bar →
神经电极

神经电极

参数化神经电极探针:pad/via 几何 → Port → corridor anchor → tapered-hybrid 路由,自包含无 GDS。4 行时 48 ports / 24 nets / overlap 0。

看 neural electrode →
新材料

新材料 flake 检测

从显微图检测材料 flake(需 cv2+numpy),或读预算 traces.json,提交为多边形并派生接触 Port。基于 KlayoutClaw 先验。

看 nanodevice 工具 →
成像

剖面 · 3D · SEM · Blender

一份 klink_visual_stack_v1 声明 + 你自己的 .pyxs 配方,出工艺剖面与逐步胶片(带 z 标尺)、3D 模型加自含离线网页查看器、SEM 风格顶视、论文级 Blender 渲染。starter 是四晶体管 CMOS 单元行 + 十一步平面 CMOS 流程。

看成像教程 →
硅光

硅光(silicon photonics)

把普通 gdsfactory MZI 脚本一次接管进 klink;GUI 拖动后一次 photonics.reroute 同时重路由光学(含 sbend/all_angle/dubins)和金属。

看 gdsfactory MZI →
数字 P&R

自定义器件数字 P&R → LVS

从合成 exemplar 拟合器件、放置、detailed routing 到 live LVS。实测 routed 94/94、LVS match=True、173 器件;器件无关网表流见 structdevice.*。

看 fit-device demo →
Region · 意图

Region 与可执行版图意图

圈一块区域,把任意已有 cell 铺成带唯一编号标签的阵列:region.claim 认领 + intent.prepare 预览 + intent.apply 写入 + intent.regenerate 原子替换。实测区域 14000 µm²、placed 31(4 rejected)、regenerate 后编号整体换成 S201..S231。

看 layout intent 教程 →

190+ 个工具,15 个领域

插件 RPC + MCP 本地工具,每个都有功能、参数和示例(精确计数见 MCP 工具参考)。目录由 live plugin 的 method registry 生成,不存在会漂移的手写清单。