feat: 白龙马数字意识框架 v2.2.0 - 3D意识空间、多技能协同、自我进化系统

This commit is contained in:
xiaoyuanda666-ship-it
2026-06-07 19:43:22 +08:00
commit bf73366e81
234 changed files with 219763 additions and 0 deletions

176
install-3d-v3.ps1 Normal file
View File

@@ -0,0 +1,176 @@
# 白龙马 3D意识空间 - 自动安装脚本 v3
# 运行方式: 右键 → 使用 PowerShell 运行
$ErrorActionPreference = "Stop"
$projectDir = "D:\q\BaiLongma-main"
$srcDir = "$projectDir\src"
$electronDir = "$projectDir\electron"
Write-Host "========================================" -ForegroundColor Cyan
Write-Host " 白龙马 3D意识空间 - 自动安装脚本 v3" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
# 检查项目目录
if (-not (Test-Path $projectDir)) {
Write-Error "项目目录不存在: $projectDir"
exit 1
}
# 1. 复制 HTML 文件
Write-Host "[1/6] 复制 3D可视化页面..." -ForegroundColor Yellow
$htmlSource = "C:\Users\cheng\AppData\Roaming\TRAE SOLO CN\ModularData\ai-agent\work-mode-projects\6a22b05351f365868d71d458\bailongma-enhanced\consciousness-3d-integrated.html"
$htmlTarget = "$projectDir\consciousness-3d.html"
if (Test-Path $htmlSource) {
Copy-Item $htmlSource $htmlTarget -Force
Write-Host " OK 已复制" -ForegroundColor Green
} else {
Write-Error "源文件不存在"
exit 1
}
# 2. 修改 src/paths.js
Write-Host "[2/6] 修改 src/paths.js..." -ForegroundColor Yellow
$pathsFile = "$srcDir\paths.js"
if (Test-Path $pathsFile) {
$content = [System.IO.File]::ReadAllText($pathsFile, [System.Text.Encoding]::UTF8)
if ($content -notmatch "consciousness3dHtml") {
$old = "activationHtml: path.join(RESOURCES_DIR, 'activation.html'),"
$new = "activationHtml: path.join(RESOURCES_DIR, 'activation.html'),`n consciousness3dHtml: path.join(RESOURCES_DIR, 'consciousness-3d.html'),"
$content = $content.Replace($old, $new)
[System.IO.File]::WriteAllText($pathsFile, $content, [System.Text.UTF8Encoding]::new($false))
Write-Host " OK 已添加路径" -ForegroundColor Green
} else {
Write-Host " SKIP 已存在" -ForegroundColor DarkYellow
}
}
# 3. 修改 src/api.js
Write-Host "[3/6] 修改 src/api.js..." -ForegroundColor Yellow
$apiFile = "$srcDir\api.js"
if (Test-Path $apiFile) {
$content = [System.IO.File]::ReadAllText($apiFile, [System.Text.Encoding]::UTF8)
# 3a. 添加 CONSCIOUSNESS_3D_PATH
if ($content -notmatch "CONSCIOUSNESS_3D_PATH") {
$old = "const ACTIVATION_PATH = paths.activationHtml"
$new = "const ACTIVATION_PATH = paths.activationHtml`nconst CONSCIOUSNESS_3D_PATH = paths.consciousness3dHtml"
$content = $content.Replace($old, $new)
Write-Host " OK 已添加导入" -ForegroundColor Green
}
# 3b. 添加辅助函数
if ($content -notmatch "emotionEmojiMap") {
$helper = [System.IO.File]::ReadAllText("$PSScriptRoot\helper-code.js", [System.Text.Encoding]::UTF8)
$idx = $content.IndexOf("const ACTIVATION_PATH")
if ($idx -gt 0) {
$insertPos = $content.IndexOf("`n", $idx) + 1
$content = $content.Insert($insertPos, "`n" + $helper + "`n")
}
Write-Host " OK 已添加辅助函数" -ForegroundColor Green
}
# 3c. 添加路由
if ($content -notmatch "/consciousness-3d") {
$route = [System.IO.File]::ReadAllText("$PSScriptRoot\route-code.js", [System.Text.Encoding]::UTF8)
$marker = "res.end('brain-ui.html not found')"
$idx = $content.IndexOf($marker)
if ($idx -gt 0) {
$insertPos = $content.IndexOf("`n", $idx) + 1
$returnIdx = $content.IndexOf("return", $insertPos)
if ($returnIdx -gt 0) {
$insertPos = $content.IndexOf("`n", $returnIdx) + 1
$content = $content.Insert($insertPos, "`n" + $route + "`n")
}
}
Write-Host " OK 已添加路由" -ForegroundColor Green
}
# 3d. 添加API
if ($content -notmatch "/api/consciousness-data") {
$api = [System.IO.File]::ReadAllText("$PSScriptRoot\api-code.js", [System.Text.Encoding]::UTF8)
$marker = "if (req.method === 'GET' && url.pathname.startsWith('/api/'))"
$idx = $content.IndexOf($marker)
if ($idx -gt 0) {
$content = $content.Insert($idx, $api + "`n")
}
Write-Host " OK 已添加API" -ForegroundColor Green
}
[System.IO.File]::WriteAllText($apiFile, $content, [System.Text.UTF8Encoding]::new($false))
Write-Host " OK api.js 完成" -ForegroundColor Green
}
# 4. 修改 electron/main.cjs
Write-Host "[4/6] 修改 electron/main.cjs..." -ForegroundColor Yellow
$mainFile = "$electronDir\main.cjs"
if (Test-Path $mainFile) {
$content = [System.IO.File]::ReadAllText($mainFile, [System.Text.Encoding]::UTF8)
if ($content -notmatch "3D 意识空间") {
$menu = [System.IO.File]::ReadAllText("$PSScriptRoot\menu-code.js", [System.Text.Encoding]::UTF8)
$content = $content.Replace("label: '退出'", $menu + " label: '退出'")
Write-Host " OK 已添加菜单" -ForegroundColor Green
}
if ($content -notmatch "open-consciousness-3d") {
$ipc = [System.IO.File]::ReadAllText("$PSScriptRoot\ipc-code.js", [System.Text.Encoding]::UTF8)
$marker = "app.whenReady().then(async () => {"
$idx = $content.IndexOf($marker)
if ($idx -gt 0) {
$insertPos = $content.IndexOf("`n", $idx) + 1
$content = $content.Insert($insertPos, "`n" + $ipc + "`n")
}
Write-Host " OK 已添加IPC" -ForegroundColor Green
}
[System.IO.File]::WriteAllText($mainFile, $content, [System.Text.UTF8Encoding]::new($false))
Write-Host " OK main.cjs 完成" -ForegroundColor Green
}
# 5. 修改 package.json
Write-Host "[5/6] 修改 package.json..." -ForegroundColor Yellow
$pkgFile = "$projectDir\package.json"
if (Test-Path $pkgFile) {
$content = [System.IO.File]::ReadAllText($pkgFile, [System.Text.Encoding]::UTF8)
if ($content -notmatch "consciousness-3d\.html") {
$old = '"activation.html",'
$new = '"activation.html",`n "consciousness-3d.html",'
$content = $content.Replace($old, $new)
[System.IO.File]::WriteAllText($pkgFile, $content, [System.Text.UTF8Encoding]::new($false))
Write-Host " OK 已添加打包文件" -ForegroundColor Green
} else {
Write-Host " SKIP 已存在" -ForegroundColor DarkYellow
}
}
# 6. 修改 brain-ui.html
Write-Host "[6/6] 检查 brain-ui.html..." -ForegroundColor Yellow
$brainFile = "$projectDir\brain-ui.html"
if (Test-Path $brainFile) {
$content = [System.IO.File]::ReadAllText($brainFile, [System.Text.Encoding]::UTF8)
if ($content -notmatch "consciousness-3d") {
$nav = '<a href="/consciousness-3d" style="padding:8px 16px;background:rgba(0,212,255,0.15);border:1px solid rgba(0,212,255,0.4);color:#00d4ff;border-radius:15px;text-decoration:none;font-size:0.85rem;margin-left:10px;">3D意识空间</a>'
$content = $content.Replace("</body>", $nav + "`n </body>")
[System.IO.File]::WriteAllText($brainFile, $content, [System.Text.UTF8Encoding]::new($false))
Write-Host " OK 已添加导航" -ForegroundColor Green
} else {
Write-Host " SKIP 已存在" -ForegroundColor DarkYellow
}
} else {
Write-Host " SKIP 文件不存在" -ForegroundColor DarkYellow
}
Write-Host ""
Write-Host "========================================" -ForegroundColor Cyan
Write-Host " 安装完成!" -ForegroundColor Green
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "请执行以下步骤:" -ForegroundColor White
Write-Host "1. 重启后端服务: npm run dev" -ForegroundColor Yellow
Write-Host "2. 访问 http://127.0.0.1:3721/consciousness-3d" -ForegroundColor Yellow
Write-Host "3. 或右键托盘图标 - 3D 意识空间" -ForegroundColor Yellow
Write-Host ""
Write-Host "注意如果构建EXE需要重新运行:" -ForegroundColor Magenta
Write-Host " npx electron-builder --win --dir" -ForegroundColor Magenta
Write-Host ""