docs: memory knowledge base + settings
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(git checkout *)",
|
||||
"Bash(python -m py_compile server/database.py server/services/retry_engine.py server/services/sync_engine.py server/api/servers.py server/main.py)",
|
||||
"Bash(git add *)",
|
||||
"Bash(git commit *)",
|
||||
"Bash(python -m py_compile server/api/servers.py)",
|
||||
"Bash(python -m py_compile agent/agent.py)",
|
||||
"Bash(python -m py_compile server/main.py server/api/servers.py)",
|
||||
"Bash(python -m py_compile server/main.py)",
|
||||
"Bash(python -m py_compile server/config.py server/api/servers.py server/services/retry_engine.py server/services/notify.py)",
|
||||
"Bash(python -m py_compile server/config.py)",
|
||||
"Bash(python -m py_compile server/database.py)",
|
||||
"Bash(python -m py_compile server/database.py server/services/scheduler.py server/api/servers.py server/main.py)",
|
||||
"Bash(python -m py_compile server/services/retry_engine.py)",
|
||||
"Bash(python -m py_compile server/config.py server/main.py server/api/servers.py)",
|
||||
"Bash(python -m py_compile agent/agent.py server/api/servers.py)",
|
||||
"Bash(python -m py_compile server/services/sync_engine.py server/services/retry_engine.py server/api/servers.py)",
|
||||
"Bash(xargs python *)",
|
||||
"Bash(echo \"EXIT:$?\")",
|
||||
"Bash(python -m py_compile server/services/sync_engine.py agent/agent.py)",
|
||||
"Bash(python -m py_compile server/api/auth.py server/services/retry_engine.py)",
|
||||
"Bash(python -m py_compile server/main.py server/database.py)",
|
||||
"Bash(python -m py_compile server/config.py server/main.py)",
|
||||
"Bash(python -m py_compile server/services/monitor.py server/main.py)",
|
||||
"Bash(python -m py_compile server/services/monitor.py)",
|
||||
"WebFetch(domain:github.com)",
|
||||
"Bash(sshpass -p 'root' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.124.10)",
|
||||
"Bash(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 root@192.168.124.10 \"hostname && uname -a\")",
|
||||
"Bash(apt-get install *)",
|
||||
"Bash(yum install *)",
|
||||
"Read(//c/Users/uzuma/.ssh/**)",
|
||||
"Bash(python -c ' *)",
|
||||
"Bash(ssh -o ConnectTimeout=5 root@192.168.124.10)",
|
||||
"Bash(awk '{print $2}')",
|
||||
"WebFetch(domain:47.76.187.108)",
|
||||
"WebFetch(domain:api.synaglobal.vip)",
|
||||
"Bash(pip install *)",
|
||||
"Bash(where ssh *)",
|
||||
"Bash(ssh -V)",
|
||||
"Bash(cp \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.claude\\\\worktrees\\\\unruffled-shtern-bca88d\\\\.mcp.json\" \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.mcp.json\")",
|
||||
"Bash(cp \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.claude\\\\worktrees\\\\unruffled-shtern-bca88d\\\\mcp\\\\mcp_bridge.py\" \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\mcp\\\\mcp_bridge.py\")",
|
||||
"Read(//c/Users/uzuma/Desktop/svn/multi-server-sync/**)",
|
||||
"Read(//c/Users/uzuma/.claude/**)",
|
||||
"WebSearch",
|
||||
"Bash(cmd /c *)",
|
||||
"Bash(echo \"EXIT: $?\")",
|
||||
"Bash(ssh -o StrictHostKeyChecking=no -i /c/Users/uzuma/.ssh/id_rsa_mcp root@47.76.187.108 \"python3 /www/wwwroot/api.synaglobal.vip/mcp/multisync_server.py\")",
|
||||
"Bash(scp -o StrictHostKeyChecking=no -i /c/Users/uzuma/.ssh/id_rsa_mcp \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.claude\\\\worktrees\\\\unruffled-shtern-bca88d\\\\mcp\\\\multisync_server.py\" root@47.76.187.108:/www/wwwroot/api.synaglobal.vip/mcp/multisync_server.py)",
|
||||
"Bash(git push *)",
|
||||
"Bash(claude mcp *)",
|
||||
"Skill(update-config)",
|
||||
"Skill(update-config:*)",
|
||||
"Bash(python -c \"import json; d=json.load\\(open\\(r'C:\\\\Users\\\\uzuma\\\\.claude.json'\\)\\); print\\(json.dumps\\(d.get\\('mcpServers',{}\\), indent=2\\)\\)\")",
|
||||
"mcp__multisync__service",
|
||||
"mcp__multisync__api_call",
|
||||
"mcp__multisync__git_log",
|
||||
"mcp__multisync__deploy",
|
||||
"mcp__multisync__config_view",
|
||||
"mcp__multisync__db_query",
|
||||
"mcp__multisync__logs",
|
||||
"mcp__multisync__run_test",
|
||||
"Bash(python -m py_compile \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.claude\\\\worktrees\\\\unruffled-shtern-bca88d\\\\server\\\\api\\\\servers.py\")",
|
||||
"Bash(python -m py_compile \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.claude\\\\worktrees\\\\unruffled-shtern-bca88d\\\\agent\\\\agent.py\")",
|
||||
"Bash(python -m py_compile \"C:\\\\Users\\\\uzuma\\\\Desktop\\\\svn\\\\multi-server-sync\\\\.claude\\\\worktrees\\\\unruffled-shtern-bca88d\\\\server\\\\services\\\\agent_installer.py\")"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
# 项目记忆
|
||||
|
||||
从 agentmemory 迁移(2026-05-21)
|
||||
|
||||
## 数据流与机制
|
||||
- [Nexus 6.0 项目概述](mem_nexus_overview.md)
|
||||
- [Nexus 6.0 已确认关键决策汇总](mem_nexus_decisions.md)
|
||||
- [Nexus 心跳数据流与告警机制](mem_nexus_dataflow.md)
|
||||
- [Nexus 3层守护机制设计](mem_nexus_guardian.md)
|
||||
- [Nexus 6.0 Phase A+B+C 已完成模块](mem_nexus_modules.md)
|
||||
- [Nexus Phase D 测试计划与流程](mem_nexus_testing.md)
|
||||
- [Nexus Telegram Bot告警推送设计](mem_nexus_telegram.md)
|
||||
- [Nexus Phase D 前置修复 (2026-05-20): 12项关键修复全部完成](mem_phase_d_bugfixes.md)
|
||||
- [Nexus 团队讨论议程关键决策汇总](mem_team_agenda.md)
|
||||
- [Nexus 6.0 关键文件清单](mem_key_files.md)
|
||||
- [Nexus 新增关键决策 (Phase D)](mem_new_decisions.md)
|
||||
|
||||
## 配置与部署
|
||||
- [Nexus install.php配置三写机制](mem_nexus_config.md)
|
||||
- [Nexus 仓库统一与Git状态](mem_nexus_repo.md)
|
||||
- [Nexus WSL部署信息 (172.31.170.47)](mem_wsl_deployment.md)
|
||||
|
||||
## 团队与流程
|
||||
- [MultiSync 2026-05-19 进度:Sprint P0-P2 全部完成(SSH线程隔离、Redis深度利用、](mem_mpc4vjm8_caa29f573fd9.md)
|
||||
- [Sprint 2026-05-19 全部 11 项任务完成。生产环境 217/253 在线,API/DB/Redis/W](mem_mpc54lkr_68c4f408352b.md)
|
||||
@@ -0,0 +1,13 @@
|
||||
# Nexus 6.0 关键文件清单
|
||||
|
||||
server/main.py: FastAPI+lifespan+CORS+Telegram关闭. server/config.py: Settings+DB override+CORS_ORIGINS. server/api/agent.py: 心跳+命令注入防护. server/api/auth.py: Login/logout/TOTP. server/api/websocket.py: /ws/alerts广播. auth_service.py: Redis session store. server_service.py: Agent健康检查(httpx+Semaphore20)+push委托. sync_service.py: 批量推送引擎. redis/client.py: Redis异步客户端(max_connections从settings读). telegram/__init__.py: httpx单例. ssh/pool.py: SSH连接池. encryption.py: Fernet+AES双格式. heartbeat_flush.py: Redis→MySQL 10min(TTL=900s). self_monitor.py: Python自检30s. web/app.js: Alert WebSocket+浮动卡片. web/style.css: Neumorphism+告警卡片. web/install.php: 5步安装向导. deploy/nginx_172.31.170.47.conf: WSL Nginx. deploy/nexus.conf: Supervisor. deploy/health_monitor.sh: Shell守护. deploy/migrations/001_indexes.sql: 7个索引. tests/conftest.py: pytest+async fixtures.
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Nexus
|
||||
- files
|
||||
- reference
|
||||
- architecture
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_key_files)*
|
||||
@@ -0,0 +1,15 @@
|
||||
# MultiSync 2026-05-19 进度:Sprint P0-P2 全部完成(SSH线程隔离、Redis深度利用、审计日志)。生产环境 141/253 在
|
||||
|
||||
MultiSync 2026-05-19 进度:Sprint P0-P2 全部完成(SSH线程隔离、Redis深度利用、审计日志)。生产环境 141/253 在线。文件管理器最终采用 WebFM 单文件版(1679行),6行最小改动集成。设计标准确立:鉴权即信任、浏览器验收、safePath规范。待办:代码审查#1-#3顺手改、WebFM浏览器验收。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 项目进度
|
||||
- 2026-05-19
|
||||
- Sprint
|
||||
- WebFM
|
||||
- 文件管理器
|
||||
- 设计标准
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_mpc4vjm8_caa29f573fd9)*
|
||||
@@ -0,0 +1,12 @@
|
||||
# Sprint 2026-05-19 全部 11 项任务完成。生产环境 217/253 在线,API/DB/Redis/WS 全 online。文档检查发现 3
|
||||
|
||||
Sprint 2026-05-19 全部 11 项任务完成。生产环境 217/253 在线,API/DB/Redis/WS 全 online。文档检查发现 3 份严重滞后:CHANGELOG.md(只到迭代3)、ROADMAP.md(迭代7-9标规划但10-12已完成)、TEST_REPORT.md(05-17未更新)。待办:WebFM浏览器验收 + meta refresh/logout修复 + 文档更新。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- project status
|
||||
- documentation audit
|
||||
- sprint completion
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_mpc54lkr_68c4f408352b)*
|
||||
@@ -0,0 +1,15 @@
|
||||
# Nexus 新增关键决策 (Phase D)
|
||||
|
||||
CORS_ORIGINS可改(逗号分隔,空=allow all). Redis max_connections可改(从settings读取,不再硬编码50). 命令注入防护: BLOCKED_COMMAND_PATTERNS+BLOCKED_SUDO_COMMANDS. Telegram httpx模块级单例复用. 告警通知UX: WebSocket浮动卡片栈(非简单toast,含图标+服务器名+指标+暗色模式). Redis session store: session:{token} 8h滑动TTL. Agent健康检查: httpx+Semaphore(20)并发控制.
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Nexus
|
||||
- decisions
|
||||
- CORS
|
||||
- Redis
|
||||
- security
|
||||
- UX
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_new_decisions)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus install.php配置三写机制
|
||||
|
||||
install.php Step3 POST处理同时写入3个目标: 1)web/data/config.php(PHP前端配置API_BASE_URL/DB_*/API_KEY), 2).env(Python后端启动必需NEXUS_前缀), 3)settings MySQL表(共享动态配置api_key/thresholds/Telegram等)。不可改项(SECRET_KEY/API_KEY/ENCRYPTION_KEY/DATABASE_URL)不在MySQL覆盖映射中。load_settings_from_db()在lifespan启动时从MySQL覆盖可变配置。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 配置三写
|
||||
- install.php
|
||||
- config.php
|
||||
- settings表
|
||||
- .env
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_config)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus 心跳数据流与告警机制
|
||||
|
||||
Agent心跳(60s)→Redis(实时)→前端直读→10min批量→MySQL(历史)。告警: CPU/mem/disk>threshold→WebSocket推送浏览器+Telegram推送手机。恢复: 之前告警指标恢复正常→自动推送恢复通知。Redis心跳key: heartbeat:{server_id}(HSET,TTL=600s)。Redis告警key: alerts:{server_id}(SET,TTL=3600s)。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 数据流
|
||||
- 心跳
|
||||
- Redis
|
||||
- WebSocket
|
||||
- 告警
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_dataflow)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus 6.0 已确认关键决策汇总
|
||||
|
||||
API_KEY/SECRET_KEY/DATABASE_URL: 禁改不显示(加密一致性+子服务器认证)。system_name/title/pool_size/redis_url/告警阈值/Telegram: 可改。Agent心跳间隔60s。Redis→MySQL刷新10min。心跳数据流: Agent→Redis→前端直读→10min→MySQL。告警推送: WebSocket→前端+Telegram。Python守护: 3层(Supervisor+Python自检30s+Shell cron 1min)。install.php安装后rename→locked+.env锁定。配置源: install→config.php+settings表+.env三方一致。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 决策
|
||||
- API_KEY
|
||||
- 守护
|
||||
- 心跳
|
||||
- 配置三写
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_decisions)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus 3层守护机制设计
|
||||
|
||||
Layer1: Supervisor—Python崩溃自动重启。Layer2: Python self_monitor—每30s检查Redis/MySQL/WebSocket。Layer3: Shell health_monitor.sh—每分钟HTTP GET /health,连续3次失败→supervisorctl restart+Telegram通知。Supervisor配置: deploy/nexus.conf(uvicorn --workers 4)。Shell脚本: deploy/health_monitor.sh(cron 1min)。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 守护
|
||||
- Supervisor
|
||||
- 自检
|
||||
- Shell
|
||||
- 健康检查
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_guardian)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus 6.0 Phase A+B+C 已完成模块
|
||||
|
||||
E1 websocket.py(告警推送), E2 agent.py(心跳→Redis+告警), E3 heartbeat_flush.py(Redis→MySQL10min), E4 config.py(load_settings_from_db), E5 self_monitor.py(Python自检), E6 telegram/__init__(py)(推送模块), E7 servers.py(前端读Redis), E8 health.py(/health端点), E9 main.py(lifespan+后台任务), D1 nexus.conf(Supervisor), D2 health_monitor.sh(Shell健康检查), P1 install.php(5步向导), P2 config.php(读data+MySQL)。10个Python文件全部AST语法验证通过。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 模块完成
|
||||
- Phase A
|
||||
- Phase B
|
||||
- Phase C
|
||||
- 实现状态
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_modules)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus 6.0 项目概述
|
||||
|
||||
Nexus是2000+服务器运维管理平台,从旧MultiSync(PHP+AdminLTE+pymysql)完全重构为Clean Architecture(FastAPI+Async SQLAlchemy+Redis+WebSocket+Telegram)。唯一仓库Nexus(Gitea http://admin:uzumaki77@66.154.115.8:3000/admin/Nexus.git)。部署路径/www/wwwroot/api.synaglobal.vip/,域名api.synaglobal.vip(强制HTTPS)。目录结构: server/(Python后端), web/(PHP前端), deploy/(Supervisor+Shell), docs/, tests/。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Nexus
|
||||
- Clean Architecture
|
||||
- FastAPI
|
||||
- 项目概述
|
||||
- 重构
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_overview)*
|
||||
@@ -0,0 +1,13 @@
|
||||
# Nexus 仓库统一与Git状态
|
||||
|
||||
所有代码统一在Nexus仓库,不再使用multi-server-sync仓库。目录结构扁平化(server/web/deploy直接在根目录)。已完成3次commit推送到Gitea远程。Git清理: 删除已提交的.env和SECRETS.md,恢复.gitignore排除。这些文件将由install.php在服务器上动态生成。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 仓库
|
||||
- Git
|
||||
- Nexus
|
||||
- 目录结构
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_repo)*
|
||||
@@ -0,0 +1,13 @@
|
||||
# Nexus Telegram Bot告警推送设计
|
||||
|
||||
Telegram推送模块: server/infrastructure/telegram/__init__.py。函数: send_telegram(通用), send_telegram_alert(告警CPU/mem/disk超阈值), send_telegram_recovery(恢复正常), send_telegram_system_alert(系统级告警如Redis/MySQL断连), send_telegram_restart_success/restart_failed(重启结果)。使用httpx AsyncClient。Shell脚本health_monitor.sh也通过curl直接调用Telegram API。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Telegram
|
||||
- 告警推送
|
||||
- Bot
|
||||
- httpx
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_telegram)*
|
||||
@@ -0,0 +1,13 @@
|
||||
# Nexus Phase D 测试计划与流程
|
||||
|
||||
测试流程确认: 1)WSL本地基础测试→2)推到仓库→3)外网服务器正式测试。T1:心跳Redis写入验证, T2:WebSocket连接测试, T3:3层守护测试(kill Python→Supervisor重启), T4:Telegram推送测试, T5:install.php 5步流程测试。WSL环境正在安装中(sudo密码uzumaki)。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- 测试
|
||||
- Phase D
|
||||
- WSL
|
||||
- 验证
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_nexus_testing)*
|
||||
@@ -0,0 +1,16 @@
|
||||
# Nexus Phase D 前置修复 (2026-05-20): 12项关键修复全部完成
|
||||
|
||||
M9 Redis session store: verify_session()从返回None→完整Redis查询; _store_session()+logout(); session:{token} 8h滑动TTL. M12 server_service空壳: check_all_servers()现在真正调用Agent /health(httpx+Semaphore20); push_to_servers()委托给SyncService.batch_push(). TTL对齐: heartbeat_flush.py REDIS_KEY_EXPIRE 600→900. E5 命令注入防护: BLOCKED_COMMAND_PATTERNS + BLOCKED_SUDO_COMMANDS + _validate_command(). E4 Telegram httpx单例: 模块级_get_client()单例+close_telegram_client(). CORS可配置: config.py新增CORS_ORIGINS. A1 错误处理规范: 4处bare except:pass修复. I5 Nginx配置: deploy/nginx_172.31.170.47.conf. D2 告警通知UX: 浮动卡片栈+WebSocket自动重连+暗色模式. DB索引迁移: 001_indexes.sql 7个索引. conftest修复: SQLite in-memory+MySQL env var. Redis client日志修复.
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Nexus
|
||||
- bugfix
|
||||
- Phase-D
|
||||
- engineering
|
||||
- Redis session
|
||||
- command injection
|
||||
- TTL
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_phase_d_bugfixes)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus 团队讨论议程关键决策汇总
|
||||
|
||||
管理组: API_KEY/SECRET_KEY/DATABASE_URL禁改; Agent心跳60s; Redis→MySQL 10min; 3层守护; 配置三写; 心跳传播链。工程部: Clean Architecture 4层; 异步栈; 心跳/告警/恢复流; 双格式加密。设计部: AdminLTE框架; 不做移动端; Dashboard 60s刷新; ACE编辑器。产品部: 规模化阶段(PMF已验证200+服务器); 北极星=服务器在线率>95%; 明确不做:移动适配/MQTT/WebSocket实时Dashboard/文件diff/图片预览; 仅推送模型。测试部: WSL本地测试→推仓库→外网测试; 必须浏览器验证。关键待解决: M1测试环境; M2 Go/No-Go标准; M3回滚方案; E6 install.php注入; X3安全审查。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Nexus
|
||||
- team
|
||||
- decisions
|
||||
- agenda
|
||||
- management
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_team_agenda)*
|
||||
@@ -0,0 +1,14 @@
|
||||
# Nexus WSL部署信息 (172.31.170.47)
|
||||
|
||||
WSL部署目标172.31.170.47。路径/www/wwwroot/172.31.170.47。数据库nexus密码HX12tx4SWn9NftdT。WSL环境: Ubuntu 24.04, Python 3.12.3, MySQL 8.4.8, PHP 8.2.28, Nginx 1.26.3。Redis需安装启动, pip3需安装, Supervisor需安装配置。部署步骤: 1)apt install redis-server python3-pip supervisor 2)systemctl start redis 3)复制代码 4)pip3 install -r requirements.txt 5)部署Nginx+Supervisor配置 6)运行install.php 7)T1-T5测试。Nginx配置deploy/nginx_172.31.170.47.conf, Supervisor配置deploy/nexus.conf, 健康检查http://127.0.0.1:8600/health。
|
||||
|
||||
## 相关概念
|
||||
|
||||
- Nexus
|
||||
- deployment
|
||||
- WSL
|
||||
- infrastructure
|
||||
- 172.31.170.47
|
||||
|
||||
---
|
||||
*源: agentmemory (mem_wsl_deployment)*
|
||||
Reference in New Issue
Block a user