Skip to content

KimiCU 0.6.8: 企业微信(CEF)中 type_text/paste/set_value 均报 edit-menu command is disabled #4684

Open

Description

@obqyuxi

你运行的 Kimi Code 版本是?

KimiCU 0.6.8(Kimi Code CLI 2.4.1 已安装;本次问题是通过 KimiCU「接入本地 Agent」面板接入的 Claude Code 2.1.316 调用 kimi-cu mcp -s user 复现的)

你使用的是哪个开放平台/订阅?

Kimi Code (OAuth)

你使用的是哪个模型?

调用方为 Claude Code(Claude Opus),与模型无关

你的电脑平台是?

macOS 26.6.2, Apple Silicon (arm64)

你遇到了什么问题?

在企业微信 Mac 版(com.tencent.WeWorkMac 5.0.13,get_app_state 报告 has_cef: true / has_chromium_input_surface: true)的聊天输入框里,所有文本写入工具都直接失败,返回:

error: edit-menu command is disabled

失败的调用(均未写入任何内容,事后 AX 读回输入框为空):

  1. type_text,带 index(输入框 AXTextArea)+ snapshot_id + submit: true
  2. 先 click 输入框,再 paste
  3. type_text,不带 index(注入当前焦点)
  4. set_value,index 指向输入框;此时 get_app_state 已显示该 AXTextArea 为 (focused)

只有 press_key 逐键输入(h e l l o)能成功,但无法输入中文。

随后我用 System Events 读取了一次企业微信「编辑」菜单(get {name, enabled} of every menu item of menu 1 of menu bar item "编辑"),读到「粘贴」为 enabled;之后再次调用 paste,成功,返回 used_backend: "background_menu_paste", verified: true。

推测(未严格验证):CEF 目标的文本写入依赖 Edit > Paste 菜单项,KimiCU 在后台读取到的菜单项 AXEnabled 是过期状态(macOS 菜单项的 enabled 状态通常在菜单打开/验证时才刷新),于是在焦点已在输入框时仍判断为 disabled 并拒绝执行。无法完全排除另一个因素:第一次失败时焦点尚未进入输入框。

复现步骤?

  1. 企业微信 Mac 版打开任一单聊会话,窗口不在前台
  2. 通过 MCP 调用 get_app_state(app="com.tencent.WeWorkMac"),找到聊天输入框 AXTextArea 的 index
  3. 调用 type_text(app, index, snapshot_id, text="hello") → edit-menu command is disabled
  4. click 输入框后调用 paste(text="hello") / set_value(index, "hello") → 同样报错
  5. 用 System Events 读取一次企业微信「编辑」菜单项状态后,再次 paste → 成功

期望的行为是什么?

  • 在调用 Edit 菜单命令前刷新/重新验证菜单项状态(例如触发 menu update 或 validateMenuItem),而不是使用过期的 AXEnabled;或
  • 菜单命令不可用时,提供不依赖菜单的回退路径(如 Unicode 键盘事件 / 输入法事件),至少让中文可以写入;
  • 报错信息中注明是哪个菜单项(粘贴/全选等)被判定为 disabled,便于调用方处理。

补充信息

  • get_app_state 输出:is_electron: false, has_cef: true, has_chromium_input_surface: true
  • 企业微信「编辑」菜单读取结果(成功那次):撤销 false、重做 false、剪切 false、复制 false、粘贴 true、删除 false、全选 true
  • KimiCU 后台服务 ai.kimi.cu.service 正常运行,辅助功能和屏幕录制均已授权

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions