更新日志

太一发布历史。

每一项都对应一次提交与一次验证命令。条目只在实现、验证、文档全部完成后才会标记为 已发布,否则就是 规划中进行中。历史条目保留当时的术语和命令;当前支持的操作请以最新条目和现行文档为准。

v3.5.3 2026-08-10 已发布
原生 IP 列表执行 + 增量告警自动处置

v3.5.3 把国家与 CIDR IP 列表执行从 SecLang 移到压缩原生匹配器,使大型 geo:CC 封禁不再截断 CRS,并在告警持续 firing 时继续增量追加自动处置。

  • 原生 tiyi_iplist最小化前缀编译为确定性压缩产物,在限速与 Coraza 之前匹配。国家 CIDR 不再进入 SecLang;过大策略会显式失败并保留上一份可用配置。
  • SecLang 完整性护栏。应用前拒绝超过 48 KiB 的物理 Coraza 行、损坏的 Include 图,或缺失的终端解析金丝雀。
  • Bundle v3。本机/Agent 配置包携带原生 IP 列表产物。此二进制拒绝保留的 v2 bundle;需生成并应用新 revision。
  • 增量自动处置。同一 occurrence 持续 firing 时,每次评估最多再追加 5 个新攻击者(每个 occurrence ≤50 个唯一 IP),带按 IP 预留与固定 TTL 批次;UI 展示部分成功/进度回执。
  • 规则归属拒绝列表。自动创建按告警规则 ID 复用托管列表,并使用本地化显示名;删除规则后列表降级为普通运维列表。
  • 限速运行时上限。按策略的 token-bucket 状态有界;预算耗尽时对新身份失败关闭,避免无界突发。
v3.5.2 2026-08-09 已发布
显示时区 + 更清晰的防护编写

v3.5.2 在 v3.5 之上加固日常运维体验:统一显示时区、更清晰的 IP 列表职责划分、更安全的 RE2 自定义规则编写,以及更易读的审计台账。

  • 显示时区。头部覆盖 → 系统级 app.timezone → 浏览器 IANA。表格、图表、相对预设与自定义范围共用同一转换路径。API、SQLite、审计链、SIEM 与导出时间戳仍为 UTC;进程日志继续跟随主机时区。
  • IP 列表职责。防护 → IP 列表拥有共享列表内容,并提供「仅创建 / 创建并应用」。策略的 IP 访问页只编辑绑定。流程为:定义列表 → 应用到范围 → 查询 IP。
  • RE2 工作台。选择 regex 操作符后说明是否包含查询串,生成精确/路径树/前缀/后缀/忽略大小写表达式,警告近乎万能的模式,并在保存前拒绝非法 RE2(含 PCRE 环视/反向引用)。
  • 审计轨迹。带标签筛选、台账中显示运维者/资源名、可读变更摘要、游标式「加载更多」,以及需权限的链路校验。
  • CRS / 限额打磨。共享 PL1–PL4 离散偏执控件与拦截/仅记录/未激活姿态;请求限额拆分参数与上传上限,并明确 CRS 默认与策略覆盖。
  • 自动处置回执。自动处置完成/失败通知渲染简洁动作回执,不再重复告警触发时的调查快照。
v3.5.1 2026-08-06 已发布
失败关闭的客户端 IP 拓扑 + 意图化规则起草

v3.5.1 加固 v3.5 的可执行客户端 IP 拓扑,并把 Attack Log 规则起草改成按运维意图组织的流程:可以只跳过 CRS,而不关闭其余 WAF 控制。

  • Header 级提取。每个 Header 可独立选择自动跳过已验证代理,或按固定位置提取(单个 IP、最左、最右、从右数第 N 个)。CDN 与代理网段编译为单一物理查询池,同时保留节点标签与合法拓扑转移。
  • 失败关闭的拓扑校验。自动提取要求终端 RemoteAddr 落在直接连接太一的代理节点,再从右向左扫描。跨分支跳转、全可信链路、经 Preserve/Duplicate/Unknown 写入者的 XFF 路径,以及覆盖写入者之后仍声称的上游跳数,都会拒绝该规则并继续下一个 Header 或 RemoteAddr 回退。
  • 意图化 Attack Log 起草。「从此事件创建规则」按拦截请求、调优 CRS 误报、高风险 CRS 例外分组;每项都标明查询串/子路径/方法范围;根路径 / 不能创建路径级草案。
  • 仅跳过 CRS。可视化与种子规则可编译 ctl:ruleRemoveByTag=OWASP_CRS,跳过 OWASP CRS 的同时保留太一自定义规则、IP 控制与其他规则集。高风险动作需要额外确认。
  • 运维文档。QUICKSTART、PRD、信任/API 文档与网站中英文更新日志及构建戳已同步本补丁。
v3.5.0 2026-08-03 已发布
可执行客户端 IP 拓扑 + 更安全的防护编写

v3.5.0 把客户端 IP 解析做成运维可采样、可验证、可应用的可执行拓扑,把 Dashboard 安全排行变成可立即响应的操作,并让规则与端点限速从证据到执行都沿着唯一、确定的路径流转。

  • 可执行客户端 IP 拓扑。站点页是唯一全局入口。完整/快速编辑器展示实时节点/边/规则图,含 CDN/代理胶囊、按路径条件化的 Header 规则、未保存预览状态,以及可应用到源站点或提升为全局默认的已验证草案。
  • 站点分析。仅内存采样(五分钟或 50 个请求)在保存前区分事实、范围/路径验证、建议性提供商标识与冲突。多 CDN/堆叠拓扑上可共存提供商专用与通用 Header,因为每条规则都绑定已验证的节点路径。
  • Dashboard 安全洞察。六个同步的 SecurityFact 排行卡片(含“被攻击站点”)加上攻击来源国家/地区条带;悬停可从当前视图排除排行,或全局封禁攻击者 IP 与 geo:CC 条目 24 小时。
  • Geo 国家编译。实时 DB-IP Country 读取器在启动/上传/刷新/删除时发布不可变 Country→CIDR 快照;所有策略编译路径共用同一解析器,使 Dashboard/全局国家封禁可干净编译。
  • 端点限速唯一真相源。端点行现在贯通 API、CLI、策略、站点覆盖与编译后数据面。路径在策略或站点范围内唯一,创建和更新语义明确;同路径站点行会在 CRS 之前确定性覆盖继承的策略行。
  • 从证据到防护。Attack Logs 可起草精确路径、分段有界路径树、方法/路径、IP/路径或保留 User-Agent 规则。结构化 CRS 证据还可起草按路径限定的目标排除或规则禁用;不再重复 IP 操作,也不再提供整路径 WAF 绕过草案。
  • 草案安全编辑。策略与站点自定义规则使用聚焦子视图,站点限速在行内编辑并显示字段级校验;离开页面或关闭抽屉前,修改过的草案必须明确确认丢弃。
  • 运维界面。产品导览截图基于实时多节点实例刷新,并新增节点拓扑与哈希链审计;QUICKSTART、PRD 与生成的 API 文档同步客户端 IP 干净切换契约。
