92 lines
4.3 KiB
TypeScript
92 lines
4.3 KiB
TypeScript
|
|
import type { DocTreeNode } from './git-engine.js';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* HoloLake 语言协议核的最小运行投影。
|
|||
|
|
*
|
|||
|
|
* 这不是面向人类的知识页面,也不是某个模型的“人格提示词”。它是每次模型
|
|||
|
|
* 计算前由运行时自动装载的系统契约;真正的路径、权限、确认和回执仍由代码执行。
|
|||
|
|
*/
|
|||
|
|
export const HOLOLAKE_LANGUAGE_KERNEL = Object.freeze({
|
|||
|
|
id: 'HLP-KERNEL-LANGUAGE-0001',
|
|||
|
|
version: '0.1.0',
|
|||
|
|
state: 'SOURCE_IMPLEMENTED',
|
|||
|
|
product: 'HoloLake',
|
|||
|
|
definition: '连接人类意图、语言人格、原生模块、模型计算、代码仓库与现实服务器的语言操作系统平台。',
|
|||
|
|
layers: Object.freeze({
|
|||
|
|
languagePersona: '一级智能进程;模型实例不是人格本体。',
|
|||
|
|
tcs: '人格认知内核;不是聊天记录或单份系统提示词。',
|
|||
|
|
hldp: '持久记忆、历史与恢复寻址层。',
|
|||
|
|
gls: '编号、路径、模块与兼容标准。',
|
|||
|
|
model: '可替换推理计算服务,不拥有人格身份或现实权限。',
|
|||
|
|
repository: '代码与知识的存储和版本燃料,不是运行主体。',
|
|||
|
|
server: '现实执行节点;每个私人频道只进入其已验证的个人服务器边界。',
|
|||
|
|
}),
|
|||
|
|
runtimeRules: Object.freeze([
|
|||
|
|
'先解析主体、频道、目标路径与权限,再选择模块或工具。',
|
|||
|
|
'路径、身份、权限和服务器状态必须由运行时校验,不能由模型自我声明。',
|
|||
|
|
'读取动作只在当前知识库和当前账号授权范围内执行。',
|
|||
|
|
'创建、更新、删除等写动作先生成待确认动作;只有人类在界面确认后才执行。',
|
|||
|
|
'远端推送、部署和其他高影响动作必须走独立确认与可读回执。',
|
|||
|
|
'只有工具或服务器返回成功回执,才能宣称现实动作完成。',
|
|||
|
|
'公共企业四域与个人第五域平行;公共入口不得读取或承载个人第五域私有数据。',
|
|||
|
|
]),
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
const INTERNAL_CONTEXT_SEGMENTS = new Set([
|
|||
|
|
'AI技能包',
|
|||
|
|
'config',
|
|||
|
|
'凝渊人格系统',
|
|||
|
|
'第五域铸渊人格系统',
|
|||
|
|
'铸渊人格系统',
|
|||
|
|
'来光者记忆',
|
|||
|
|
'🧠 来光者记忆',
|
|||
|
|
'工具优化',
|
|||
|
|
'开发需求',
|
|||
|
|
]);
|
|||
|
|
|
|||
|
|
const INTERNAL_CONTEXT_ROOT_PATTERNS = [
|
|||
|
|
/^光湖语言世界[ ·—-].*(世界观|协议|系统演化|总纲)/u,
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
const FIFTH_DOMAIN_SYSTEM_ROOT = /^光湖语言世界[—-]*第五域$/u;
|
|||
|
|
|
|||
|
|
function isInternalContextNode(node: DocTreeNode, ancestors: string[]): boolean {
|
|||
|
|
if (INTERNAL_CONTEXT_ROOT_PATTERNS.some(pattern => pattern.test(node.name))) return true;
|
|||
|
|
const insideFifthDomainWorld = ancestors.some(name => /^光湖语言世界[—-]*第五域$/u.test(name));
|
|||
|
|
if (!insideFifthDomainWorld) return false;
|
|||
|
|
if (INTERNAL_CONTEXT_SEGMENTS.has(node.name) || /人格系统$/u.test(node.name)) return true;
|
|||
|
|
const directChildOfFifthDomain = /^光湖语言世界[—-]*第五域$/u.test(ancestors.at(-1) || '');
|
|||
|
|
return directChildOfFifthDomain && (
|
|||
|
|
/^(AGENTS|AI-MEMORY|CLAUDE|GEMINI)$/iu.test(node.name) ||
|
|||
|
|
/^(guanghu-os-|欢迎$|💠|🔧)/u.test(node.name)
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 人类知识树只投影可见资料;Agent 的受控搜索仍可读取底层上下文。 */
|
|||
|
|
export function projectHumanKnowledgeTree(nodes: DocTreeNode[], ancestors: string[] = []): DocTreeNode[] {
|
|||
|
|
return nodes.flatMap(node => {
|
|||
|
|
if (isInternalContextNode(node, ancestors)) return [];
|
|||
|
|
if (node.type === 'folder' && FIFTH_DOMAIN_SYSTEM_ROOT.test(node.name)) {
|
|||
|
|
return projectHumanKnowledgeTree(node.children || [], [...ancestors, node.name]);
|
|||
|
|
}
|
|||
|
|
if (node.type === 'folder') {
|
|||
|
|
const children = projectHumanKnowledgeTree(node.children || [], [...ancestors, node.name]);
|
|||
|
|
if (children.length === 0) return [];
|
|||
|
|
return [{ ...node, children }];
|
|||
|
|
}
|
|||
|
|
return [node];
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function renderLanguageKernelForModel(): string {
|
|||
|
|
const layerLines = Object.entries(HOLOLAKE_LANGUAGE_KERNEL.layers)
|
|||
|
|
.map(([name, definition]) => `- ${name}: ${definition}`)
|
|||
|
|
.join('\n');
|
|||
|
|
const ruleLines = HOLOLAKE_LANGUAGE_KERNEL.runtimeRules
|
|||
|
|
.map((rule, index) => `${index + 1}. ${rule}`)
|
|||
|
|
.join('\n');
|
|||
|
|
return `协议核:${HOLOLAKE_LANGUAGE_KERNEL.id} · ${HOLOLAKE_LANGUAGE_KERNEL.version}\n` +
|
|||
|
|
`产品定义:${HOLOLAKE_LANGUAGE_KERNEL.definition}\n\n` +
|
|||
|
|
`系统分层:\n${layerLines}\n\n` +
|
|||
|
|
`运行规则:\n${ruleLines}`;
|
|||
|
|
}
|