dushixiang
|
f391cb15a6
|
更新默认主题
|
2026-09-06 18:16:07 +08:00 |
|
dushixiang
|
217da343a0
|
fix: 防止监控任务重复调度
|
2026-08-31 23:06:08 +08:00 |
|
dushixiang
|
78006a7120
|
fix: 避免在线探针离线告警抖动
|
2026-08-31 22:44:38 +08:00 |
|
dushixiang
|
0fa920e972
|
refactor: 重构 WebSocket 可靠投递会话模型
|
2026-08-31 21:52:03 +08:00 |
|
dushixiang
|
787fa6918d
|
feat: WebSocket 消息可靠投递(纯内存事件队列)
- agent 数据写入增加 10s 超时,写失败立即断连重连,消除无超时写卡死期间快照被覆盖的静默丢失
- 事件类消息(SSH登录/防篡改/指令响应/监控检测)改走内存 outbox:seq + 服务端累计 ack + 断线重放,上限 1024 条溢出丢最旧,重启清空(可接受)
- 注册请求携带 BootID 会话标识:探针重启后 seq 从 1 重新分配,服务端据此重置确认位点,避免新消息被旧位点误判为重复而丢弃
- server 读循环与处理解耦(per-agent 有序队列 + 串行 worker),慢处理不再阻塞 TCP 读取,队列满断连由探针重放兜底
- 修复探针快速重连时旧连接误注销新连接的竞态(此前会闪断新连接)
- IsAgentEnabled 加 3s TTL 缓存,禁用立即失效;pong 在线状态写库去抖(首次 + 5 分钟心跳刷新)
- VM 写超时默认 30s -> 10s,快速失败配合重放兜底
新旧版本双向兼容:注册响应 Reliable 字段协商,旧 server 下探针自动降级直发
|
2026-08-30 22:30:41 +08:00 |
|
dushixiang
|
cf053cb720
|
更新默认主题
|
2026-08-27 21:47:27 +08:00 |
|
dushixiang
|
efa505f378
|
feat(web): support batch traffic stats configuration
|
2026-08-27 21:24:19 +08:00 |
|
dushixiang
|
3efa6852ed
|
fix: filter disabled agents from authenticated API
|
2026-08-26 20:46:45 +08:00 |
|
dushixiang
|
d700d595ab
|
fix: hide disabled agents from public list
|
2026-08-26 20:37:55 +08:00 |
|
dushixiang
|
58da45eba8
|
更新 pg 版本到 18
|
2026-08-26 20:34:21 +08:00 |
|
dushixiang
|
14a48f81a4
|
feat: support disabling agents
|
2026-08-26 20:24:17 +08:00 |
|
dushixiang
|
a4ec00b47e
|
支持 agent 拖动排序
|
2026-08-26 20:06:20 +08:00 |
|
root
|
df5685535e
|
docs: remove Telegram/WeChat from Community — point to website
Community channels now live only on https://pika.termark.app per policy.
|
2026-08-26 13:35:29 +08:00 |
|
dushixiang
|
22e93ecf2b
|
fix doc
|
2026-08-25 11:28:35 +08:00 |
|
dushixiang
|
f9f3466b4a
|
fix: 修复跨平台服务自动重启配置
|
2026-08-25 11:21:07 +08:00 |
|
dushixiang
|
eaa2977847
|
fix(ci): publish Docker image to dushixiang/pika
|
2026-08-24 10:44:12 +08:00 |
|
root
|
952e83eac9
|
docs: make README English-first, keep Chinese as README.zh-CN.md
- README.md: English default with shields, overview, features, table
screenshots, quick start (pika-monitor/pika), docs links, community
- README.zh-CN.md: preserve original Chinese README verbatim
- Fix curl URLs from dushixiang/pika to pika-monitor/pika
- Aligns with next-terminal org convention (English default + zh-CN link)
|
2026-08-24 00:53:52 +08:00 |
|
dushixiang
|
b00a9097a6
|
test build 4
|
2026-08-24 00:16:08 +08:00 |
|
dushixiang
|
29582f9124
|
feat: 支持 Telegram 代理和自定义反代
|
2026-08-24 00:14:07 +08:00 |
|
dushixiang
|
1634225e31
|
test build 3
|
2026-08-24 00:05:19 +08:00 |
|
dushixiang
|
d0a5f304a0
|
feat: 增加每日计划维护免告警时段
|
2026-08-24 00:04:32 +08:00 |
|
dushixiang
|
f2c5eb6e2e
|
test build 2
|
2026-08-23 23:36:56 +08:00 |
|
dushixiang
|
4687cf7fc5
|
feat: 增加机器到期分级提醒
|
2026-08-23 23:24:33 +08:00 |
|
dushixiang
|
6a29286fb5
|
test build
|
2026-08-23 23:06:40 +08:00 |
|
dushixiang
|
080579d0e6
|
refactor: decouple public monitor sparklines
|
2026-08-23 23:05:41 +08:00 |
|
dushixiang
|
2a5c19079f
|
feat: add public monitor sparklines
|
2026-08-23 22:41:35 +08:00 |
|
dushixiang
|
5210f91eef
|
fix(auth): make OIDC discovery resilient
|
2026-08-23 21:33:28 +08:00 |
|
dushixiang
|
7603906c36
|
refactor: 优化探针详情页与流量统计页
- 探针详情: /admin/agents 前缀匹配宽屏布局;状态并入页头,返回列表改为名称旁小字链接,编辑探针移至页头右侧;基本信息/流量/防篡改/SSH 配置去卡片嵌套,内容扁平化
- 流量统计: 重构页面布局,配置与使用情况分栏;流量限额支持 GB/TB 单位切换与自动适配(后端字节存储无需改动);限额输入与单位下拉组合;使用情况改为卡片呈现
|
2026-08-23 20:32:56 +08:00 |
|
dushixiang
|
6c8d2f13d3
|
feat: 告警规则实体化与服务监控按标签选探针
- 告警规则:独立实体(alert_rules 表),按优先级命中第一条生效;支持三种主机目标(全部/按主机/按标签)、7 类阈值、事件通知开关、IP 打码、推送渠道选择;未命中规则的主机不产生告警;列表支持外置启停
- 服务监控:新增按标签选择探针,与指定探针取并集,均为空时全部探针执行
- 公网 IP 采集:范围支持全部探针/按探针/按标签,兼容历史 custom 取值
- 告警历史:新增规则归属列;评估链路(指标/证书/服务下线/探针离线/到期提醒/事件通知)全部按主机命中规则驱动
- 设置页:左侧菜单改为浅色卡片容器并优化对比度,通知渠道移至公网 IP 采集之后;主菜单宽度调整为 240px
|
2026-08-23 19:53:35 +08:00 |
|
dushixiang
|
c730873be3
|
refactor: 优化设置页面布局与样式
- 设置页全宽对齐其他页面,左侧分类导航去卡片化并支持桌面端吸顶
- 通知渠道改为「渠道列表 + 配置区」布局,支持未保存提醒与校验失败自动跳转
- 系统配置/公网IP采集/告警规则页去嵌套卡片,改为平铺分区(SettingsSection)
- 主题管理页上传按钮与警告提示合并为一行
- 调整全部页面的小布局问题
|
2026-08-23 16:35:19 +08:00 |
|
dushixiang
|
45284d31c6
|
优化重构管理页面
|
2026-08-12 22:55:45 +08:00 |
|
dushixiang
|
435245d639
|
优化重构管理页面
|
2026-08-12 22:55:36 +08:00 |
|
dushixiang
|
ef34036bc0
|
fix: proxy public pages in admin dev server
|
2026-08-12 20:49:40 +08:00 |
|
dushixiang
|
33920265e0
|
refactor: improve theme settings layout
|
2026-08-12 20:35:10 +08:00 |
|
dushixiang
|
acf3b6b57f
|
refactor: split default theme into standalone repository
|
2026-08-12 20:00:48 +08:00 |
|
dushixiang
|
d7cdbd7a91
|
移除过时文档
|
2026-08-12 19:04:01 +08:00 |
|
dushixiang
|
a4f7c82de6
|
更新包路径
|
2026-08-12 18:59:29 +08:00 |
|
dushixiang
|
6ab1876899
|
refactor(admin): remove window globals, move AdminLayout to layouts/
运行时配置不再通过 window.PikaRuntime/window.SystemConfig 全局变量传递:
- 删除 global.d.ts 和 main.tsx 的预加载逻辑,直接渲染
- 新增 api/runtime.ts:useRuntimeConfig hook 通过 React Query 从 /api/config 获取
- Header/Sider/Login 改用 useRuntimeConfig 替代 window.SystemConfig
- ColorModeContext 改用 useRuntimeConfig 替代 window.PikaRuntime
- SystemConfig 保存后 invalidate runtime-config 缓存
AdminLayout 从 pages/ 移到 layouts/(布局框架不是页面)。
删除 components/index.ts(多余的 barrel export),PageHeader 改为直接导入。
|
2026-08-09 23:40:04 +08:00 |
|
dushixiang
|
cda2585f1a
|
refactor(admin): inline bootstrap.tsx into main.tsx
bootstrap.tsx 只有 3 个小函数,不值得单独文件。
合并到 main.tsx:运行时配置加载 + fallback + createRoot 全在一个文件里。
|
2026-08-09 23:26:55 +08:00 |
|
dushixiang
|
ab95b57139
|
refactor(admin): remove redundant src/admin/ directory layer
src/ 下全是管理后台代码,不需要再套一层 admin/。
将 admin/{pages,components,assets} 提升到 src/ 下:
- src/admin/pages/ → src/pages/
- src/admin/components/ → src/components/
- src/admin/assets/ → src/assets/
所有 @admin/ import 改为 @/,删除 @admin alias 和 tsconfig 路径映射。
|
2026-08-09 23:25:36 +08:00 |
|
dushixiang
|
88224e3a8c
|
chore: remove tracked yarn.lock
|
2026-08-09 23:20:42 +08:00 |
|
dushixiang
|
9a98f0a228
|
chore: ignore yarn.lock (project uses npm)
|
2026-08-09 23:20:28 +08:00 |
|
dushixiang
|
b1a3d3d938
|
refactor(admin): remove shadcn/radix, split AdminLayout
移除 shadcn/ui 残留,统一到 antd 单一 UI 栈:
- 删除 components/ui/button.tsx 和 scroll-area.tsx(死代码,零引用)
- 删除 components.json(shadcn 配置)
- package.json 移除 @radix-ui/react-scroll-area、@radix-ui/react-slot、
class-variance-authority 三个依赖
- AdminLayout 的 Radix ScrollArea 替换为 CSS overflow + thin-scrollbar 样式
拆分 AdminLayout(380行单文件 → 6个文件):
- menu.tsx: 菜单配置数据
- useThemeToggle.ts: 主题切换 + View Transition 动画
- Header.tsx: 顶部栏(logo/系统名/公共页面/主题切换/用户菜单)
- Sider.tsx: PC 侧边栏(菜单导航 + 版本信息)
- MobileNav.tsx: 移动端底部导航(修复 grid-cols-5 截断 7 项的 bug → 横向滚动)
- index.tsx: 布局壳
修复:useEffect 不再依赖 location(避免每次路由切换都重新请求版本接口)
删除遗留的 App.css
|
2026-08-09 23:18:11 +08:00 |
|
dushixiang
|
62a0f28b21
|
refactor: remove assemble scripts, build directly to final dirs
去掉 .dist 中间层和组装脚本,admin 和 portal 各自直接构建到最终目录:
- admin 构建到 web/dist/admin/(后端直接读取)
- portal 构建到 portal/dist/(后端默认主题从此目录读取)
- 删除 web/scripts/(assemble-web.mjs + verify-dist.mjs)
- Makefile build-web 不再调用组装/校验脚本
- 后端 defaultThemeDir 从 web/dist/default-theme 改为 portal
|
2026-08-09 23:05:07 +08:00 |
|
dushixiang
|
1dd07117a3
|
refactor: move portal to repo root, merge admin into web/
目录结构调整,为 portal 搬迁到独立仓库做准备:
- portal/ 从 web/portal/ 移到仓库根目录,完全自包含
- web/admin/ 内容合并到 web/ 根目录(admin 就是主仓库的前端)
- web/scripts/ 保留在主仓库(负责发布时组装 admin + portal 产物)
- admin 构建产物改为输出到 web/.dist,避免与最终 web/dist 冲突
- 更新 Makefile、assemble-web.mjs、paths.go、README 中的路径引用
|
2026-08-09 22:56:16 +08:00 |
|
dushixiang
|
1af64eccd9
|
refactor: simplify theme system to filesystem-only with self-contained portal
主题系统从带数据库/事务/repo 层/远程下载/配置管理/主题市场的重型架构,
彻底简化为纯文件系统操作:
后端:
- 主题数据全部存放在 data/themes/ 目录,不经过数据库
- 删除主题配置功能(managed/raw/redirect schema、配置存取 API、
ThemeConfiguration model、theme_configurations 表、repo 层)
- 删除远程下载(URL 安装、GitHub Release 更新、SSRF 防护、SHA-256)
- 删除版本范围检查(semver 解析/比较/匹配、pikaVersion 校验)
- 删除主题市场
- ThemeService 不再持有 db,合并为 theme.go + theme_util.go 两个文件
- 主题类型从 models 包移到 service 包(非数据库模型)
- 保留:ZIP 上传解压(含目录穿越防护)、目录扫描列表、启用/删除、
覆盖安装、默认主题回退、启动恢复、入口 HTML 渲染缓存
前端 portal(官方默认主题):
- 从 47 个碎片文件精简到 15 个,按标准目录组织
- 删除 theme-sdk 包,API 客户端和类型内联回 portal,完全自包含
- 按职责拆分:types.ts / api.ts / constants.ts / lib/utils.ts /
contexts/ColorMode.tsx / hooks/index.ts / components.tsx / pages/
- 每个页面一个文件,图表和子组件内联,fork 二开只需看一个文件
|
2026-08-09 22:45:43 +08:00 |
|
dushixiang
|
4bc998c77a
|
升级依赖
|
2026-08-01 12:51:49 +08:00 |
|
dushixiang
|
be4919508a
|
升级前端依赖
|
2026-07-12 21:54:16 +08:00 |
|
dushixiang
|
07bce71bbe
|
fix: clean up agent data on uninstall
|
2026-07-12 21:38:47 +08:00 |
|
dushixiang
|
a510cf3be7
|
fix: correct traffic stats period display
|
2026-07-12 21:04:11 +08:00 |
|