v3.4.0 2026-07-30 已发布
单 Controller、收敛配置与运维可信度

v3.4.0 从持久化配置到运维界面明确展示真实服务状态,并移除旧 HA 契约。

  • 单 Controller。tiyi run 持有状态、API、管理界面与事实化本机数据平面。角色、epoch、提主、复制、热备和备用 Controller 界面全部移除;Controller 中断时,远程 Agent 继续使用最后一次已接受的签名 bundle。
  • 收敛配置。持久化目标/活动 revision、不可变 artifact、本机回滚、按目标投递、内容寻址 Agent envelope 与上下文重试,取代 handler 内部的 mutate/apply 补偿。
  • 健康真相。启用主动健康检查的上游在变更前必须通过 Controller 严格提交探针;持续 Caddy 健康状态绑定准确配置代际与 artifact 哈希,旧报告不能把候选配置误报成活动配置。
  • 安全与可靠性。生成式 fail-closed 授权、轮换 HttpOnly refresh 会话、密码 token 撤销、结构化日志、内部错误关联、worker panic 隔离、有界关闭与写入前配额共同加固管理平面。
  • 运维体验。精确请求/带宽 Dashboard、本机与远程节点共享趋势、站点请求路径概览、本机配置历史、自适应行操作、Geo 自动生命周期,以及新安装默认仅保留安全事件的请求证据,让日常状态更易读、更安全。
  • 干净状态边界。数据库 schema 低于 47 时会无修改拒绝启动;v3.4.0 必须使用新状态并重新注册远程 Agent。
v3.3.1 2026-07-24 已发布
请求证据 + 生产节点直达 SIEM

v3.3.1 新增两个可选、有界的观测平面,并加固长时间运行的遥测存储;任何存储或网络工作都不会进入 WAF 请求路径。

  • 请求证据。全局与站点级 offsecurity_onlyretained_logs 策略,在授权的攻击/访问日志抽屉旁保留未脱敏的已解析请求头和有界请求体;新安装默认关闭。
  • 本地与 Agent 持久化。追加式每日段、配额、保留期、确定性 exemplar 收敛、可恢复的 64 KiB CRC32C Agent 上传与持久化 ACK,共同限制内存、磁盘和重连行为。
  • 生产节点直达 SIEM。最多 32 个独立 UDP/TCP/TLS 目标可选择源生 Caddy 访问 JSON、Coraza 审计 JSON 或太一格式源,并分别配置队列、framing、超时与诊断。已签名的 Agent 最近良好配置在 Controller 离线时仍可继续工作。
  • 运维可见性。日志管道暴露证据、原始源与每个目标的队列/丢弃/失败/panic 通道。Dashboard Top 卡片改用精确规范化 URL 模板与固定 UA 分类。
  • 运行时加固。空闲的前一日 SQLite WAL 会在分区 lease 栅栏后安全截断;除非提供标准 Go 覆盖,太一默认使用 GOGC=200 并把软内存上限设为检测到的主机/容器限制的 90%。
v3.3.0 2026-07-22 已发布
SecurityFact 收敛 + 告警自动处置
移除会话化的事件、攻击活动与 MITRE 映射层;不可变、按天分区的 SecurityFact 成为唯一的安全事件真相,采用全新安装的 schema-43 切换(不支持从旧状态原地升级)。告警自动处置把一条正在触发的告警转为待审核的 IP 列表或自定义规则草案;持久化事实日志与有界实时追踪(≤200 行,每 500ms 窗口至多一条)让调查保持高效。运维文档、合并日志与网站已同步中英文。
v3.2.1 2026-07-17 已发布
v3.2.0 质量与可靠性加固
修复 v3.2.0 QA 全量回归发现的问题:未匹配 Host 头改为返回 421 而非绕过 WAF,CRS 980099 出站关联规则不再报错,并修复抽屉、自动关闭与国际化等体验缺陷。可靠性增强包括 SQLite BUSY 重试、孤儿证据查找索引与持久化关联 worker、按响应限量的网络 GeoIP 富化。
v3.2.0 2026-07-16 已发布
Observation v2 + 持久化 Attack Campaign

v3.2 把请求观测升级为与数据面隔离、证据优先的管道,并新增持久化 Campaign 层,在不进入请求路径的前提下关联 Incident。

  • Observation v2。数据面精确计数、紧凑 SecurityFact/Finding 证据、保留请求明细与 SIEM 投递成为独立真相平面;显式全局/站点证据策略与分层保留取代旧日志设置。
  • 可靠 Agent 投递。Agent spool、ACK/重试、协议隔离、分区管理与 panic 隔离的观测回调,让代理流量不受日志消费者和分析 worker 影响。
  • 持久化 Attack Campaign。确定性来源/目标、Geo/ASN、MITRE 投影形成证据图与时间线,支持不可变 revision、冲突安全处置、合并/拆分、成员与边确认。
  • API Inventory。遥测探索器发现端点并展示实时 QPS、状态码与延迟,提供确认、隔离、隐藏与阻断流程。
  • 可执行告警。本地化标题与 payload 包含证据 URL、目标标签、Campaign TTP 上下文与明确 Geo/ASN 限制。
  • 运维体验与文档。更新中英截图、Campaign/Incident 流程,并在官网和公开仓库新增任务型运维、排障与升级说明。
  • 干净状态边界。目前没有需要兼容的正式用户升级群体;pre-v3.2 开发/测试数据库与 Agent 身份/bundle 状态会被拒绝,必须显式重置并重新注册。
v3.1.0 2026-07-12 已发布
任务导向导航 + 无障碍管理工作区

