cpuid

cpuid

高效的Go语言CPU信息检测库

cpuid是一个纯Go语言实现的CPU信息检测库,支持x86/x64和ARM架构。它在程序启动时识别CPU特性,并在运行期间保持高效访问。通过cpuid库,开发者可以轻松获取CPU品牌、核心数、缓存大小和指令集等详细信息,无需依赖外部C代码,简化了跨平台开发。

cpuidCPU信息处理器特性Go语言系统编程Github开源项目

cpuid

cpuid 包提供了有关当前程序运行的 CPU 的信息。

CPU 特性在启动时被检测,并在应用程序的整个生命周期中保持快速访问。目前支持 x86 / x64 (AMD64/i386) 和 ARM (ARM64),且不使用外部 C (cgo) 代码,这使得该库非常易于使用。

你可以通过访问 cpuid 库的共享 CPU 变量来获取 CPU 信息。

包主页: https://github.com/klauspost/cpuid

PkgGoDev Go

安装

使用模块时执行 go get -u github.com/klauspost/cpuid/v2。 其他情况下去掉 v2

安装二进制文件:

go install github.com/klauspost/cpuid/v2/cmd/cpuid@latest

或从发布页面下载二进制文件: https://github.com/klauspost/cpuid/releases

Homebrew

对于 macOS/Linux 用户,可以通过 brew 安装

$ brew install cpuid

示例

package main import ( "fmt" "strings" . "github.com/klauspost/cpuid/v2" ) func main() { // 打印基本的 CPU 信息: fmt.Println("名称:", CPU.BrandName) fmt.Println("物理核心数:", CPU.PhysicalCores) fmt.Println("每核心线程数:", CPU.ThreadsPerCore) fmt.Println("逻辑核心数:", CPU.LogicalCores) fmt.Println("系列", CPU.Family, "型号:", CPU.Model, "厂商 ID:", CPU.VendorID) fmt.Println("特性:", strings.Join(CPU.FeatureSet(), ",")) fmt.Println("缓存行大小:", CPU.CacheLine) fmt.Println("L1 数据缓存:", CPU.Cache.L1D, "字节") fmt.Println("L1 指令缓存:", CPU.Cache.L1I, "字节") fmt.Println("L2 缓存:", CPU.Cache.L2, "字节") fmt.Println("L3 缓存:", CPU.Cache.L3, "字节") fmt.Println("频率", CPU.Hz, "赫兹") // 测试是否有这些特定特性: if CPU.Supports(SSE, SSE2) { fmt.Println("我们有流式 SIMD 2 扩展") } }

示例输出:

>go run main.go
名称: AMD Ryzen 9 3950X 16-Core Processor
物理核心数: 16
每核心线程数: 2
逻辑核心数: 32
系列 23 型号: 113 厂商 ID: AMD
特性: ADX,AESNI,AVX,AVX2,BMI1,BMI2,CLMUL,CMOV,CX16,F16C,FMA3,HTT,HYPERVISOR,LZCNT,MMX,MMXEXT,NX,POPCNT,RDRAND,RDSEED,RDTSCP,SHA,SSE,SSE2,SSE3,SSE4,SSE42,SSE4A,SSSE3
缓存行大小: 64
L1 数据缓存: 32768 字节
L1 指令缓存: 32768 字节
L2 缓存: 524288 字节
L3 缓存: 16777216 字节
频率 0 赫兹
我们有流式 SIMD 2 扩展

使用

cpuid.CPU 提供了对 CPU 特性的访问。使用 cpuid.CPU.Supports() 来检查 CPU 特性。 提供了一个更快的 cpuid.CPU.Has(),通常会被 gc 编译器内联。

要测试大量特性,可以使用 f := CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SYSCALL, SSE, SSE2) 等来组合它们。 这可以与 cpuid.CPU.HasAll(f) 一起使用,以快速测试是否支持所有特性。

注意,对于某些 CPU/OS 组合,某些特性可能无法检测到。 amd64 的支持相当好,应该在所有平台上可靠工作。

请注意,虚拟机管理程序可能不会将所有 CPU 特性传递给客户操作系统, 所以即使你的主机支持某个特性,在客户机上也可能看不到。

arm64 特性检测

