klink
面向 KLayout 的 AI-native 控制平面。它把正在运行的 KLayout GUI 变成可由外部 Python、MCP client 和 AI agent 控制的版图内核——geometry-first:在几何上标意图,让算法补全布线,用结构化几何和 LVS 判定完成,而不是靠“看起来像”的截图。这是一个早期试验阶段的开源项目,欢迎试用和反馈。
30 秒看到第一条结果
公开版本带不依赖私有 GDS 的示例。先跑离线 demo,再接入 live KLayout。完整步骤见 快速上手。
python -m pip install klayout-klink
klink init my-chip
cd my-chip
python example_template/nanodevice/ebl_wraparound.py
控制路径
薄插件贴着 KLayout,重的智能在外部 Python。两侧只经 RPC 通信。细节见 架构。
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 的指导性错误。
人 + agent 的交互能力
让人和 agent 在同一个 live KLayout 上协作的一组交互能力。逐个详解见 工作流。
SEND 选择记忆
工具栏 SEND 把选择记成稳定 id(如 sel_0006),agent 解析“这块区域”“刚才那个”——按顺序而非时间,且带 journaling 不丢。
一个 agent 控多个 KLayout
一个 MCP 桥驱动多个 KLayout 窗口,可 label、resolve、切换目标 session。
多会话 →跨会话搬运
两阶段、确认安全:先 prepare + 目标 dry-run,确认再 commit,搬错目标在 dry-run 阶段被抓住。
搬运 →8082 klive 显示
drop-in 完全替代 klive:任何硬编码 localhost:8082 的 gdsfactory c.show() 无需改动即可推进 KLayout,多会话可选目标。
录制 → 可回放脚本
把手工 GUI 编辑和 RPC 编辑录成可回放脚本,另出一个可在 KLayout 内独立运行的 pya 版。
Escape hatch
exec.python 跑受控 pya,覆盖 typed RPC 尚未触及的边角;仍会触发 recorder 与 layout-diff。
按领域划分的能力
klink 是通用的 geometry-first 控制平面。下面按领域列出目前具备的一些能力,每项都有可直接运行的示例脚本(全部无私有 GDS)。项目仍处于早期试验阶段,能力覆盖会继续变化。逐个实测详解见 示例。
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 先验。
硅光(silicon photonics)
把普通 gdsfactory MZI 脚本一次接管进 klink;GUI 拖动后一次 photonics.reroute 同时重路由光学(含 sbend/all_angle/dubins)和金属。
自定义器件数字 P&R → LVS
从合成 exemplar 拟合器件、放置、detailed routing 到 live LVS。实测 routed 94/94、LVS match=True、173 器件;器件无关网表流见 structdevice.*。
122 个工具,11 个领域
83 个插件 RPC + 39 个 MCP 本地工具,每个都有功能、参数和示例。目录由 live plugin 的 method registry 生成,不存在会漂移的手写清单。
文档地图
不确定从哪读起?按你的目的选一条线。
快速上手
安装 Python 包、KLayout 插件,注册 MCP server,跑通第一条离线结果。
安装 →核心思路与教程
geometry-first、Port/Anchor、用户项目模型、按领域 recipe、验证习惯。
概念 →交互工作流
SEND、多会话、跨窗搬运、8082 klive、录制回放——人和 agent 怎么协作。
工作流 →MCP 工具参考
122 个工具按 11 个领域逐一列出:功能、参数、示例。
参考 →Demo 详解
8 个公开 demo:功能、命令、公开实测数字、依赖、如何改成自己的。
示例 →架构
三层模型、控制路径、process purity、agent 工具设计原则、批量 RPC。
架构 →