讲师中心 微信公众号
AI工具推荐 视频效率加速

Niri IPC

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 Niri 的 IPC(`niri msg --json` / $NIRI_SOCKET)控制 Linux 上的 Wayland 合成器。用于从 OpenClaw 代理查询 Niri 状态(输出/工作区/窗口/焦点窗口)或执行操作(聚焦/移动/关闭窗口、切换工作区、执行命令、重新加载配置)。

Niri IPC. 通过 niri msg CLI(首选)使用 Niri IPC 或将 JSON 请求写到 $NIRI SCKET

功能概述

Niri IPC. 通过 niri msg CLI(首选)使用 Niri IPC 或将 JSON 请求写到 $NIRI SCKET是一项面向实际任务的技能,主要用于此技能假设:. 您正在运行 Niri 的 Linux 上;$NIRI SCKET 已设定( 通常是真实的)。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Niri IPC

通过 niri msg CLI(推荐方式)或向 $NIRI_SOCKET 写入 JSON 请求来使用 Niri IPC。

本技能假设:

  • 您正在运行 Niri 的 Linux 系统上操作。
  • $NIRI_SOCKET 已设置(通常在 Niri 会话内部自动完成)。

快速开始(推荐)

使用附带的辅助脚本(封装了 niri msg --json):

./skills/niri-ipc/scripts/niri.py version
./skills/niri-ipc/scripts/niri.py outputs
./skills/niri-ipc/scripts/niri.py workspaces
./skills/niri-ipc/scripts/niri.py windows
./skills/niri-ipc/scripts/niri.py focused-window

更精细的控制

1) 高层辅助工具(窗口匹配)

当您希望依据窗口标题或 app_id 的子字符串(而非 ID)引用窗口时,请使用 scripts/niri_ctl.py:

# 列出窗口(可选地进行过滤)
./skills/niri-ipc/scripts/niri_ctl.py list-windows --query firefox

# 通过子字符串匹配聚焦窗口
./skills/niri-ipc/scripts/niri_ctl.py focus firefox

# 关闭匹配到的窗口(先聚焦再关闭)
./skills/niri-ipc/scripts/niri_ctl.py close firefox

# 将匹配到的窗口移至指定工作区(按索引或名称)
./skills/niri-ipc/scripts/niri_ctl.py move-to-workspace firefox 3
./skills/niri-ipc/scripts/niri_ctl.py move-to-workspace firefox web

# 聚焦指定工作区(按索引或名称)
./skills/niri-ipc/scripts/niri_ctl.py focus-workspace 2
./skills/niri-ipc/scripts/niri_ctl.py focus-workspace web

2) 完整 IPC 访问(原始 socket)

使用 scripts/niri_socket.py 直接与 $NIRI_SOCKET 通信(JSON 消息以换行符分隔):

# 发送一条简单请求(JSON 字符串)
./skills/niri-ipc/scripts/niri_socket.py raw '"FocusedWindow"'

# 批量请求:标准输入中每行一条 JSON 请求
printf '%sn' '"FocusedWindow"' '"Workspaces"' | ./skills/niri-ipc/scripts/niri_socket.py stdin

# 事件流(持续输出 JSON 事件,直到被中断)
./skills/niri-ipc/scripts/niri_socket.py event-stream

操作(Actions)

透传 Niri 支持的操作指令:

# 按索引聚焦工作区
./skills/niri-ipc/scripts/niri.py action focus-workspace 2

# 将当前聚焦窗口移至指定工作区
./skills/niri-ipc/scripts/niri.py action move-window-to-workspace 3

# 按 ID 聚焦窗口
./skills/niri-ipc/scripts/niri.py action focus-window 123

# 关闭当前聚焦窗口
./skills/niri-ipc/scripts/niri.py action close-window

# 重新加载 niri 配置
./skills/niri-ipc/scripts/niri.py action load-config-file

# 启动程序(不经过 shell)
./skills/niri-ipc/scripts/niri.py action spawn -- alacritty

# 通过 shell 启动命令
./skills/niri-ipc/scripts/niri.py action spawn-sh -- 'notify-send hello'

输出设备配置

通过封装脚本调用 niri msg output ...:

./skills/niri-ipc/scripts/niri.py output --help

直接使用 niri msg

如不希望使用辅助脚本,可直接调用 Niri:

niri msg --json windows
niri msg --json action focus-workspace 2

提示:若升级后 niri msg 出现解析错误,请重启合成器(新版本 niri msg 与旧版合成器不兼容是常见原因)。

事件流(Event stream)

适用于状态栏或守护进程:Niri 可以持续推送事件流。

# 原始 JSON 事件行(持续运行直至被中断)
./skills/niri-ipc/scripts/niri.py event-stream

# 仅输出若干行用于快速测试
./skills/niri-ipc/scripts/niri.py event-stream --lines 5

故障排查

  • 若命令报错 “NIRI_SOCKET is not set”:请确保在您的 Niri 会话中运行,或手动导出 socket 路径。
  • 如需了解 socket 协议细节,请查阅:./skills/niri-ipc/references/ipc.md。
  • 若您需要实现复杂自动化(例如根据窗口标题或 app_id 精确选取目标窗口等),建议首先调用 windows 查询所有窗口信息,再基于返回的 window id 执行后续操作。
目录

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

相关专题

更多
讯飞绘文AI配图与绘图模型合集
讯飞绘文AI配图与绘图模型合集

本专题讲解讯飞绘文AI配图与绘图2.0 Pro,覆盖提示词、画面比例、参考图、风格选择及图片优化,帮助用户制作匹配内容的视觉素材。

0

2026.10.22

讯飞绘文AI选题与热点策划合集
讯飞绘文AI选题与热点策划合集

本专题介绍讯飞绘文选题中心与AI选题方法,涵盖热点发现、赛道筛选、选题评估和内容规划,解决创作者找灵感难题。

0

2026.10.22

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

0

2026.10.21

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

0

2026.10.21

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

0

2026.10.16

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

0

2026.10.16

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

0

2026.10.16

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn