news 2026/8/12 20:41:43

「保密检查」助手如何向模型描述风险类别与研判原则:开源免费的WPS AI 软件 察元AI文档助手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
「保密检查」助手如何向模型描述风险类别与研判原则:开源免费的WPS AI 软件 察元AI文档助手

「保密检查」助手如何向模型描述风险类别与研判原则

摘要

本文围绕标题所述主题,结合本仓库当前源码行进行说明。仅供技术理解与内部培训,不构成定密、法务或密码测评结论。文中代码块均摘自本地仓库对应路径与行号。

正文

0. 结论先行

结论先行:保密检查由内置助手触发大模型按模板输出审查意见,程序再从摘要中抽取命中片段并尝试挂批注。长文档依赖分块与结构化 JSON 提示。下文每节先说明要点,紧接着给出仓库中的对应源码片段。

本篇标题:「保密检查」助手如何向模型描述风险类别与研判原则

1. 助手标识与默认写回方式

保密检查对应内置助手 id 为 analysis.security-check。下列片段展示其在注册表中的默认动作与输入来源等字段,便于与界面行为对照。

// src/utils/assistantRegistry.js 第653-667行{id:'analysis.security-check',label:'保密检查',shortLabel:'保密检查',group:'analysis',modelType:'chat',defaultModelCategory:'chat',supportsRibbon:true,defaultDisplayLocations:['ribbon-main'],allowedActions:['comment','link-comment','insert','append','none'],defaultAction:'link-comment',defaultOutputFormat:'markdown',defaultInputSource:INPUT_SOURCE_DOCUMENT,description:'基于关键词和上下文检查文档中的涉密、涉军、单位名称、密级标识和敏感业务信息风险。',

2. 研判原则写入提示词模板

研判原则与风险级别枚举写在 userPromptTemplate 的长模板中,模型据此输出 Markdown 小节。下列片段为模板中研判原则与风险级别相关行。

// src/utils/assistantRegistry.js 第704-713行研判原则:1.关键词命中不等于泄密,必须结合上下文判断,不要机械命中即报高风险2.对常见公开词、泛化称谓、新闻公开语境、教材示例语境,要谨慎降噪,避免误报3.仅依据原文内容作出审慎判断,不要臆测背景、来源、真实单位或法律结论4.对每项风险必须说明:命中片段、风险类别、风险级别、判断依据、建议处理方式5.风险级别统一使用:-高风险:直接出现密级标识、具体部队/单位身份、具体部署计划、未公开内部编号、明确敏感联系人信息等-中风险:出现敏感关键词且上下文指向内部事项,但是否涉密仍需人工确认-低风险或待人工复核:存在可疑词或敏感线索,但公开性、敏感性、上下文不足,暂不能直接判定6.如果文本未发现明显保密风险,明确写“未发现明显保密风险”

3. Ribbon 按钮如何启动该助手

功能区按钮在 ribbon 的 OnAction 分支中调用 executeAssistantFromRibbon,并传入 taskTitle。

// src/components/ribbon.js 第3364-3370行// 脱密分组case'btnDocumentDeclassifyCheck':executeAssistantFromRibbon('analysis.security-check',{taskTitle:'保密检查'}).catch((e)=>{console.error('保密检查失败:',e)alert('保密检查失败: '+(e?.message||e))})break

4. 任务运行器中的专项提示

对保密检查助手,任务运行器追加一条最佳实践说明,强调关键词命中须结合上下文分级。

// src/utils/assistantTaskRunner.js 第310-312行if(assistantId==='analysis.security-check'){return'保密检查时,关键词命中必须结合上下文分级判断;避免武断下结论,并明确哪些内容需要人工复核。'}

5. 结构化批次系统提示骨架

长文档走结构化 JSON 批次时,buildStructuredBatchInstruction 拼接 schemaVersion、模式说明与 ChunkText 约束。

// src/utils/assistantStructuredPipeline.js 第90-104行exportfunctionbuildStructuredBatchInstruction(assistantId,options={}){constmode=getStructuredAssistantMode(assistantId)return[`你必须只输出一个合法 JSON 对象,schemaVersion 固定为 "${STRUCTURED_PIPELINE_SCHEMA_VERSION}"。`,'不要输出 Markdown,不要输出 JSON 之外的解释。',getModeSpecificInstruction(mode,options),getStructuredJsonAnchorExtraRules(assistantId,options.documentAction),'你将收到一个带 ChunkMeta / LineMap / ChunkText 的结构化原文块,所有定位都必须以 ChunkText 为唯一依据。',String(options.documentAction||'').trim()==='replace'?'当文档动作是 replace 时,只有在 originalText 可以从 ChunkText 中精确截取时才输出 replace;否则改为 comment。':'','统一 JSON 结构如下:','{"schemaVersion":"","mode":"","summary":"","content":"","operations":[{"type":"replace|comment|insert-after|prepend|append|none","target":"absolute-range|chunk-relative-range|text-anchor|paragraph-range","start":0,"end":0,"originalText":"","replacementText":"","commentText":"","reason":"","suggestion":"","confidence":"high|medium|low","paragraphIndex":0,"prefix":"","suffix":"","sentence":""}]}','若没有可执行操作,operations 返回 [];若没有正文结果,content 返回空字符串。'].filter(Boolean).join('\n')

6. 从 Markdown 摘要抽取命中片段

程序不直接信任自由格式,而用 extractHitFragmentsFromSecurityCheckMarkdown 做多模式正则抽取,供后续批注锚点。

// src/utils/structuredCommentPolicy.js 第22-52行exportfunctionextractHitFragmentsFromSecurityCheckMarkdown(markdown){consttext=String(markdown||'')constout=[]constseen=newSet()constadd=(raw)=>{lett=String(raw||'').trim()t=t.replace(/^[`「'"“]+|[`」'"”]+$/g,'').replace(/\*\*/g,'').trim()if(t.length<2||seen.has(t))returnif(/^(无|暂无|未发现|没有|不适用)\s*$/u.test(t))returnseen.add(t)out.push(t)}letm// 模型常见变体:- **命中片段:** `原文`(加粗标签 + 中英文冒号 + 反引号)constreBacktickPatterns=[/\*\*命中片段[::]\*\*\s*`([^`\n]+)`/g,/[-*]\s*\*\*命中片段[::]\*\*\s*`([^`\n]+)`/g,/[-*]\s*\*{1,2}\s*命中片段\s*\*{1,2}\s*[::]\s*`([^`\n]+)`/g,/命中片段\s*\*{0,2}\s*[::]\s*\*{0,2}\s*`([^`\n]+)`/g]for(constreBacktickofreBacktickPatterns){while((m=reBacktick.exec(text))!==null)add(m[1])}constreLinePatterns=[/[-*]\s*\*\*命中片段[::]\*\*\s*(?!`)([^\n]+)/g,/[-*]\s*命中片段[::]\s*(?!`)([^\n]+)/g]for(constreLineofreLinePatterns){while((m=reLine.exec(text))!==null)add(m[1])}returnout

7. 保密检查在结构化 JSON 下的额外锚点规则

getStructuredJsonAnchorExtraRules 为保密检查追加「命中片段须逐字来自 ChunkText」等说明,与批注类文档动作组合使用。

// src/utils/structuredCommentPolicy.js 第119-127行exportfunctiongetStructuredJsonAnchorExtraRules(assistantId,documentAction=''){constid=String(assistantId||'').trim()constact=String(documentAction||'').trim()constparts=[]if(id===ANALYSIS_SECURITY_CHECK_ID){parts.push(['保密检查:须将完整审查结论写入 JSON 的 summary 字段;summary 内仍使用模板要求的 Markdown 小节(## 高风险项 等)。','每条风险项必须包含「命中片段」且反引号内为 ChunkText 中的连续原文(逐字照抄);推荐格式:- **命中片段:** `原文片段`(加粗与否均可,反引号内必须与正文一致);operations 可留空 []。'].join('\n'))

8. 与定密流程的边界

README 已说明检查结论仅为辅助参考。实现上判断来自大模型与提示词,不包含法定密级鉴定接口。组织对外处置仍须走正式流程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/12 20:40:48

数据不出内网也能用大模型?!

前言&#xff1a;用中转站最心虚的事&#xff0c;除了怕跑路&#xff0c;就是怕数据被拿去喂模型。我司的业务数据一旦外泄&#xff0c;不是钱能解决的问题。所以选型时&#xff0c;数据安全是比价格更硬的底线。 中转站让我失眠的那一夜 我们公司年营收80多亿&#xff0c;客服…

作者头像 李华
网站建设 2026/8/12 20:39:16

音频频率响应:从核心原理到设备选购与EQ调校的完整指南

1. 从“听个响”到“听出门道”&#xff1a;为什么我们需要理解频率响应你是否有过这样的经历&#xff1a;在耳机店试听&#xff0c;导购员滔滔不绝地介绍“这款耳机三频均衡”、“那款低音澎湃”&#xff0c;而你戴上后却感觉云里雾里&#xff0c;除了音量大小和“好不好听”这…

作者头像 李华
网站建设 2026/8/12 20:35:49

拒绝无意“泄密”:手把手教你用察元AI文档助手给文件上“安全锁”--保密检查助手的使用

上一期我们聊了怎么用察元AI文档助手揪出文章的“AI塑料味”。但说实话&#xff0c;在体制内、科研单位或涉密企业&#xff0c;比“像不像AI写的”更要命的&#xff0c;是文档里不小心带出了不该出现的敏感信息——一个没删干净的内部编号、一句顺嘴提的部署计划&#xff0c;就…

作者头像 李华
网站建设 2026/8/12 20:35:43

进销存和ERP到底有什么区别?中小企业选哪个,一文讲清楚

【摘要】进销存和ERP都是企业管理软件&#xff0c;但很多人分不清它们的区别。本文从功能范围、适用规模、价格、实施难度等维度全面对比&#xff0c;帮你做出正确的选型决策。1 什么是进销存&#xff0c;什么是ERP进销存&#xff1a;全称"采购、销售、库存管理"&am…

作者头像 李华
网站建设 2026/8/12 20:34:28

论文结论部分查重总是红的原因和改法

论文结论部分查重总是红的原因和改法 很多同学发现&#xff0c;论文的结论部分查重老是红&#xff0c;改了好几次还是压不下去&#xff0c;很头疼。这篇讲讲&#xff0c;结论部分为什么总是容易红&#xff0c;以及该怎么改。 先说原因。结论这一块&#xff0c;大家写的东西本…

作者头像 李华
网站建设 2026/8/12 20:33:00

Unity渲染中Dither透明物体阴影丢失的深度解析与解决方案

1. 项目概述&#xff1a;当透明物体的阴影在Dither下“神秘消失” 做Unity渲染开发&#xff0c;尤其是涉及到半透明效果时&#xff0c;最让人头疼的莫过于“场景里看着好好的&#xff0c;一运行阴影就没了”。如果你正在使用Dither&#xff08;抖动&#xff09;技术来处理透明物…

作者头像 李华