- 子命令 save/notify/input/cleanup:纯互操作 IPC,不加载 Avalonia
- 命名管道:瘦客户端投递请求,Host 未运行时自动拉起并重试
- 每会话状态文件 %TEMP%\claude-notify-{id}.json,保存前台窗口与 prompt
- Host 单例互斥量 + 管道监听,收到请求切回 UI 线程弹窗
- stdin 改为 UTF-8 原始字节读取,修复中文乱码与读不到的问题
- 符合 Claude Code 插件规范的 .claude-plugin 与 hooks 结构
21 lines
531 B
C#
21 lines
531 B
C#
namespace Notify.Ipc;
|
|
|
|
/// <summary>
|
|
/// 瘦客户端经命名管道投递给 Host 的一条弹窗请求
|
|
/// </summary>
|
|
public sealed class PipeMessage
|
|
{
|
|
public string Title { get; set; } = "";
|
|
|
|
public string Message { get; set; } = "";
|
|
|
|
// true = 需要输入(青色边框)
|
|
public bool InputMode { get; set; }
|
|
|
|
// true = 常驻,不自动消失
|
|
public bool Sticky { get; set; }
|
|
|
|
// 触发该通知的会话 id,便于 Host 后续按会话激活窗口
|
|
public string? SessionId { get; set; }
|
|
}
|