并非所有操作系统都直接提供 ARM 特性, 对于其他系统,也没有安全的方法来实现这一点。

目前 arm64/linuxarm64/freebsd 应该相当可靠。 arm64/darwin 添加了 M1 处理器预期的特性,但仍有许多特性未被检测到。

如果你能控制你的部署环境,可以使用 DetectARM(), 它将检测 CPU 特性,但如果操作系统不拦截调用,可能会崩溃。 可以添加 -cpu.arm 标志来检测不安全的 ARM 特性。详见下文。

注意,目前在 ARM 上只检测特性, 目前没有其他额外信息可用。

标志

可以添加影响 CPU 检测的标志。

为此提供了 Flags() 命令。

这必须在 flag.Parse() 之前调用,并且在解析标志后必须调用 Detect()

这意味着在 init() 函数中使用的任何检测都不会包含这些标志。

示例:

package main import ( "flag" "fmt" "strings" "github.com/klauspost/cpuid/v2" ) func main() { cpuid.Flags() flag.Parse() cpuid.Detect() // 测试是否有这些特定特性: if cpuid.CPU.Supports(cpuid.SSE, cpuid.SSE2) { fmt.Println("我们有流式 SIMD 2 扩展") } }

命令行

从以下地址下载二进制文件: https://github.com/klauspost/cpuid/releases

从源代码安装:

go install github.com/klauspost/cpuid/v2/cmd/cpuid@latest

示例

λ cpuid
名称:AMD Ryzen 9 3950X 16核处理器
厂商字符串:AuthenticAMD
厂商ID:AMD
物理核心数:16
每核心线程数:2
逻辑核心数:32
CPU系列23 型号:113
功能:ADX,AESNI,AVX,AVX2,BMI1,BMI2,CLMUL,CLZERO,CMOV,CMPXCHG8,CPBOOST,CX16,F16C,FMA3,FXSR,FXSROPT,HTT,HYPERVISOR,LAHF,LZCNT,MCAOVERFLOW,MMX,MMXEXT,MOVBE,NX,OSXSAVE,POPCNT,RDRAND,RDSEED,RDTSCP,SCE,SHA,SSE,SSE2,SSE3,SSE4,SSE42,SSE4A,SSSE3,SUCCOR,X87,XSAVE
微架构等级:3
缓存行大小:64字节
一级指令缓存:32768字节
一级数据缓存:32768字节
二级缓存:524288字节
三级缓存:16777216字节

JSON输出:

λ cpuid --json
{
  "品牌名称": "AMD Ryzen 9 3950X 16核处理器",
  "厂商ID": 2,
  "厂商字符串": "AuthenticAMD",
  "物理核心数": 16,
  "每核心线程数": 2,
  "逻辑核心数": 32,
  "系列": 23,
  "型号": 113,
  "缓存行": 64,
  "频率": 0,
  "加速频率": 0,
  "缓存": {
    "一级指令": 32768,
    "一级数据": 32768,
    "二级": 524288,
    "三级": 16777216
  },
  "SGX": {
    "可用": false,
    "启动控制": false,
    "支持SGX1": false,
    "支持SGX2": false,
    "非64位最大飞地大小": 0,
    "64位最大飞地大小": 0,
    "EPC区段": null
  },
  "功能": [
    "ADX",
    "AESNI",
    "AVX",
    "AVX2",
    "BMI1",
    "BMI2",
    "CLMUL",
    "CLZERO",
    "CMOV",
    "CMPXCHG8",
    "CPBOOST",
    "CX16",
    "F16C",
    "FMA3",
    "FXSR",
    "FXSROPT",
    "HTT",
    "HYPERVISOR",
    "LAHF",
    "LZCNT",
    "MCAOVERFLOW",
    "MMX",
    "MMXEXT",
    "MOVBE",
    "NX",
    "OSXSAVE",
    "POPCNT",
    "RDRAND",
    "RDSEED",
    "RDTSCP",
    "SCE",
    "SHA",
    "SSE",
    "SSE2",
    "SSE3",
    "SSE4",
    "SSE42",
    "SSE4A",
    "SSSE3",
    "SUCCOR",
    "X87",
    "XSAVE"
  ],
  "X64等级": 3
}

检查CPU微架构等级

λ cpuid --check-level=3
2022/03/18 17:04:40 AMD Ryzen 9 3950X 16核处理器
2022/03/18 17:04:40 支持微架构等级3。最高等级为3。
退出代码 0

λ cpuid --check-level=4
2022/03/18 17:06:18 AMD Ryzen 9 3950X 16核处理器
2022/03/18 17:06:18 不支持微架构等级4。最高等级为3。
退出代码 1

可用标志

x86 & amd64

特性标志描述
ADXIntel ADX(多精度加进位指令扩展)
AESNI高级加密标准新指令
AMD3DNOWAMD 3DNOW
AMD3DNOWEXTAMD 3DNow扩展
AMXBF16对BFLOAT16数字进行平铺计算操作
AMXINT8对8位整数进行平铺计算操作
AMXFP16对FP16数字进行平铺计算操作
AMXTILE平铺架构
APX_FIntel APX
AVXAVX函数
AVX10如果设置,表示支持Intel AVX10融合向量指令集架构
AVX10_128如果设置,表示存在AVX10 128位向量支持
AVX10_256如果设置,表示存在AVX10 256位向量支持
AVX10_512如果设置,表示存在AVX10 512位向量支持
AVX2AVX2函数
AVX512BF16AVX-512 BFLOAT16指令
AVX512BITALGAVX-512位算法
AVX512BWAVX-512字节和字指令
AVX512CDAVX-512冲突检测指令
AVX512DQAVX-512双字和四字指令
AVX512ERAVX-512指数和倒数指令
AVX512FAVX-512基础
AVX512FP16AVX-512 FP16指令
AVX512IFMAAVX-512整数融合乘加指令
AVX512PFAVX-512预取指令
AVX512VBMIAVX-512向量位操作指令
AVX512VBMI2AVX-512向量位操作指令,版本2
AVX512VLAVX-512向量长度扩展
AVX512VNNIAVX-512向量神经网络指令
AVX512VP2INTERSECTAVX-512 D/Q交集
AVX512VPOPCNTDQAVX-512向量双字和四字人口统计
AVXIFMAAVX-IFMA指令
AVXNECONVERTAVX-NE-CONVERT指令
AVXSLOW表示CPU执行2个128位操作而不是1个
AVXVNNIAVX(VEX编码)VNNI神经网络指令
AVXVNNIINT8AVX-VNNI-INT8指令
AVXVNNIINT16AVX-VNNI-INT16指令
BHI_CTRL分支历史注入和内模式分支目标注入 / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598
BMI1位操作指令集1
BMI2位操作指令集2
CETIBTIntel CET间接分支跟踪
CETSSIntel CET影子栈
CLDEMOTE缓存行降级
CLMUL无进位乘法
CLZERO支持CLZERO指令
CMOVi686 CMOV
CMPCCXADDCMPCCXADD指令
CMPSB_SCADBS_SHORT快速短CMPSB和SCASB
CMPXCHG8CMPXCHG8指令
CPBOOST核心性能提升
CPPCAMD:协作处理器性能控制
CX16CMPXCHG16B指令
EFER_LMSLE_UNSAMD:=Core::X86::Msr::EFER[LMSLE]不受支持,且必须为零
ENQCMD入队命令
ERMS增强型REP MOVSB/STOSB
F16C半精度浮点转换
FLUSH_L1D刷新L1D缓存
FMA3Intel FMA 3。不意味着AVX。
FMA4Bulldozer FMA4函数
FP128AMD:设置时,内部FP/SIMD执行数据路径为128位宽
FP256AMD:设置时,内部FP/SIMD执行数据路径为256位宽
FSRM快速短Rep Mov
FXSRFXSAVE, FXRESTOR指令,CR4位9
FXSROPTFXSAVE/FXRSTOR优化
GFNI伽罗瓦域新指令。根据使用情况可能需要其他特性(AVX, AVX512VL, AVX512F)。
HLE硬件锁消除
HRESET如果设置,CPU支持历史重置和IA32_HRESET_ENABLE MSR
HTT超线程(已启用)
HWA支持硬件断言。表示支持MSRC001_10
HYBRID_CPU此部件具有多种类型的CPU。
HYPERVISOR此位已被Intel和AMD保留给虚拟机监控程序使用
IA32_ARCH_CAPIA32_ARCH_CAPABILITIES MSR(Intel)
IA32_CORE_CAPIA32_CORE_CAPABILITIES MSR
IBPB间接分支受限推测(IBRS)和间接分支预测屏障(IBPB)
IBRSAMD:间接分支受限推测
IBRS_PREFERREDAMD:IBRS优先于软件解决方案
IBRS_PROVIDES_SMPAMD: IBRS提供同模式保护
IBS基于指令的采样(AMD)
IBSBRNTRGT基于指令的采样功能(AMD)
IBSFETCHSAM基于指令的采样功能(AMD)
IBSFFV基于指令的采样功能(AMD)
IBSOPCNT基于指令的采样功能(AMD)
IBSOPCNTEXT基于指令的采样功能(AMD)
IBSOPSAM基于指令的采样功能(AMD)
IBSRDWROPCNT基于指令的采样功能(AMD)
IBSRIPINVALIDCHK基于指令的采样功能(AMD)
IBS_FETCH_CTLXAMD: 支持IBS获取控制扩展MSR
IBS_OPDATA4AMD: 支持IBS操作数据4 MSR
IBS_OPFUSEAMD: 指示支持IbsOpFuse
IBS_PREVENTHOST支持禁止主机使用IBS
IBS_ZEN4获取和操作IBS支持Zen4添加的IBS扩展
IDPRED_CTRLIPRED_DIS
INT_WBINVDWBINVD/WBNOINVD可中断
INVLPGB支持NVLPGB和TLBSYNC指令
KEYLOCKER密钥锁定器
KEYLOCKERW宽密钥锁定器
LAHF长模式下的LAHF/SAHF
LAM如果设置,CPU支持线性地址掩码
LBRVIRTLBR虚拟化
LZCNTLZCNT指令
MCAOVERFLOW支持MCA溢出恢复
MCDT_NO处理器不表现MXCSR配置相关时序行为,无需缓解
MCOMMIT支持MCOMMIT指令
MD_CLEARVERW清除CPU缓冲区
MMX标准MMX
MMXEXTSSE整数函数或AMD MMX扩展
MOVBEMOVBE指令(大端序)
MOVDIR64B作为直接存储移动64字节
MOVDIRI作为直接存储移动双字
MOVSB_ZL快速零长度MOVSB
MPXIntel MPX(内存保护扩展)
MOVUMOVU SSE指令效率更高,应优先于SSE MOVL/MOVH。MOVUPS比MOVLPS/MOVHPS效率更高。MOVUPD比MOVLPD/MOVHPD效率更高
MSRIRC可用指令退役计数器MSR
MSRLIST读/写模型特定寄存器列表
MSR_PAGEFLUSH可用页面刷新MSR
NRIPS指示支持在VMEXIT时保存NRIP
NXNX(不可执行)位
OSXSAVE操作系统启用XSAVE
PCONFIG用于Intel多密钥全内存加密的PCONFIG
POPCNTPOPCNT指令
PPINAMD: 支持受保护处理器清单号。表示可以启用受保护处理器清单号(PPIN)功能
PREFETCHIPREFETCHIT0/1指令
PSFD预测性存储转发禁用
RDPRU支持RDPRU指令
RDRAND可用RDRAND指令
RDSEED可用RDSEED指令
RDTSCPRDTSCP指令
RRSBA_CTRL受限RSB替代
RTM受限事务内存
RTM_ALWAYS_ABORT表示加载的微码正在强制RTM中止
SERIALIZE序列化指令执行
SEV支持AMD安全加密虚拟化
SEV_64BITAMD SEV客户端执行仅允许来自64位主机
SEV_ALTERNATIVE支持AMD SEV替代注入
SEV_DEBUGSWAP支持SEV-ES客户端的完整调试状态交换
SEV_ES支持AMD SEV加密状态
SEV_RESTRICTED支持AMD SEV受限注入
SEV_SNP支持AMD SEV安全嵌套分页
SGX软件防护扩展
SGXLC软件防护扩展启动控制
SHAIntel SHA扩展
SME支持AMD安全内存加密
SME_COHERENT强制AMD硬件缓存在加密域间保持一致性
SPEC_CTRL_SSBD推测性存储绕过禁用
SRBDS_CTRL可用SRBDS缓解MSR
SSESSE功能
SSE2P4 SSE功能
SSE3Prescott SSE3功能
SSE4Penryn SSE4.1功能
SSE42Nehalem SSE4.2功能
SSE4AAMD Barcelona微架构SSE4a指令
SSSE3Conroe SSSE3功能
STIBP单线程间接分支预测器
STIBP_ALWAYSONAMD: 单线程间接分支预测模式具有增强性能,可以始终保持开启
STOSB_SHORT快速短STOSB
SUCCOR软件不可纠正错误容纳和恢复能力
SVMAMD安全虚拟机
SVMDA指示支持SVM解码辅助
SVMFBASIDSVM,表示TLB刷新事件(包括CR3写入和CR4.PGE切换)仅刷新当前ASID的TLB条目。还表示支持扩展VMCB TLB_Control
SVMLAMD SVM锁。指示支持SVM锁
SVMNPAMD SVM嵌套分页
SVMPFSVM暂停拦截过滤器。表示支持暂停拦截过滤器
SVMPFTSVM暂停过滤器阈值。表示支持暂停过滤器周期计数阈值
SYSCALL系统调用扩展(SCE):SYSCALL和SYSRET指令。
SYSEESYSENTER和SYSEXIT指令
TBMAMD尾随位操作
TDX_GUESTIntel信任域扩展客户端
TLB_FLUSH_NESTEDAMD:刷新包括所有用于客户端转换的嵌套转换
TMEIntel全内存加密。支持以下MSR:IA32_TME_CAPABILITY、IA32_TME_ACTIVATE、IA32_TME_EXCLUDE_MASK和IA32_TME_EXCLUDE_BASE。
TOPEXT拓扑扩展:支持拓扑扩展。表示支持CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX。
TSCRATEMSR基于MSR的TSC速率控制。表示支持MSR TSC比率MSRC000_0104
TSXLDTRKIntel TSX暂停加载地址跟踪
VAES矢量AES。AVX(512)版本需要额外检查。
VMCBCLEANVMCB清理位。表示支持VMCB清理位。
VMPL支持AMD VM权限级别
VMSA_REGPROT支持AMD VMSA寄存器保护
VMX虚拟机扩展
VPCLMULQDQ无进位乘法四字。3寄存器版本需要AVX支持。
VTE支持AMD虚拟透明加密
WAITPKGTPAUSE、UMONITOR、UMWAIT
WBNOINVD回写且不使缓存无效
WRMSRNS非序列化写入模型特定寄存器
X87浮点运算单元
XGETBV1支持ECX = 1的XGETBV
XOPBulldozer XOP函数
XSAVEXSAVE、XRESTOR、XSETBV、XGETBV
XSAVEC支持XSAVEC和XRSTOR的压缩形式。
XSAVEOPT可用XSAVEOPT
XSAVES支持XSAVES/XRSTORS和IA32_XSS

ARM 特性:

特性标志描述
AESARMAES 指令
ARMCPUID某些 CPU ID 寄存器可在用户级别读取
ASIMD高级 SIMD
ASIMDDPSIMD 点积
ASIMDHP高级 SIMD 半精度浮点
ASIMDRDM舍入双精度乘累加/减法(SQRDMLAH/SQRDMLSH)
ATOMICS大系统扩展(LSE)
CRC32CRC32/CRC32C 指令
DCPOP数据缓存清理至持久点(DC CVAP)
EVTSTRM通用计时器
FCMA浮点复数加法和乘法
FP单精度和双精度浮点
FPHP半精度浮点
GPA通用指针认证
JSCVTJavaScript 风格双精度转整数转换(FJCVTZS)
LRCPC弱化的释放一致性(LDAPR 等)
PMULL多项式乘法指令(PMULL/PMULL2)
SHA1SHA-1 指令(SHA1C 等)
SHA2SHA-2 指令(SHA256H 等)
SHA3SHA-3 指令(EOR3、RAXI、XAR、BCAX)
SHA512SHA512 指令
SM3SM3 指令
SM4SM4 指令
SVE可扩展向量扩展

许可证

本代码以 MIT 许可证发布。有关更多信息,请参阅 LICENSE 文件。

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多