v3.1.0 围绕运维人员实际完成的工作重新组织管理平面,并让高频安全工作流统一采用一套响应式、可访问的交互体系。

  • 七个任务域。运行态势、应用交付、防护策略、节点集群、事件与日志、检测与响应、系统管理取代按代码资源划分的菜单孤岛,同时保持路由 URL 与 RBAC 权限不变。
  • 聚焦的应用壳。桌面侧栏只保留一种折叠模型,使用简洁标签和明确的悬停/当前位置状态;移动端优先保留导航、搜索、主题、语言与身份,将 Copilot 移到拇指可触达的浮动按钮。
  • 键盘可访问导航。子菜单暴露展开与当前位置状态,支持 Enter / Space 操作、清晰焦点与减少动态效果;权限过滤仍由服务端移除空分组。
  • 一致的运维工作区。策略与站点安全工作区获得更清晰的概览/模块导航、未保存变更保护,以及可复用的空状态、差异、实时状态与 YAML 应用模式;告警、事件响应、证书、节点、日志、设置和列表页共享同一套视觉与交互语言。
  • 文档契约。PRD-UI v3.9、运维快速开始与管理导航设计文档共同固定信息架构、响应式行为和无障碍验收标准。
  • 已验证:go test ./...buf lintpnpm typecheck、多语言键校验、生产 Web 构建,以及桌面/移动端 Playwright QA。
v3.0.9 2026-07-10 已发布
可视化规则绕过动作 + 响应式管理界面

v3.0.9 为可视化规则构建器新增显式绕过动作以处理可信误报例外,并在管理界面推进一轮响应式宽度与复制交互的优化。

  • 绕过 WAF 动作。可视化构建器的动作集(阻断 / 记录 / 放行)新增绕过,编译为 pass,nolog,ctl:ruleEngine=Off,使匹配流量跳过后续 WAF 检查。普通放行现为 pass,nolog(静默,仅放行该规则;后续 CRS 规则仍会执行);阻断与记录仍写入审计日志。
  • 误报例外移交。安全事件 基于该事件创建规则 菜单新增 放行该路径 / 误报例外,生成一条紧范围、作用域为事件站点的绕过规则草稿。
  • 响应式抽屉与弹窗。所有 Tiyi 抽屉与弹窗宽度通过共享的 useResponsiveWidth 工具按视口收窄,宽抽屉不再在小屏溢出。
  • Markdown 复制按钮。AI 与 Markdown 输出中的围栏代码块获得原生、已本地化的复制按钮(取代整块点击复制);TiyiCopyButton 已本地化。
  • 配方目录入口。自定义规则构建器的服务器模板目录移到紧凑的 浏览配方 控件之后,配方浏览不再割裂编辑表单;静态八预设选择器作为回退保留。
  • 字段掩码修复。可视化规则的自定义规则更新现在发送正确的 protojson 字段掩码路径(visualSpec),使可视化规则编辑正确持久化。
  • 已验证:go test ./...buf lintpnpm --filter @vben/web-antd typecheckpython3 scripts/i18n_check.py,以及已签名 linux/amd64 + linux/arm64 发布打包。
v3.0.8 2026-07-09 已发布
策略执行加固 + doctor 状态所有权修复

针对 v3.0.7 的聚焦加固:补上直接继承策略站点的限速执行缺口,收紧 IP 列表与 CRS 标量变更语义,并为 tiyi doctor 增加修复服务状态目录所有权的能力。

  • 策略级限速全面生效。此前限速端点仅在站点存在覆盖时才合并进编译策略,导致直接继承策略的站点静默跳过策略级限速。现在无论是否有覆盖,合并都对每个站点执行。
  • IP 列表 update_mask 保留 kind。使用不包含 kind 的字段掩码更新 IP 列表时不再重置该字段;除非显式修改,已存储的 kind 会被保留。
  • CRS enable_default_collections 三态。该标量改为 proto3 optional,使显式"关闭"能在 protojson 往返后保留,而不会回落到继承默认值。
  • Doctor 状态所有权修复。tiyi doctor 现在检查状态目录树是否可由配置的服务用户写入,--fix-state-ownership(root)可将其所有权修复;自定义进程管理器通过 --service-user/--service-group 支持。
  • 安全事件移交与 UI 细化。"基于该事件创建告警规则"的目标下拉再次正常解析;站点策略覆盖弹窗改为内联面板;列表视图统一采用共享时间格式化工具。
  • 已验证:go test ./...buf lintpnpm --filter @vben/web-antd typecheckpython3 scripts/i18n_check.py,以及已签名 linux/amd64 + linux/arm64 发布打包。
v3.0.7 2026-07-08 已发布
分层 IP 控制 + 站点安全覆盖

IP 列表控制现在贴近运维实际使用方式:列表是可复用数据对象,真正生效的动作放在全局、策略或站点绑定上。

  • 全局 / 策略 / 站点范围。IP 列表绑定现在携带动作、绕过模式与范围。编译器按可见顺序执行 global allow > global deny > site allow > site deny > site policy effective config,并支持 allow 列表选择绕过全部 WAF 或仅跳过后续 IP 列表。
  • IP Control UI。IP Lists 页面升级为 IP Control 工作区,包含全局列表、IP 列表库、引用计数、一键应用目标,以及按站点解释源地址为何被允许、阻断、监控或未命中的 Lookup IP 表。
  • 站点 Security protection。站点行现在打开有效配置抽屉,同时展示继承策略行与可编辑站点差异:CRS 标量覆盖、规则覆盖、自定义规则、IP 列表、限速以及差异/恢复继承控制。
  • 安全事件动作。事件抽屉可在全局或当前站点范围快速允许/阻断源 IP,支持可选过期时间,无需离开调查上下文。
  • 安装所有权加固。tiyi install --now 现在递归处理状态目录所有权,避免之前 sudo tiyi standalone 遗留的 root 拥有嵌入 CRS 文件破坏 systemd 应用。
  • 已验证:go test ./...buf lintpnpm --filter @vben/web-antd typecheckpython3 scripts/i18n_check.py,以及已签名 linux/amd64 + linux/arm64 发布打包。
v3.0.6 2026-07-06 已发布
告警规则编写重塑 + 仪表盘 / 遥测重构

告警规则构建器改为模板优先,仪表盘与遥测探索器全面重构,并用一键桥接补齐「事件已触发但无法设置告警」的缺口。

  • 模板优先的告警规则。构建器现在以 8 个审核过的起始模板打开(严重安全事件、持续 5xx 激增、攻击风暴、Agent 离线、证书即将过期、ACME 失败、源站绕过、4xx 扫描激增)。类型下拉按 症状 / 攻击签名 / 基础设施 分组,暴露全部 9 个后端类型——拦截率尖峰不再隐藏。每个类型都有带防抖动(触发前保持 / 解决后保持)默认值的结构化表单。
  • 事件 → 告警桥接。一个正在触发的事件现在在其抽屉中直接有「创建告警规则」与「针对此源 IP 告警」操作;它们把事件带入一个待审核草稿(sessionStorage 传递),与已有规则去重,并显示来源横幅。
  • 新的默认告警种子。每个部署现在在启动时即启用「持续 5xx 激增」与「Agent 离线 >10 分钟」告警,开箱即覆盖可用性与数据面存活。
  • 死字段修复。AttackClass 与源 IP CIDR 现在真正用于过滤安全阈值计数;MinSeverity=0 事件 bug(曾静默匹配所有严重级别)以可选严重级别指针修复;死字段 PolicyID 被移除。
  • 仪表盘概览重构。站点过滤器与时间范围控制现在限定概览范围,重组为流量、安全响应、攻击分布、Top-K 下钻与证书行。
  • 遥测探索器。新的每秒请求 / 拦截折线图,带十字线与提示框;实时查询现在锚定到最新已落盘的 10 秒桶而非墙上时钟,始终展示最新持久点。
  • 站点 TLS、Agent 组、静默。站点 TLS 新增显式的 仅 HTTP / 重定向 / 同时服务 / 仅 ACME 模式控制;Agent 组选择新增显式 Agent + 组选择器与实时匹配预览;告警静默新增值选择器匹配项,含攻击类别。
  • 已验证:go test ./...、linux/amd64 + linux/arm64 交叉构建,以及 license/release-key 测试。
v3.0.5 2026-07-04 已发布
Agent 指标趋势 + 应用 / 更新加固

面向运维的 Agent 监控、站点应用与自更新可靠性提升。

  • Agent 指标 7 天历史。Agent 详情抽屉现在保留 7 天的按 Agent 采样数据,并渲染趋势视图(每秒请求 / 每秒拦截 / 连接数 / CPU / 内存),运维看到的是历史趋势而非仅有最新一次推送。
  • 仪表盘下钻时间范围。在仪表盘点击某位攻击者现在会按仪表盘所选时间范围打开「安全事件」,而不再被锁定在最近 15 分钟。
  • IP 站点应用。以 IP 字面值为主机的站点不再因本地 HTTPS 健康检查失败:Tiyi 会下发单上传证书回退策略,让 Caddy 在应用前通过回环路径校验证书。
  • 启动预检。standaloneagent 在打开 SQLite、生成 JWT 警告或启动 Caddy 之前先做预检;若状态目录、管理 socket、API 监听或代理端口无法创建或绑定,命令以一条可操作的错误退出(sudo、tiyi install --now 或可写的 --state-db / socket / 高端口参数)。
  • tiyi update 预检 + 进度。自更新现在显示下载进度,并预检安装目录的写权限,快速失败并提示 sudo/root,而不是在漫长下载之后才失败。
  • 已验证:go test ./...buf lintmake build-all 以及 license/release-key 测试。
v3.0.4 2026-07-02 已发布
安装诊断 + tiyi doctor

面向真实 Linux 主机的诊断体验打磨:复制粘贴的安装路径保持简单,失败时则明确指出需要修复 sudo PATH 还是端口占用。

  • 默认命令保持简单。公开安装命令仍是 curl -fsSL https://www.tiyisec.com/install.sh | bash && sudo tiyi install --now;只有当 sudo 找不到已安装二进制时才显示完整路径提示。
  • 安装器环境检查。安装或更新二进制后,install.sh 会高亮提示 sudo secure_path 缺口以及 80/443/8080 监听者;端口被占用时给出停止服务或改端口的方向。
  • tiyi doctor新的非破坏性诊断命令会检查配置加载、systemd 可用性、sudo PATH 可见性,以及 standalone、server、secondary、agent、dashboard 各模式对应的端口监听。
  • CentOS/RHEL 兼容。缺少 pkeyutl -rawin 的旧 OpenSSL 在安装器里仍执行必需的 SHA-256 校验;签名的 tiyi update 仍是完整签名校验的更新路径。
  • 已验证:go test ./...、doctor 聚焦单测、安装器语法与一致性检查、临时目录安装冒烟测试,以及官网/公开文档一致性检查。
v3.0.3 2026-07-02 已发布
中国大陆镜像安装 + 签名更新回退

面向 GitHub 访问慢或不稳定区域的运维体验打磨,同时收紧公开文档中的运行时配置说明。

  • GitHub 优先,Gitee 回退。install.sh 保持 GitHub 为默认来源,必要时回退到 Gitee Release 镜像;运维人员也可以用 TIYI_MIRROR=gitee 强制镜像。
  • 签名更新镜像选择。tiyi update 支持 autogithubgitee 镜像模式,替换二进制前仍校验 SHA-256 与 Ed25519 签名。
  • 面向用户的环境变量文档。运行时环境变量文档现在只跟随 server.yaml 配置键,建议持久化服务配置优先写 YAML,并记录 TIYI_AUTH_BOOTSTRAP_ADMIN_PASSWORDTIYI_LICENSE_KEY_PATH 等配置派生名称。
  • 公开文档清理。运维文档与命令帮助统一使用 tiyi update,移除私有设计文档引用,并保持官网、GitHub public 仓库与 Gitee public 仓库同步。
  • 已验证:go test ./...buf lint、安装器语法检查与官网/公开仓库安装器一致性。
v3.0.2 2026-06-28 已发布
顺滑安装 + 确定性首次管理员

从安装到拿到可用的仪表盘登录,五分钟路径更顺滑,且无需再去 journal 里捞管理员密码。

  • 确定性首次管理员。 sudo tiyi install --now(standalone)在启动服务前预创建 admin 账户,并由安装器直接打印登录信息 —— URL、用户名、密码。一次性密码不再写入 journald,服务也不再打印自己的随机密码横幅。
  • 重跑即就地升级。 当 tiyi 已安装时,install.sh 使用签名的 tiyi update 路径(仅在有更新版本时才下载),随后重新安装并重启服务,而不是再次拉取整个 tar 包。
  • 默认可达。 API 与仪表盘默认监听 0.0.0.0:8080(仍需登录鉴权)。
  • 验证:go test ./... 与前端单测通过,并在干净主机上完成实测安装 QA(凭据横幅、0.0.0.0:8080 监听、可正常登录)。
v3.0.1 2026-06-27 已发布
多节点集群安装 + Agent 运维

面向多节点 HA 集群运行的运维加固,每个节点都由 systemd 在默认端口上托管。

  • 以 systemd 服务运行集群。tiyi install --mode server|secondary|agent 为每个节点写入加固 unit(通过 CAP_NET_BIND_SERVICE 绑定 80/443);agent/secondary 的控制面 URL 与一次性入册 token 从 unit 可选的 EnvironmentFile(/etc/tiyi/tiyi.env)读取 —— 即 nginx 风格的 drop-in。agent 模式 unit 不再携带它会拒绝的控制面专用参数。
  • 远端 Agent 上的 WAF。Agent 现在在本地落地内置 CRS,并把下发配置包中的 CRS include 路径改写到自己的副本,因此启用 WAF 的站点会在远端 Agent 上部署并拦截(SQLi / XSS / LFI → 403),而不只是在控制面。
  • 准确的 Agent 指标。每个 Agent 的请求/秒、阻断/秒、活跃连接数现在来自数据面计数器并上报到控制面(此前恒为 0);CPU、内存、带宽、goroutine 保持精确。
  • 稳定的 Agent 状态。已连接且健康的 Agent 保持在线,不再在 在线↔异常 之间抖动 —— 指标上报刷新存活而不掩盖真实的应用失败。
  • 控制台修复。从节点列表/详情下发命令不再报 “command kind is required”;安装节点页的命令代码块在暗色模式下可读(并提供 systemd 服务变体);仪表盘外壳以 no-cache 下发,升级后无需手动强刷即可加载。
  • 已验证:go test ./... 通过,并完成一次三节点集群实测(主 + 备 + agent),覆盖入册、license 规模门、WAF 拦截、指标同步与 Agent 命令。
v3.0.0 2026-06-26 已发布
首个公开版本

太一 v3.0.0 是首个公开 GitHub Release:为 Linux amd64 与 arm64 提供一个签名二进制分发渠道,安装脚本同时由 www.tiyisec.com/install.sh 与 GitHub raw URL 提供。

  • 发布资产包含按平台区分的 tarball、SHA256SUMSSHA256SUMS.sigrelease-manifest.json
  • 下载可用 release-key.pub 校验 SHA-256 与 Ed25519 签名。
  • 已安装的二进制可通过 tiyi update --yes 更新。
  • GitHub release:太一 v3.0.0
2026-06-24 已发布
单一二进制按规模授权 + 首次启动管理员

只发布一个二进制,其唯一强制区分是规模而非功能。每个版本都保留全部 WAF 能力;厂商签名授权只改变远程节点配额与显示版本。

  • 社区版 = 本地单机 WAF,永久免费。 没有有效授权时,完整产品运行在本地节点并允许 0 个远程节点。导入授权即可激活 Pro 或企业版节点配额,无需更换二进制。
  • 唯一且始终开启的闸门,位于接入事务内部。 旧的 license.mode 行会被忽略,写入会被拒绝。计数与插入共享同一事务,并发接入无法越过签名配额。既有站点、已知节点与本地管理始终不受授权状态影响。
  • 唯一信任锚。 授权由 Ed25519 针对二进制内嵌的厂商公钥签名;公钥覆盖项已移除。发布目标固定校验其 SHA-256 指纹,带版本的 claims 会拒绝未知套餐、非法配额与错误时间顺序。
  • 安全降级。 缺失、无效、篡改或过期授权都会回到社区版。数据平面永不停机,已知指纹始终可重连。
  • 需登录的实时状态。「系统 → 关于」展示版本、被授权方 / 到期与实时的「N / M 远程节点」计数;公开 Version RPC 不再暴露授权元数据。
  • 首次启动管理员。 单机首次启动且无用户、未提供凭据时,现在会自动创建 admin 并生成一次性随机密码(仅打印一次,仅以哈希存储);tiyi server 则打印可操作的警告,而不是留下无法登录的死胡同。
  • 厂商工具现在以 0600、排他且不覆盖的方式创建私钥;仅日期的到期值包含当天,截止 23:59:59Z
2026-06-18 已发布
站点路径路由(M9)

站点过去只能按主机匹配。现在可以按路径前缀分流到多个上游池 —— 一个主机、一张证书背后的 API 网关式路由 —— 同时保持数据平面与各层路径范围的一致。

  • 翻译器分发。 一条主机路由展开为按前缀的子路由,各自指向自己的上游池;零路由场景的输出与此前逐字节一致 —— 由 golden 测试钉住。
  • 按路由健康检查。 每条路由都有应用后健康探测(仅接受 200–399);即使站点默认后端健康,某条路由后端不健康也会让 apply 闸门失败。
  • 未命中策略。 未命中的路径回退到站点默认上游,或回退到无需默认的严格 404 白名单。
  • 完整归因。 每条访问日志都记录服务它的 route_idupstream_id —— 贯穿解析器、按日分区、API/CLI 过滤、导出与 Web 日志视图。
  • 统一路径范围。 /admin/Admin 在 WAF、IP 列表与限速器之间解析一致;大小写不敏感提示、实时规范化回显与命名的大小写重复错误在 Web + CLI 上守护每个路径输入。
  • 可通过 tiyi site routing get/set 或全新的 Web 路由编辑器驱动。实现后评审强化了零路由/404 校验、原子补偿捕获、replace 时稳定的路由 ID、严格的按池 endpoint/scheme/health-URI 检查,以及规范化的作用域 CRS 覆盖。
  • 验证:go test ./... 通过、buf lint 干净、vue-tsc 干净。交互式浏览器 QA 经运维要求跳过。
2026-06-18 已发布
策略限速编辑器

