# miao-client-plugin **Repository Path**: ling1314/miao-client-plugin ## Basic Information - **Project Name**: miao-client-plugin - **Description**: miao client plugins - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-14 - **Last Updated**: 2025-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目说明 为miao-client提供各种插件 ### 插件说明 #### [hands-up](src/base/hands-up) 握手插件 每种场景都应该有一个对应的 hands-up 插件,用于提供基础信息给服务端,确认自己是谁。 #### [guarder](src/base/guarder) 守卫插件 该程序和服务一样,常驻内存,负责监听电脑的使用情况,包括:CPU压力取样、内存压力取样、windows账户登录变化、电脑使用时长登记 等等逻辑。 这些功能信息要能实时传输给主程序,还要能做本地存储。因此它会是主程序的一个子进程,要做进程通讯。 本来这些功能是可以做在主程序上的,但是为了保证主程序的独立性,因此独立出来一个子进程单独做这件事。 2024-03-29 取消 插件有本地存储的能力,插件应该纯粹一点,不写日志,也不错存储,方便移植和服用。 有问题就直接抛给调用程序,所以写的时候保证功能简单,对应的也要保证健壮。 ### 注意 1. 编写插件时所有路径尽量使用绝对路径或者使用 `os.Executable()` 获取当前路径。因为无法确认插件会被谁调用, 如果是被服务或者一些奇奇怪怪设置了工作空间的程序调用时 `.` `~` `os.Getwd()` 获取到的很可能不是当前程序所在的路径。 go env -w CGO_ENABLED=1 go env -w GOOS=windows env GOOS=windows GOARCH=amd64 go build -o va-host-cli.exe ### 插件规范 1. 打包必须使用脚本 2. 异常必须使用 `cli.Exit(fmt.Sprintf("错误 %s", err), 1)`,第一个参数对应 stderr,第二次参数为1,0表示无错误,