KOGUN 算力共享平台 技术说明书 v8.2.1

最后更新: 2026年6月29日
当前版本: v8.2.1 (实战就绪版)
平台规模: 65用户 · 47节点 · 80任务 · 58已完成
E2E测试通过率: 75/75 = 100%


目录

  1. 平台概述
  2. 系统架构
  3. 认证与安全
  4. 消息与通信层
  5. GPU 虚拟化与算力调度
  6. 智能缓存系统
  7. 设备 Worker
  8. 一键部署
  9. API 参考
  10. 算力社区
  11. 数据库 Schema
  12. 运维监控
  13. v8.2.1 变更日志
  14. 版本历史

1. 平台概述

1.1 核心定位

KOGUN 是一个去中心化 AI 算力共享平台,允许任何拥有 GPU 的用户贡献闲置算力并获得收益。平台采用贡献者优先的调度策略,支持从个人工作站到社区算力盒子的多层次资源池。

1.2 核心特性

功能模块 说明 版本
🔌 GPU 虚拟化 VRAM 感知调度,单卡并发 1-3 任务 v2.4
💾 智能缓存 Worker 本地 NVMe 缓存,命中率 100%,推理延迟 90s→2s v2.2
📡 实时推送 WebSocket 毫秒级任务分发,HTTP 轮询兜底 v2.3
🔔 消息总线 PostgreSQL LISTEN/NOTIFY,零新依赖,天然持久化 v8.1
📦 一键部署 curl kogun.site/deploy \| bash,3 分钟上线 v8.2
🏘️ 算力社区 全球节点分布、社区排行榜、设备共享广场 v8.2.1
🏥 自动运维 systemd 自愈,/health 健康检查,实时监控 v8.0
💰 财务体系 充值/提现/收益/账单/企业预付全链路 v8.2.1
🏆 成就系统 里程碑/VIP/推荐奖励/碳减排统计 v8.2.1

1.3 平台规模(v8.2.1 发布快照 · 2026-06-29)

下表为文档发布时(2026-06-29)的平台规模快照,非页面实时数值;实时口径请见 /api/public/overview。

指标 数值
注册用户 65 人
节点总数 47 个
累计任务 80 个
已完成 58 个
数据库表 27 张
LLM 模型 4 个
缓存条目 13 条
API 端点 264 条(HTTP 路由实测)
E2E 通过率 100% (75/75)

2. 系统架构

2.1 整体架构

┌──────────────────────────────────────────────────────┐
│                      用户层                            │
│   浏览器 SPA   │  curl | bash  │  REST API  │  WS      │
│   index.html   │  community   │  /v1/*     │  /ws     │
└──────────────────────┬───────────────────────────────┘
                       │
┌──────────────────────▼───────────────────────────────┐
│                    API 服务层                          │
│    FastAPI + Uvicorn (systemd 自愈, 1 worker)          │
│    ├─ 认证: JWT (HS256) + bcrypt + SHA256 兼容        │
│    ├─ 调度: KogunScheduler (5协程)                    │
│    ├─ 消息: WebSocket + PG NOTIFY 双通道              │
│    ├─ 定价: 五因子 AHP 加权算力模型                    │
│    ├─ 社区: 地图聚合 + 排行榜 + 设备广场               │
│    ├─ 财务: 充值/提现/账单/企业预付                    │
│    └─ 监控: /health + /api/admin/system-status        │
└──────────────────────┬───────────────────────────────┘
                       │
┌──────────────────────▼───────────────────────────────┐
│                      数据层                            │
│    PostgreSQL (kogun_v7, 34表)                         │
│    ├─ 业务表: users, nodes, tasks, transactions...    │
│    ├─ GPU虚拟: gpu_slots, device_capabilities          │
│    ├─ 缓存管理: node_caches                            │
│    ├─ LLM管理: llm_models, llm_providers               │
│    ├─ 财务表: withdrawals, payment_accounts            │
│    ├─ 企业表: enterprises                              │
│    ├─ LISTEN/NOTIFY 消息总线                          │
│    └─ 调度器内存缓存 (CacheIndex + GPUManager)         │
└──────────────────────┬───────────────────────────────┘
                       │
┌──────────────────────▼───────────────────────────────┐
│                    Worker 层                           │
│    kogun-worker.py v2.4 (Python)                       │
│    ├─ GPU 检测: nvidia-smi → VRAM → 并发数             │
│    ├─ 推理引擎: Hermes Agent (LLM) / Python脚本        │
│    ├─ 本地缓存: NVMe SSD (LRU, 50GB上限)              │
│    ├─ 通信: WS 实时 + HTTP 轮询兜底 + PG NOTIFY       │
│    └─ 部署: systemd 自愈 + 一键安装                    │
└──────────────────────────────────────────────────────┘

2.2 代码规模

文件 行数 功能
main.py 11,022 API 主应用 (FastAPI, 264 条 HTTP 路由)
database.py 2,150 ORM 模型 + CRUD 操作 (含 WithdrawalModel)
scheduler.py 760 智能调度器 (5协程): 心跳监控 + 任务调度 + 模拟数据 + 缓存失效 + 消息监听
message_bus.py 265 PG LISTEN/NOTIFY 消息总线
pricing.py 479 五因子 AHP 定价引擎
ws_manager.py 191 WebSocket 双模式连接管理
proxy.py 221 LLM 推理代理 (火山引擎/OpenAI)
后端小计 15,088 上列 7 个模块
kogun-worker.py 931 Worker v2.4 (GPU虚拟化 + 缓存 + Hermes)
kogun-deploy.sh 447 一键部署脚本
templates/index.html 11,006 SPA 前端 (内嵌JS)
templates/*.html(17 个) 19,638 全部页面模板

口径核对(2026-10-05 于生产机逐文件 wc -l 实测,含当日 09:15 端点加固施工后复测):上表行数由 wc -l 逐文件实测,路由数由 AST 解析 @app.get/post/put/delete/patch 装饰器得出(get 161 / post 96 / delete 6 / patch 1, 另含 3 个 WebSocket 端点)。运行形态为 uvicorn main:app --port 8800 --workers 1 (4 核 / 7.6 GB,单 Worker + 全异步)。此前版本记的「2 workers / 3,864 行 / 90+ 端点」 为 v8.2.1 发布时的快照,已不反映当前代码。

2.3 调度器协程清单(5个)

协程 间隔 功能
heartbeat_monitor 30s 心跳超时检测,自动标记 offline
task_scheduler 10s 多级智能调度 + 进度推进
sim_data_generator 5s 模拟节点数据波动
cache_invalidator 300s 缓存过期清理
message_bus_listener 30s PG 消息总线监听

3. 认证与安全

3.1 用户认证

特性 实现
认证方式 JWT (HS256), 24小时过期
密码存储 bcrypt (生产) / SHA256 (测试), 双格式兼容
用户角色 admin / user / enterprise
设备认证 Device Token (kdt-前缀) → JWT转换
协议签署 agreement_signed + real_name + id_number

3.2 认证流程

用户注册 → POST /api/auth/register
         → bcrypt 哈希密码 → 存入 users 表 → 返回 JWT

用户登录 → POST /api/auth/login
         → 验证 bcrypt/SHA256 → 返回 JWT (24h)

设备认证 → POST /api/devices/auth
         → device_token → 查询 DB → 返回短期 JWT (2h)

API 调用 → Authorization: Bearer <jwt>
         → get_current_user 依赖注入 → 验证 JWT → 查询 DB

3.3 API Key 认证 (OpenAI 兼容)

外部平台可通过 API Key 调用 /v1/* 端点:

POST /api/api-keys/create → 生成 sk-kogun-{uuid} 格式密钥
GET  /api/api-keys        → 列出用户所有密钥

# 调用方式
curl https://api.kogun.site/v1/chat/completions \
  -H "Authorization: Bearer sk-kogun-xxxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4","messages":[{"role":"user","content":"hello"}]}'

3.4 权限控制模型(v8.2.1 改进)

操作 v8.2.0 v8.2.1
暂停/恢复节点 仅管理员 节点所有者 + 管理员
删除设备 仅管理员 节点所有者 + 管理员
切换算力贡献 不支持 节点所有者 (toggle-compute)
提现申请 50元最低 10元最低 (finance/withdraw)

4. 消息与通信层

4.1 WebSocket 实时推送

任务从创建到 Worker 接收,延迟从轮询的 3-15 秒降至毫秒级。

端点:

WS 端点 用途 认证
/ws 浏览器端广播通道 无
/ws/device?token=kdt-xxx 设备专用通道 Device Token

消息协议:

// 设备 → 服务端
{"type":"device.heartbeat","gpu_load":45.2,"cpu_load":23.1,"ram_used_gb":8.5,
 "is_computing":false,"uptime_hours":1.5,"agent_version":"2.4",
 "gpu_virt":{"max_concurrent":3,"free_slots":2},"cached_models":["abc123"]}

{"type":"task.progress","task_id":123,"progress":45,"message":"处理中"}
{"type":"task.complete","task_id":123,"output":"result...","compute_time":125.3}

// 服务端 → 设备
{"type":"server.connected","device_id":"123","message":"设备已连接"}
{"type":"task.dispatch","task_id":123,"task_type":"llm_inference",
 "payload":{"model":"qwen2.5:7b","prompt":"你好"},"priority":2}

4.2 PostgreSQL 消息总线

替代 NATS/JetStream,零新依赖,利用已有 PostgreSQL 实现发布/订阅。

频道设计:

频道 发布者 用途
task_assigned scheduler/main 任务分配到节点
task_completed WS handler 任务完成通知
node_online WS handler 节点上线
node_offline WS handler 节点离线
cache_invalidate CacheIndex 缓存失效通知

5. GPU 虚拟化与算力调度

5.1 VRAM 感知并发

根据 GPU 显存自动计算最大并发数:

显存 并发数 适用 GPU
≥24GB 3 RTX 4090, RTX 3090, A100
≥16GB 3 RTX 4080, A5000
≥12GB 3 RTX 4070 Ti, RTX 3080 Ti
≥8GB 2 RTX 3070, RTX 4060 Ti
<8GB 1 RTX 3050, T4
无 GPU 1 CPU 模式

5.2 四级调度策略

任务到达 → ① 缓存感知路由 (CacheIndex — 优先选已缓存模型的节点)
         → ② 贡献者优先 (GPU评分 + free_slots + 可靠性排序)
         → ③ 平台节点兜底 (无贡献者时)
         → ④ 社区算力盒子 (预留)
         → ⑤ 云弹性扩容 (预留)

5.3 五因子 AHP 定价模型

因子 权重 说明
GPU TFLOPS 41% 原始算力性能 (RTX 4090 = 82.6 TFLOPS 基准)
GPU VRAM 26% 显存容量决定模型规模上限
CPU 19% 核心数 × 架构代际
RAM 9% 容量 + 类型 (DDR4/DDR5)
Storage 5% 容量 + 类型 (NVMe/SSD/HDD)
综合算力 = GPU_TFLOPS/BENCHMARK × 0.41 + VRAM系数 × 0.26 + CPU系数 × 0.19
          + RAM系数 × 0.09 + Storage系数 × 0.05

时收益 = 时基价 × 综合系数 × 阶梯加成 × 高峰溢价
贡献者收益 = 时收益 × 70%(平台抽成 25% + 公益捐赠 5%)

6. 智能缓存系统

6.1 调度器 CacheIndex

内存维护 model_hash → {node_ids} 映射,实现缓存感知路由。

6.2 Worker 本地缓存

~/.kogun/cache/
├── models/             # 模型权重缓存
│   ├── <md5_hash>/     # 每个模型独立目录
│   └── .cached         # 标记文件
└── results/            # 推理结果缓存
    └── <hash>.json     # LRU 淘汰,上限 1000 条

6.3 性能提升

指标 冷启动 缓存命中 提升
执行时间 10-30s <0.1s 100-300x
GPU 消耗 100% 0% 无限
模型加载 90s (网络) 2s (本地) 45x

7. 设备 Worker

7.1 kogun-worker.py v2.4

kogun-worker.py v2.4
├── WorkerConfig        # 配置管理 (JSON/YAML)
├── HardwareDetector    # 硬件检测: CPU/GPU/RAM/Storage
├── GPUManager          # GPU虚拟化: VRAM→并发数 + Semaphore控制
├── LocalCache          # 本地NVMe缓存: 模型权重 + 推理结果
├── HermesConnector     # LLM推理引擎代理
├── ThreadPoolExecutor  # 多任务并发执行
├── WSClient            # WebSocket 实时通道 (主)
├── PGPoller            # PG NOTIFY 兜底通道 (备)
├── HeartbeatManager    # 心跳上报 (15s间隔, 含gpu_virt+cache)
└── TaskExecutor        # 任务执行抽象层

7.2 使用方式

# 使用已有 Token
python3 kogun-worker.py --token kdt-xxxxxxxx

# 自动登录 + 注册
python3 kogun-worker.py --login 用户名 密码

# 一键部署
curl -sL https://api.kogun.site/deploy | bash

8. 一键部署

8.1 快速开始

curl -sL https://api.kogun.site/deploy | bash

8.2 部署流程 (5步)

步骤 操作 详情
Step 1/5 检测硬件 nvidia-smi → GPU型号 + VRAM → 自动计算并发数
Step 2/5 安装依赖 Python3 + pip; httpx, psutil, websocket-client
Step 3/5 下载 Worker 从平台下载 kogun-worker.py
Step 4/5 注册节点 输入账号密码; 自动获取 device_token
Step 5/5 systemd 服务 自动启动; 崩溃自愈

9. API 参考

9.1 公开端点

方法 路径 说明
GET / SPA 首页
GET /landing 实时数据大屏
GET /community 算力社区页面 (v8.2.1)
GET /deploy 一键部署页面
GET /docs/tech 在线技术说明书
GET /health 健康检查
GET /api/health 健康检查 JSON
GET /api/dashboard 公开统计面板
GET /api/platform/stats 平台统计
GET /api/pricing 定价引擎
GET /api/pricing/tiers 定价层级 (v8.2.1)
GET /api/nodes 节点列表
GET /api/tasks/pool 公开任务池
GET /api/community/map 社区地图数据 (v8.2.1)
GET /api/leaderboard 算力排行榜 (v8.2.1)
GET /api/public/overview 公开概览 (v8.2.1)
GET /api/public/charity 公益信息 (v8.2.1)
GET /api/announcements 公告列表 (v8.2.1)
GET /api/queue/stats 队列统计 (v8.2.1)
GET /api/calculator/gpu_list GPU列表 (v8.2.1)
GET /api/calculator/earnings 收益计算器 (v8.2.1)

9.2 认证

方法 路径 说明
POST /api/auth/register 用户注册
POST /api/auth/login 用户登录 (返回 JWT)
GET /api/auth/me 当前用户信息
GET /api/auth/device-status 设备绑定状态 (v8.2.1)
POST /api/auth/change-password 修改密码
POST /api/auth/update-profile 更新资料
POST /api/auth/logout 退出登录 (v8.2.1)
POST /api/auth/forgot-password 忘记密码 (v8.2.1)
POST /api/auth/reset-password 重置密码 (v8.2.1)

9.3 节点管理

方法 路径 说明
POST /api/devices/register 注册设备 (返回 device_token)
POST /api/devices/{id}/verify 验证设备
POST /api/devices/{id}/heartbeat 设备心跳
POST /api/devices/{id}/toggle-compute 切换算力贡献 (v8.2.1)
DELETE /api/devices/{id} 删除设备 (v8.2.1)
GET /api/devices/{id}/status 设备状态
GET /api/devices/{id}/tokens Token 列表
GET /api/devices/{id}/tasks 设备任务
GET /api/devices/profile 设备档案 (v8.2.1)
POST /api/devices/locate 设备定位 (v8.2.1)
POST /api/devices/report-capability 能力上报 (v8.2.1)

9.4 任务管理

方法 路径 说明
POST /api/tasks 创建任务
GET /api/tasks 任务列表
GET /api/tasks/{id} 任务详情
GET /api/tasks/pool 公开任务池
POST /api/tasks/{id}/claim 设备领取任务
POST /api/tasks/{id}/complete 完成任务
POST /api/tasks/{id}/cancel 取消任务

9.5 任务市场

方法 路径 说明
GET /api/marketplace/categories 市场分类
GET /api/marketplace/tasks 市场任务模板
GET /api/marketplace/stats 市场统计
GET /api/marketplace/my-tasks 我的市场任务
POST /api/marketplace/submit 提交市场任务

9.6 财务体系(v8.2.1 新增)

方法 路径 说明
GET /api/finance/overview 财务概览
GET /api/finance/transactions 财务交易记录
GET /api/finance/accounts 收款账户
GET /api/finance/withdraw/rules 提现规则
POST /api/finance/withdraw 提现申请 (前端接口)
POST /api/finance/recharge 在线充值
GET /api/finance/enterprise/billing 企业账单
POST /api/finance/enterprise/prepay 企业预付
GET /api/my-earnings 我的收益
GET /api/my-transactions 交易记录
GET /api/withdraw/history 提现历史
POST /api/withdraw/request 提现申请 (API接口)

9.7 用户体系(v8.2.1 新增)

方法 路径 说明
GET /api/user/stats 用户统计
GET /api/user/milestones 里程碑
GET /api/vip/status VIP状态
POST /api/vip/upgrade VIP升级
GET /api/referral/info 推荐信息
POST /api/referral/claim 领取推荐奖励
GET /api/achievements 成就列表
POST /api/achievements/check 检查成就更新
GET /api/carbon/stats 碳减排统计
GET /api/tickets 工单列表

9.8 管理员

方法 路径 说明
GET /api/admin/users 用户管理
GET /api/admin/finance 财务管理
GET /api/admin/monitor 系统监控
GET /api/admin/data-stats 数据统计 (v8.2.1修复)
GET /api/admin/system-status 系统状态
GET /api/admin/cache-debug 缓存调试
GET /api/admin/enterprise 企业客户 (v8.2.1修复)
GET /api/admin/withdrawals 提现列表 (v8.2.1修复)
GET /api/admin/finance/pending-withdrawals 待审提现 (v8.2.1)
GET /api/admin/dashboard 管理仪表盘 (v8.2.1)
POST /api/scheduler/auto-schedule 手动触发调度

9.9 OpenAI 兼容 API

方法 路径 说明
GET /v1/models 模型列表
POST /v1/chat/completions Chat 补全
POST /v1/images/generations 图像生成
POST /v1/audio/transcriptions 语音转文字
POST /v1/embeddings 文本嵌入
POST /v1/compute/submit 提交计算任务
GET /v1/compute/status/{task_id} 计算状态
GET /v1/compute/result/{task_id} 计算结果
GET /v1/dashboard/billing 用量计费

9.10 健康检查示例

curl https://api.kogun.site/api/health
# {
#   "api": "ok",
#   "version": "8.2.1",
#   "database": "ok",
#   "scheduler": "running",
#   "scheduler_coroutines": 5,
#   "ws_connections": 0
# }

10. 算力社区

10.1 功能概述

v8.2.1 新增独立算力社区页面 (/community),包含三大板块:

板块 功能 数据源
🌍 地区分布 按地区聚合节点和社区 GET /api/community/map
🏆 社区排行榜 按算力评分排名 GET /api/leaderboard
📱 设备共享广场 社区内可共享设备 GET /api/community/map

10.2 社区地图 API

GET /api/community/map

# 返回:
{
  "地区": [
    {
      "地区": "北京",
      "节点数": 15,
      "社区数": 3,
      "社区列表": [
        {
          "社区名": "中关村算力社区",
          "设备数": 8,
          "总分数": 750.5,
          "设备列表": [...]
        }
      ]
    }
  ],
  "总计": {
    "地区数": 2,
    "节点数": 29,
    "社区数": 2,
    "总算力分": 1234.5
  }
}

10.3 设备注册社区字段

设备注册时支持社区位置信息:

POST /api/devices/register
{
  "gpu_name": "RTX 4090",
  "community": "中关村算力社区",
  "region_city": "北京",
  "region_district": "海淀区"
}

11. 数据库 Schema

11.1 数据库信息

项目 值
数据库名称 kogun_v7
数据库引擎 PostgreSQL
表数量 27 张
ID 策略 SERIAL 整数自增
连接串 postgresql+asyncpg://kogun:kogun2026@localhost:5432/kogun_v7

11.2 核心表结构

users — 用户表

列名 类型 说明 版本
id SERIAL 主键
username VARCHAR(100) UNIQUE 用户名
password_hash VARCHAR(255) 密码哈希 (bcrypt)
role VARCHAR(20) 角色: admin/user
credit_balance NUMERIC(18,4) 信用余额
email VARCHAR(255) 邮箱
phone VARCHAR(20) 手机号
status VARCHAR(20) 状态: active/banned
invite_code VARCHAR(50) 邀请码
vip_level VARCHAR(20) VIP等级: free/standard/premium
community TEXT 所属社区
region_city TEXT 城市
region_district TEXT 区县
agreement_signed BOOLEAN 协议签署状态 v8.2.1
real_name VARCHAR(100) 真实姓名 v8.2.1
id_number VARCHAR(20) 身份证号(脱敏) v8.2.1
total_earnings NUMERIC(18,4) 总收益
balance NUMERIC(18,4) 可用余额

nodes — 节点表

列名 类型 说明
id SERIAL 主键
user_id INTEGER FK 所属用户
gpu_name VARCHAR(100) GPU 型号
gpu_score FLOAT GPU 评分
cpu_cores INTEGER CPU 核心数
ram_gb FLOAT 内存容量
status VARCHAR(20) online/computing/offline/paused
community TEXT 所属社区
region_city TEXT 城市
region_district TEXT 区县
fingerprint VARCHAR(255) UNIQUE 设备指纹
hourly_rate NUMERIC(10,4) 时薪
reliability_score FLOAT 可靠性评分
tasks_completed INTEGER 完成任务数

tasks — 任务表

列名 类型 说明
id SERIAL 主键
user_id INTEGER FK 提交者
type VARCHAR(50) 任务类型
model VARCHAR(100) 模型名
prompt TEXT 提示词
status VARCHAR(20) pending/running/completed/failed
assigned_node INTEGER FK 分配节点
priority INTEGER 优先级
progress FLOAT 进度 0-100
estimated_cost NUMERIC(18,4) 预估费用
actual_cost NUMERIC(18,4) 实际费用

withdrawals — 提现记录表 (v8.2.1 完善)

列名 类型 说明
id SERIAL 主键
user_id INTEGER FK 用户
amount NUMERIC(18,4) 金额
fee NUMERIC(18,4) 手续费
account_type VARCHAR(20) alipay/wechat/bank
account_info TEXT 账户信息
status VARCHAR(20) pending/approved/rejected
reviewed_by INTEGER FK 审核人
reviewed_at TIMESTAMP 审核时间

enterprises — 企业客户表

列名 类型 说明
id SERIAL 主键
user_id INTEGER FK 用户
company_name VARCHAR(200) 公司名称
license VARCHAR(100) 营业执照
contact_name VARCHAR(100) 联系人
contact_phone VARCHAR(30) 联系电话
status VARCHAR(20) pending/approved/rejected

11.3 v8.2.1 数据库迁移

-- migration_v8_community.sql
ALTER TABLE users ADD COLUMN IF NOT EXISTS agreement_signed BOOLEAN NOT NULL DEFAULT FALSE;
ALTER TABLE users ADD COLUMN IF NOT EXISTS real_name VARCHAR(100);
ALTER TABLE users ADD COLUMN IF NOT EXISTS id_number VARCHAR(20);

CREATE TABLE IF NOT EXISTS agreements (
    id SERIAL PRIMARY KEY,
    user_id INTEGER NOT NULL REFERENCES users(id),
    agreement_type VARCHAR(50),
    signed BOOLEAN NOT NULL DEFAULT TRUE,
    signed_at TIMESTAMP,
    created_at TIMESTAMP NOT NULL DEFAULT NOW()
);

ALTER TABLE agreements ADD COLUMN IF NOT EXISTS signature_data TEXT;
ALTER TABLE agreements ADD COLUMN IF NOT EXISTS real_name VARCHAR(100);
ALTER TABLE agreements ADD COLUMN IF NOT EXISTS id_number VARCHAR(20);

CREATE INDEX IF NOT EXISTS idx_agreements_user_id ON agreements(user_id);
CREATE INDEX IF NOT EXISTS idx_users_community ON users(community) WHERE community IS NOT NULL;

12. 运维监控

12.1 服务管理

# API 服务
sudo systemctl status kogun
sudo systemctl restart kogun
sudo journalctl -u kogun -f

# Worker 服务
systemctl --user status kogun-worker
systemctl --user restart kogun-worker

12.2 健康检查

curl https://api.kogun.site/health
# {"api":"ok","version":"8.2.1","database":"ok","scheduler":"running",
#  "scheduler_coroutines":5,"ws_connections":0}

12.3 实时监控

curl -H "Authorization: Bearer <token>" \
  https://api.kogun.site/api/admin/system-status

# 返回: WS连接、缓存索引、GPU虚拟化、任务吞吐、PG消息总线状态

12.4 服务端口

端口 服务 说明
80 Nginx (HTTP) 自动重定向到 HTTPS
443 Nginx (HTTPS) SSL 终端 + 反向代理
8800 Uvicorn FastAPI 后端 (仅内网)
5432 PostgreSQL 数据库 (仅内网)

12.5 SSL 证书

12.6 数据库运维

PGPASSWORD=kogun2026 psql -h localhost -U kogun -d kogun_v7

# 常用查询
SELECT id, username, role FROM users;
SELECT id, status, gpu_name FROM nodes WHERE status='online';
SELECT status, count(*) FROM tasks GROUP BY status;
SELECT count(*) FROM withdrawals WHERE status='pending';

13. v8.2.1 变更日志

13.1 新增功能

功能 说明
🏘️ 算力社区页面 独立HTML页面,地区分布/排行榜/设备广场
📊 社区地图API GET /api/community/map 按地区聚合节点
🔧 设备状态API GET /api/auth/device-status 设备绑定状态
🔄 算力贡献开关 POST /api/devices/{id}/toggle-compute 节点所有者可操作
💰 财务体系 充值/提现/账单/企业预付/交易记录全链路
🏆 成就系统 里程碑/VIP/推荐奖励/碳减排
📈 收益计算器 GPU列表 + 实时收益估算
📋 工单系统 用户工单管理
🌍 公开概览 无需登录的平台统计数据

13.2 Bug修复

# Bug 根因 修复方式
1 前端按钮无响应 onclick="showTab(\\'download\\')" 双转义引号导致JS语法错误 替换为 &apos; HTML实体
2 算力社区tab 404 /community 路由不存在 新建 community.html + 路由
3 community/map 404 API端点不存在 新增社区地图聚合API
4 device-status 404 API端点不存在 新增设备状态API
5 agreement_signed 丢失 UserModel缺少列 添加3列 + DB迁移SQL
6 设备注册不存community 后端未读取字段 持久化社区位置数据
7 种子数据 int("demo001") 字符串ID传给int() 使用数据库返回的整数ID
8 admin/enterprise 500 list.values() 调用在list上 兼容list/dict返回
9 withdraw/history 500 get_withdrawals_by_user 方法不存在 新增WithdrawalModel + 方法
10 marketplace/my-tasks 500 get_tasks_by_user 方法不存在 新增方法
11 admin/data-stats 500 get_data_stats 方法不存在 新增方法
12 admin/withdrawals 500 get_all_withdrawals 方法不存在 新增方法
13 节点暂停 403 require_admin 限制 改为 get_current_user + 所有者校验
14 toggle-compute 404 前端调用端点不存在 新增端点
15 finance/withdraw 404 前端调用端点不存在 新增匹配端点
16 auto-schedule 500 started_at 用ISO字符串给DateTime列 改为 datetime.now() 对象
17 /docs/tech 404 版本改名后md文件路径不匹配 多路径fallback
18 排行榜500 None值排序崩溃 (n.get("gpu_score") or 0)
19 调度器持续报错 所有update_*方法绕过_prepare_data 统一通过_prepare_data转换日期
20 遗留v7.3.0版本号 启动日志和模型版本未更新 统一升级到v8.2.1

13.3 E2E测试结果

测试模块               端点数    结果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
公开页面                   6     ✅ 6/6
仪表盘 Tab                 6     ✅ 6/6
设备节点 Tab               5     ✅ 5/5
任务市场 Tab               6     ✅ 6/6
收益中心 Tab               8     ✅ 8/8
算力社区 Tab               4     ✅ 4/4
我的 Tab                   8     ✅ 8/8
下载 Tab                   6     ✅ 6/6
协议 Tab                   2     ✅ 2/2
通知 Tab                   4     ✅ 4/4
企业 Tab                   2     ✅ 2/2
Admin管理面板             10     ✅ 10/10
POST操作                   7     ✅ 7/7
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
合计                      75     100%

14. 版本历史

版本 日期 主要变更
v7.2 2026-05 初始版本,基础算力共享
v7.3 2026-05 +设备心跳 + 任务领取 + 五因子定价
v8.0 2026-06-10 +调度器v6 + 负载均衡 + 认证修复
v8.1 2026-06-15 +PG消息总线 + Health端点 + 系统监控面板
v8.2.0 2026-06-28 +GPU虚拟化 + 智能缓存 + Worker v2.4 + 一键部署 + Landing大屏 + Device Token认证
v8.2.1 2026-06-29 +算力社区 + 财务体系 + 成就系统 + 20项Bug修复 + 30+新API + 实战就绪

v8.2.1 修改文件清单

文件 操作 说明
main.py 修改 (3,370→3,864 行,@v8.2.1 发布时快照) +30 API端点, 修复5个500错误, 权限模型改进
database.py 修改 (861→1,009行) +WithdrawalModel, +8方法, update_*统一_prepare_data
scheduler.py 修改 (616行) 修复isoformat()→datetime对象
templates/community.html 新建 (273行) 算力社区独立页面
templates/index.html 修改 版本号升级 + JS缓存版本号
templates/landing.html 修改 版本号升级
deploy/db/migration_v8_community.sql 新建 DB迁移: +3列 +索引

技术支持: admin@kogun.site
部署命令: curl -sL https://api.kogun.site/deploy | bash
API 文档: https://api.kogun.site/docs
在线说明书: https://api.kogun.site/docs/tech
算力社区: https://api.kogun.site/community
当前版本: v8.2.1 · 2026-06-29 · 实战就绪