fix(hololake): ship dynamic persona routes and coherent workspace
This commit is contained in:
parent
5105ec5e32
commit
787ba2ad3f
21 changed files with 1111 additions and 326 deletions
25
product-source/hololake-desktop/RELEASE-0.7.1.md
Normal file
25
product-source/hololake-desktop/RELEASE-0.7.1.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# HoloLake Era Desktop 0.7.1
|
||||
|
||||
## 本版修正
|
||||
|
||||
- 将知识库保持为个人第五域已安装模块;教育行业回到光湖分域行业入口;
|
||||
- 以单一布局层统一页面树、正文和 HoloLake 语言操作入口,宽屏三栏可收起或拖动调整宽度,中等窗口打开 Agent 时自动让出页面树空间;
|
||||
- 增加湖夜、雾白、深海夜读三套完整外观,并保留字体、语言和正文大小设置;
|
||||
- 修复 Markdown 表格、任务列表、引用、代码与 HoloLake 双链渲染,兼容 Outline 的 `aside` 提示块与表格换行,宽表在正文内部横向滚动;
|
||||
- HoloLake 双链按知识树精确导航,不以正文模糊搜索结果冒充目标页面;
|
||||
- 增加对话历史、新建对话、删除对话和设备本地持久化;
|
||||
- 修复工具消息协议,写操作确认回执不会在下一回合形成孤立的 `tool` 消息;
|
||||
- 人格体唤醒改为读取该人格体自己的 INDEX、CURRENT、WAKE 路径页面,路径节点数量与顺序完全由人格体页面定义,不预设五步、七步或其他固定模板;
|
||||
- 活动轨迹仅展示真实发生的路径定位、页面读取、工具、权限与执行回执,不展示或伪造模型隐藏思维过程。
|
||||
|
||||
## 自动验收
|
||||
|
||||
- 工具协议、确认写入后的连续对话、动态人格唤醒路径均有回归测试;
|
||||
- 知识树内部隐藏协议配置、人类资料保留、Markdown 安全渲染均有回归测试;
|
||||
- 生产构建必须通过后才允许生成安装包。
|
||||
|
||||
## 数据边界
|
||||
|
||||
- 安装包不包含个人知识、对话记录、服务器令牌、模型密钥、SSH 密钥或私人第五域内容;
|
||||
- 对话记录与模型密钥留在设备本地安全范围;
|
||||
- 服务器托管与 Forgejo 推送必须分别取得真实连接和回执,不能由界面文案代替。
|
||||
|
|
@ -31,6 +31,7 @@ const KB_REPO_PATH = path.join(DATA_DIR, 'knowledge-base');
|
|||
const MODEL_CONFIG_PATH = path.join(app.getPath('userData'), 'model-config.json');
|
||||
const SERVER_AUTH_PATH = path.join(app.getPath('userData'), 'server-auth.json');
|
||||
const SERVER_PROFILES_PATH = path.join(app.getPath('userData'), 'server-profiles.json');
|
||||
const AGENT_STATE_PATH = path.join(app.getPath('userData'), 'agent-conversations.json');
|
||||
const GIT_ASKPASS_PATH = path.join(app.getPath('userData'), 'hololake-git-askpass.sh');
|
||||
interface ServerProfileDefinition {
|
||||
id: string;
|
||||
|
|
@ -320,6 +321,7 @@ function startServer(): Promise<void> {
|
|||
...process.env,
|
||||
KB_PORT: String(SERVER_PORT),
|
||||
KB_REPO_PATH,
|
||||
HOLOLAKE_AGENT_STATE_PATH: AGENT_STATE_PATH,
|
||||
NODE_ENV: 'development',
|
||||
},
|
||||
cwd: path.resolve(__dirname, '../..'),
|
||||
|
|
@ -352,6 +354,7 @@ function startServer(): Promise<void> {
|
|||
try {
|
||||
process.env.KB_PORT = String(SERVER_PORT);
|
||||
process.env.KB_REPO_PATH = KB_REPO_PATH;
|
||||
process.env.HOLOLAKE_AGENT_STATE_PATH = AGENT_STATE_PATH;
|
||||
const serverBundle = path.join(__dirname, 'server-bundle.cjs');
|
||||
require(serverBundle);
|
||||
console.log(`[KB Server] 内嵌启动,端口 ${SERVER_PORT}`);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import { contextBridge, ipcRenderer } from 'electron';
|
|||
contextBridge.exposeInMainWorld('hololake', {
|
||||
// 应用信息
|
||||
platform: process.platform,
|
||||
version: '0.7.0',
|
||||
version: '0.7.1',
|
||||
|
||||
// 数据目录
|
||||
getDataPath: () => ipcRenderer.invoke('get-data-path'),
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "hololake-desktop",
|
||||
"version": "0.7.0",
|
||||
"version": "0.7.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "hololake-desktop",
|
||||
"version": "0.7.0",
|
||||
"version": "0.7.1",
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"diff": "^9.0.0",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "hololake-desktop",
|
||||
"version": "0.7.0",
|
||||
"version": "0.7.1",
|
||||
"description": "HoloLake Era — 光湖语言操作系统平台",
|
||||
"main": "dist-electron/main.cjs",
|
||||
"type": "module",
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
"dev:server": "tsx watch ../guanghu-knowledge-base/server/index.ts",
|
||||
"dev:client": "vite",
|
||||
"dev:electron": "electron .",
|
||||
"test": "tsx --test ../guanghu-knowledge-base/server/*.test.ts ../guanghu-knowledge-base/src/*.test.ts",
|
||||
"test": "tsx --tsconfig ../guanghu-knowledge-base/tsconfig.json --test ../guanghu-knowledge-base/server/*.test.ts ../guanghu-knowledge-base/src/*.test.ts",
|
||||
"build:electron": "esbuild electron/main.ts --bundle --platform=node --format=cjs --external:electron --outfile=dist-electron/main.cjs && esbuild electron/preload.ts --bundle --platform=node --format=cjs --external:electron --outfile=dist-electron/preload.cjs",
|
||||
"build:server": "NODE_PATH=./node_modules esbuild ../guanghu-knowledge-base/server/index.ts --bundle --platform=node --format=cjs --outfile=dist-electron/server-bundle.cjs",
|
||||
"build": "vite build && npm run build:electron && npm run build:server",
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ export default defineConfig({
|
|||
port: 5180,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:3890',
|
||||
target: `http://localhost:${process.env.KB_PORT || '3890'}`,
|
||||
changeOrigin: true,
|
||||
},
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue