Skip to content

easyeda-agent v1.0.2

Latest

Choose a tag to compare

@zhoushoujianwork zhoushoujianwork released this 18 Aug 18:35
· 1 commit to main since this release

[1.0.2] - 2026-08-19

ADR-0004「挪动收敛为单一安全 move 内核」首批随版(源自 issue #181 两份 E2E
复盘)。CLI 侧:schMoveKernel 五步管线(快照→删证回读→snap 移动→快照重连→
电气对账,失败自动恢复、目标页失效 fail-closed),group-move/zone move/
zone-arrange/relayout/**destagger(解禁)**五命令收敛为内核调用方,
group-move --groups 多子组一次整体移动;--zone/--group 统一命名空间
(一张注册表+来源标签,报错列全量可用名);dry-run 纯计算机械保证(派发层
拒 Mutates)。连接器侧两条见下。

Fixed

  • pcb.component.modify 解锁假成功(#174):平台 modify() 的真实锁字段是
    primitiveLock,而我们的读侧(pcb list)一直报 locked,调用方自然传
    {"locked":false} —— 平台静默忽略未知键仍返回成功(真机 22/22 报 ok、
    reload 后 22/22 仍锁定)。现在:(1) patch 归一化,locked/lock 别名映射到
    官方键 primitiveLock,契约外的未知键硬报错(不再允许静默 no-op);
    (2) 每次写后新鲜回读逐字段核对(modify 返回对象会回显输入,不可信),结果
    verified + applied/notApplied/unverified;(3) 回读发现锁写被丢时
    自动改走 setState_PrimitiveLock + done() 写路径(pcb.track.lock 验证过
    的模式)重试并再核对(lockFallback:true);(4) 按 #151 部分应用约定:画布
    已变(部分字段落地)返回 ok + 结构化 notApplied,零字段落地才报 ERROR

Added

  • schematic.component.delete 级联清理(ADR-0004 Decision 5):删件后自动
    找出挂在被删件 pin 上的桩线树(union-find 共点归树 + 点到线段锚定,与
    bridge-check 同一套判定)以及挂在这些树上的 netflag/netport/netlabel,一并
    删除并回读证实。树若还触及任何存活器件的 pin 即视为共享,绝不删;被删件
    自身残留(删除撒谎)时其树也整体跳过。结果新增
    cascaded: {wires:[ids], flags:[ids]}(只列回读证明已删的 id);级联删除
    撒谎的存活 id 按 #151 部分应用约定计入 notApplied(ok 保持 true + warning)。
    根治「删件残留桩线/旗被后放件静默继承网名」的幽灵连接(v1.0.1 的 orphan-tree
    判据只能事后抓,现在事前防)。CLI 渲染点(prim-delete / block-apply 回滚)
    带一行「级联清理 N 桩线 M 旗」。

  • schematic.component.delete 新 payload 字段 cascade:false(退路):保持
    旧行为(只删组件本体,不碰桩线/旗)——自己管整树删除的调用方(如 ADR-0004
    的 move 内核)必须传它,避免级联与内核的整树管理相互踩踏。默认 cascade:true

  • pcb.component.lock — 批量组件锁定/解锁(#174):输入 primitiveIds[] +
    locked,走专用 setState_PrimitiveLock + done() 写路径,写后新鲜回读逐件
    核对;结果 applied/alreadyInState/notApplied/missing + verified
    幂等(已在目标状态的只计数不重写);全部未落地时报 ERROR 而非假成功。CLI:
    easyeda pcb lock --ids id1,id2 [--unlock] / easyeda pcb lock --all --unlock
    (整板批量释放,--all 由 CLI 读活板 component 列表展开)。


Already installed? Upgrade in place:

easyeda update          # CLI binary (sha256-verified) + skill dirs
easyeda update --check  # report only

First install:

curl -fsSL https://raw.githubusercontent.com/zhoushoujianwork/easyeda-agent/main/install.sh | sh

Installs/updates:

  • easyeda CLI/daemon
  • easyeda-agent skill for Codex (/.codex/skills) and/or Claude Code (/.claude/skills) when detected
  • prints EasyEDA connector .eext import URL

The connector .eext is never auto-updated for sideloads — easyeda update reports a stale one and prints the re-import URL.

Skill targets: set EASYEDA_INSTALL_SKILLS=codex,claude to force targets, none to skip, or EASYEDA_SKILL_PRESERVE=1 to keep local edits.

checksums.txt lists sha256 for every asset above.