策略的 Rate Limits 标签页从草图升级为可供运维使用的编辑器,其校验会拒绝任何 agent 实际无法执行的规则。

  • 端点行。 路径模式限制(如 /login/api/auth/**)按解析后的客户端 IP 计键,阻断时返回 HTTP 429 —— 或用 log-only 金丝雀模式先观察再执行。
  • 客户端范围。 跨所有路径的全局上限,按 ipsession cookie 或命名 header(header:<name>)计键。Burst 为 0 表示突发等于每分钟限额。
  • 内联校验。 缺失路径/header、非正数限额、负 burst、重复的模式/范围以及未知 action 都会阻止保存。
  • 规范化。 API 将历史的 client_ipipdetectionlog 归一;编译器与运行时对历史行保持向后兼容。在 Coraza 之前执行,不使用持久化集合。
  • 验证:go test ./... 通过、buf lint 干净、vue-tsc 干净。
2026-06-09 已发布
AI 顾问层 + 交互式 Copilot

一个可选、默认关闭的 LLM 顾问层,位于确定性 WAF 之侧 —— 在控制平面内,绝不进入请求路径,也绝不自行变更状态。它富化事件、起草需人工批准的调优建议,并用自然语言回答关于日志的问题。

  • 流式分析。 全局 AI Copilot 抽屉可解释任意事件或单条日志,或分析一组过滤后的日志结果 —— 逐 token 流式返回。主题被收敛为脱敏白名单投影,绝不发送原始审计 JSON。
  • 对话式智能体。 StreamChat 助手通过对五个只读、租户范围的日志查询进行工具调用,回答开放式问题(「最近一小时 Top 10 攻击者」「example.com 今天是否被攻击、来自哪些 IP?」)—— 不新增任何日志面。
  • 只做顾问,绝不自治。 事件富化、策略调优补丁、自然语言→日志查询翻译、自定义规则草案(强制 log-only 金丝雀)与攻击活动关联都只是建议;唯一改变状态的路径是运维显式应用,经由既有审计化变更执行,并受 ai:apply 把关。
  • provider 无关 + 安全。 兼容 OpenAI(OpenAI / Ollama / vLLM / LM Studio / llama.cpp)与 Azure OpenAI;密钥经 KEK 加密、绝不作为设置项。每条提示都经过脱敏、双重 RBAC 把关(ai:read 外加主题自身的 incident:read/log:read)、限速并 panic 隔离。
  • 验证:go test ./... 通过、buf lint 干净、vue-tsc 干净、i18n_check.py 0 缺失,外加针对 mock provider 的 Playwright QA。
2026-06-09 已发布
离线图标、遥测浏览器、静态二进制
  • 离线图标包。 管理控制台过去会在运行时从公共 Iconify API 拉取图标 SVG —— 在隔离网环境中无法工作。现在图标在构建时从前端源码 + 后端菜单种子收集并打包,在首次绘制前注册完成。
  • 遥测浏览器。 基于内置遥测管线的全新 Top-N / 时间序列视图(QPS、top-K、序列)—— 无需外部时序数据库。
  • 静态二进制。 发布构建现为静态链接(CGO_ENABLED=0,纯 Go SQLite),去除了对构建主机 glibc 的依赖,同一产物可在更老的发行版(CentOS 7+)上运行。
  • 运维修复。 稳定的每事件访问日志 ID(支持精确查找)、启动时配置下发,以及让受权限限制的运维落在其真正可打开的首个页面(而非硬编码的仪表盘)。
2026-05-31 已发布
安全事件聚合 —— Phase 1–4

在每请求 security_event 流之上引入 security_incident 层。它与作为事实来源的事件行、审计链、告警评估器、SIEM 转发组合 —— 而不替代其中任何一个。

  • Phase 1 —— 聚合。(tenant, site, client_ip, attack_class) 在滑动空闲窗口内折叠为一个事件。security_incident_event 链表(event_id 唯一)持有关系;security_event.incident_id 是查询加速缓存。检测遵循 OWASP AppSensor;对外线格遵循 OCSF 类目分类。迁移 00200021
  • Phase 2 —— 运维打磨。 重开、合并、实时跟踪与按站点事件覆盖。UI 在合并/重开后保持事件在视野内,并在重新激活时关闭抽屉。
  • Phase 3 —— 确定性富化。 每个事件在创建时即打上 MITRE ATT&CK 技术 + 子技术与杀伤链阶段(由 attack_class + 规则 ID 家族派生),以及按最高频的国家 / ASN 地理汇总。运维可扩展的 mitre_mapping 覆盖表(迁移 0023)可覆盖内置映射。示例:一个 RCE + 933 事件得到 T1190 [T1059, T1505.003] / execution,地理 CN / AS4134。
  • Phase 4 —— 自动响应。 incident_response_rule 资源 + IncidentResponseRuleService CRUD,以及一个在事件状态迁移时通过既有审计写入路径变更实时控制(封禁 IP 列表 / 限速端点 / 告警 webhook)的响应器。三层默认关闭 —— 未创建则无规则、每条规则出厂 enabled=0、租户级开关 incident.response_enabled 默认 false。每次变更在审计链中归属到 system:incident-response。一个 60 秒 TTL sweeper 通过审计化的 RemoveIPListEntries 路径自动回退过期封禁条目并重编译相关策略。
  • 通过 tiyi incident / tiyi incident-response CLI 动词与 WAF → 自动响应 下的 Web UI 暴露。Sigma 风格的运维自定义关联 DSL 显式推迟 —— 固定的 12 类 + 4 轴键关联即已发布的 v1。
  • 验证:go test ./... 通过、buf lint 干净、vue-tsc 干净、i18n_check.py 0 缺失,外加每个 phase 的 CLI/API 运行时冒烟测试。
2026-05-31 已发布
告警重新设计 —— Phase 1–4(D1–D14)

保留评估器确定性的轮询形态与 SQLite 存储;补上每个成熟告警系统都有的另一半 —— 业界收敛的「评估 / 通知」分离(Prometheus + Alertmanager),且不引入任何外部依赖。

  • 正确性修复。 关闭了 UI 暴露但后端从未实现的规则 kind、被查询页大小静默截断的阈值计数,以及 UI/API 契约与投递实现不一致的通道 kind。
  • 生命周期,而非只触发一次。 通知 dispatcher 驱动 pending → firing → recovered/resolved,带 for 时长去抖、事件持续打开期间的重复通知与自动恢复 —— 取代旧的「只触发一次随后沉默」行为。
  • 持久性。 持久化通知 outbox(迁移 0026)加退避重试,关闭了可能永久丢掉新事件唯一通知的崩溃窗口。评估器状态持久化于 alert_eval_state(迁移 0025)。
  • 安全。 通道密钥(webhook URL、PagerDuty key、Slack token)从明文 JSON 改为 KEK 加密存储,读取时与写入审计链时都不再原样返回(迁移 0024)。
  • 默认安静。 分组、抑制与静默,外加按事件的备注时间线、规则生命周期与通道路由。
  • 过程中实现了此前缺失的 RPC、审计了静默变更,并清理了无用的证书 UI。
2026-05-31 已发布
合并前安全 + QA 加固
  • 关闭 fail-open RBAC 缺口 —— 若干系统与证书管理 RPC 未做权限检查,默认放行调用。现已加门,并有 rbac_coverage_test.go 回归测试断言整个面上的覆盖。
  • 单机面板读到零流量 —— telemetry.enabled 默认 true,会关掉旧的 rollup 写入器,但内嵌的 StoreAccess 路径从未调用 telemetry.Ingest,于是访问流量被记录在面板读取不到的地方。通过在 StoreAccess 中摄入修复,并加回归测试。
  • race 感知的测试预算 —— TestFlushReturnsTrueWhenDrained 有一个硬性 2s 排空预算,被 race 检测器的开销冲破;改为 race 感知。同时修复了一处既存的 gofmt 漂移,使 make lint 变绿。
v3.0.0-rc.1 2026-05-27 已发布
日志列表支持直跳分页

CursorRequest.offset 上限 10 万,与 cursor 路径互斥。Offset 计数走过滤后的行,因此 CIDR / 规则过滤器跳过的是命中的行数。前端弃用 cursorStackwalkForwardTo,直接由目标页号算 offset。

  • 4 个 store 测试 + 2 个 wire 测试,固化 offset 语义并拒绝 cursor+offset 同传
  • 文件:proto/tiyi/v1/common.protointernal/store/log_repo.gointernal/api/log_handler.go、三个日志列表 .vue 文件
  • 验证:go test ./... 通过、buf lint 干净、vue-tsc 干净
2026-05-26 已发布
六项发布后 QA 修复
  • DEF-002 —— API 边界接受 IP 列表 geo:CC 条目(alpha-2/alpha-3 + 精选的 PRIVATE/LOOPBACK 桶);SecLang 编译器在编译期已把它们展开成 CIDR,所以条目现在完整跑通而不必把数据集 fork 一份。
  • DEF-003 —— 可书签的参数化路由(/agents/:id/waf/policies/:id)在后端菜单生成把它们丢掉之后被重新注册;router.hasRoute 防止重复注册。
  • DEF-004 —— ResolveAgentGroup 现在能针对 ListAgents 解析选择器,既接受已保存组的 id,也接受即兴规约预览(按 match_agent_ids ∪ tag_selectors 匹配)。
  • DEF-005 —— 单机节点命令现在被一个 2 秒消费者消费;reload 调用 ApplyActiveSitesrestart 作为 no-op 成功(拆掉本地管理平面是错误的默认行为)。
  • DEF-006 —— 信任配置变更现在写入 trust.update_profiletrust.reset_profiletrust.update_site_overridetrust.reset_site_overridetrust.refresh_cdn 行入审计链。
  • DEF-007 —— 访问日志默认 RecordingMode 在三层从 "off" 翻为 "on",符合系统设置文案 "默认访问日志模式 = 完整(自动)"。
2026-05-24 已发布
安全加固 + 前端清理

对全后端代码评审一遍,关闭了所有可执行项,且没有删除任何特性。

  • KEK 持久化 —— 只有显式配置 crypto.kek_file 时,服务端才会调用 db.SetKEK(envelope.LoadKEK)。之前的无条件覆盖会在每次重启时生成临时 KEK,静默打破已加密的证书私钥、ACME 账户与 DNS 凭据。
  • 持久 ed25519 配置签名密钥 —— 在 bundle_signing_key 单例行中存储,使用上文 KEK 信封加密。在迁移与 Bootstrap 之后,在 store.Open 中预热。替代了重启时内存生成器破坏节点 TOFU 固定的旧实现。
  • 节点版本回放保护 —— applyConfigUpdate 拒绝任何版本号不严格大于 LastAppliedRevision 的 bundle。
  • 迁移漂移检测 —— internal/store/migrate.go 记录每条已应用迁移的 SHA-256;在漂移时拒启。
  • 前端清理 —— 删除 16 个 Vben 演示页与 5 个支持 .ts 文件,重写布局壳,修复了把角色与 'standby'/'active' 比较的破损角色检查(实际值是 standalone|primary|secondary)。
2026-05-24 已发布
WAF 调优评审 —— PR 1–8

对策略调优抽屉进行了深度评审,通过 8 个协调的 PR 关闭所有可执行项。重点:

  • 审计链覆盖 —— rule_overridecustom_ruleip_listip_list_bindingrate_limit_endpoint 上的每一次 Upsert/Update/Delete 现在都会追加一行哈希链记录;之前的代码静默绕过它。
  • 评分覆盖发射 —— 从加性的 setvar:tx.inbound_anomaly_score=+N 改为按桶的 tx.<sev>_anomaly_score_pl<pl> 重置+设置,消除重复计数。
  • 批量 upsert 原子化 —— BulkUpsertRuleOverrides 在单个事务中执行 N 次 upsert,要么全成要么全败,最后只刷一次 bundle hash 与一次 apply。
  • 规则覆盖动作枚举 —— DEFAULT|DISABLE|LOG_ONLY|SCORE_OVERRIDE;旧的 disabled 布尔与 action 字符串标记为 deprecated;score_override 迁移到 optional int32
  • 字段掩码纪律 —— UpdatePolicy 强制空 ip_list_bindings 只在 update_mask.paths 包含该字段时才会清空。
  • 路径前缀校验 —— 在 API 边界拒绝非可打印 ASCII 与 SecLang 引号 metacharacter。
  • i18n 区域对齐 —— en-US 与 zh-CN 之间 1786/1786 个 key 对齐,vue-i18n 链式消息前的 @ 字面量已转义。
2026-05-16 已发布
客户端 IP 信任管道

统一信任管道终结了零散的 XFF 解析。替代了限速器中盲目以 XFF 优先的解析 —— 这是安全级别的修复。

  • tenant_settings.trust_profile_json + site.trust_profile_override_json
  • 自动拉取 Cloudflare、Fastly、Akamai、CloudFront、Front Door、GCLB 的 CIDR 快照;刷新器按 job 单 goroutine,带抖动间隔与 panic 隔离
  • 翻译器为每个 http.servers 块发射 trusted_proxies + trusted_proxies_strict
  • 严格的右到左行走,与 Caddy v2 字节级一致
  • TrustService.Explain 把任意 (peer, headers) 元组回溯到解析后的客户端 IP
  • 默认开启的告警:Origin Bypass Attempt(5 分钟窗口、严重)
2026-05-10 已发布
遥测管道(Phase 1–6)

计数器 → 采样 → API 树 → 读 API → Prometheus 导出器,完整通路。

  • Phase 1 —— 分片入流环、10 秒开桶聚合、每日 SQLite 分区位于 logs/rollup_10s/YYYY-MM-DD.db
  • Phase 2 —— 带 __other__ 桶的 Misra-Gries Top-K(SUM(*) 等于真实流量);每日字典日志;按小时/日/月降采样
  • Phase 3 —— 按 IP 的 LRU + 全局采样环;CRC 保护的循环文件 WAL;启动时回放
  • Phase 4 —— 按站点 URL 前缀树,带 MaxNodesPerSite + MaxDepth 上限;空闲叶子撤入 api_tree_archive
  • Phase 5 —— REST API 位于 /api/v1/telemetry/* + 前端浏览器
  • Phase 6 —— 本地管理 socket 的 /metrics Prometheus 导出器
  • 旧路径切换 —— 启用遥测后,logsink.recordAccessRollup 会短路掉旧的 traffic_rollup_minute 每事件写入,避免高事件速率下的 I/O 放大
2026-05-09 已发布
前端壳完成

所有服务端注入的菜单都解析到真实页面;核心管理页面端到端打通,太一可复用 UI 组件也已就绪。

  • Dashboard 调用 GetDashboardStatsGetTrafficTimeseriesGetAttackDistributionGetTopAttackersStreamAlerts
  • 策略编辑器 12 个标签,可深链:CRS Core · HTTP Policy · Limits · 规则调优 · IP 列表 · 自定义规则 · 插件 · 限速 · 排除项 · 预览 · 版本 · 测试台
  • System 分支:健康、日志管道、用户、角色、设置(10 标签)、复制、更新中心(4 标签)、关于
  • 告警规则、告警通道、IP 列表、节点详情、遥测浏览器、审计 + diff 抽屉
  • 韧性原语:useResilientStreamformatRpcErroruseResponsiveWidth
  • 完整 zh-CN + en-US,所有 $t() 调用全部解析
2026-05-07 已发布
WAF 策略 —— 完整生命周期

store/API/Web/CLI 的 CRUD;内置模板(Strict/Standard/Permissive);版本快照与回滚;引擎状态切换;CRS 绑定;规则覆盖 / 自定义规则 / IP 列表 / 插件 / 限速调优;SecLang 预览;CRS 影响预览;策略测试台。

  • 带 CRS 最佳实践告警的确定性 SecLang 编译
  • 按站点策略覆盖支持标量以及站点级规则 / 自定义 / IP 列表 / 限速调优,不必 fork 策略
  • CRS 规则排除包(WordPress、Drupal、Nextcloud、phpBB、phpMyAdmin、XenForo、cPanel、DokuWiki)支持离线归档导入
2026-05-07 已发布
远程节点

一次性入网 token、挂载的 AgentStreamtiyi agent 运行时、实时远程 bundle 投递 / 缓存 / 应用结果上报、尽力的远程访问 / 安全 / 错误日志上传。

  • 固定的 bundle 签名公钥校验,首次连接 TOFU
  • 周期性指标推送(内存 / CPU)
  • 角色追踪(primary / secondary / agent)
  • tiyi agents issue-token | install-script | send-command | commands CLI
2026-05-06 已发布
ACME —— Phase A 到 D
  • Phase A —— 真正的 RFC 8555 客户端(包装 golang.org/x/crypto/acme)替代了之前的自签桩;按(租户、目录)的账户生命周期
  • Phase B —— 多节点 HTTP-01,每个节点上有 loopback 响应器,并通过节点流广播(token, key_authorization)
  • Phase C —— 带可插拔驱动注册表的 DNS-01:Cloudflare 驱动完整,Route53 与阿里云提供凭据校验桩;权威 NS 感知的传播检查器
  • Phase D —— 可观测性:Dashboard 暴露 certs_expiring_14dacme_renewals_failed_24h 等;首次启动种入默认告警
  • UI:"签发(ACME)" 模态、按行的续期按钮、"DNS Provider" 页面
2026-05-05 已发布
CRS 目录 + 站点 + 日志转发
  • OWASP CRS 4.25.0 嵌入到二进制中,首次启动自动导入
  • 通过 SystemService.ListUpstreamCrsReleases 抓取 GitHub 发布;离线归档导入也支持
  • 站点生命周期:store/API/Web/CLI 的 CRUD/状态;真实的 Caddy JSON 预览;上传证书与 WAF 策略选择
  • 单机运行时:Caddy 访问日志通过 tiyi.log_forwarder 转发;Coraza SecAuditLogType tiyi;实时安全跟踪
2026-05-03 已发布
WAF 拦截修复 + 边界 defer recover

关闭了拦截请求时的 "empty reply from server" bug。根因:audit_writer.auditMessages 中的有类型 nil 接口 panic(message.Data() 返回了非 nil 接口包裹 nil *MessageData)在 WAF 中间件返回 caddyhttp.HandlerError 之前抖断了 coraza-caddy 的延迟 tx.ProcessLogging

三个边界现在都有函数级 defer recover():audit_writer.Writer.Writelog_forwarder.writeAccessLine/writeWAFLinelogsink worker。跨层金丝雀位于 /debug/logsink/stats,暴露 panicked 计数。

2026-05-01 已发布
告警、审计 SIEM、完整单机可观测
  • 告警评估器带 security_thresholderror_thresholdaudit_failure 三种 kind,投递到 webhook / Slack / PagerDuty / 飞书 / 企业微信
  • 审计链行通过 SIEM 转发,带显式 siem.filter.include_audit 开关
  • RFC 5424 / CEF / LEEF 通过 TCP / UDP / unixgram
  • Vben 安全、访问、错误、实时跟踪、审计、告警(活动 / 规则 / 通道)页面
2026-04-28 已发布
基础
  • Go 1.25.0;ConnectRPC 1.19.2;proto/tiyi/v1/*.proto 下 14 个服务
  • SQLite 模式(完整 Phase-1)—— audit、CRS、policy_version、config_bundle
  • 服务模式:standaloneserver/primarysecondary/standbydashboardagent
  • 本地管理 socket,带 OS 文件权限鉴权
  • Argon2id 登录、JWT 签发 / 校验、刷新 token 链
  • Koanf 配置加载;SQLite 打开 / 迁移 / 引导;权限与菜单种子
  • 审计骨架 —— repo、哈希链、校验器、AuditService、变更审计行、tiyi audit CLI
← 返回首页