gbrain Publish Skill 实战指南:零 LLM 调用的脑页安全分享与 AES-256-GCM 客户端加密发布

发布时间:2026/9/20 13:10:41

gbrain Publish Skill 实战指南:零 LLM 调用的脑页安全分享与 AES-256-GCM 客户端加密发布 gbrain Publish Skill 实战指南零 LLM 调用的脑页安全分享与 AES-256-GCM 客户端加密发布【免费下载链接】gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain项目地址: https://gitcode.com/gh_mirrors/gb/gbraingbrain 的publish技能位于 plugin/skills/publish/SKILL.md用于把大脑brain中的 Markdown 页面一键转换成精美、自包含的 HTML 文档对外分享可选客户端 AES-256-GCM 密码加密全程零服务器依赖、零 LLM 调用。读完本文你将掌握gbrain publish的完整命令用法、内置的隐私脱敏规则、四种分享工作流以及底层加密与 HTML 生成的源码级实现原理可直接把交易备忘录、人物简报、尽调分析等脑内内容安全地送出脑库。技能定位Thin Harness, Fat Skillspublish是一个code skill 配对的组合确定性代码gbrain publish负责真正的工作——脱敏、加密、生成 HTML逻辑全部固化在 src/commands/publish.ts 中不产生任何 LLM 调用因此输出可复现、无随机性、零 Token 成本技能本身SKILL.md只负责何时用、怎么用的策略判断通过 frontmatter 中的triggers自动响应share this page、publish page、create shareable link等自然语言指令并声明依赖get_page与search两个工具、mutating: false发布动作不修改脑库。这种薄编排、厚代码的设计理念意味着Agent 只需识别意图复杂的脱敏与加密逻辑交给经过测试验证的确定性代码避免每次分享时由 LLM 临场发挥带来隐私泄露风险。何时触发发布技能明确的触发场景包括用户请求分享某个脑页、生成可分享链接或直接说 give me a page需要把交易备忘录deal memo、人物简报person briefing、研究报告发给外部人员需要发布尽调分析data room analysis或行程计划trip plan任何脑内容需要离开脑库但不能暴露整个系统的场合。核心判断标准只有一个内容要离开脑库。凡是输出给外部、且不希望携带内部元数据的场景都应该走publish通道而不是手工复制 Markdown。铁律默认永远加密SKILL.md将默认加密列为契约与反模式双重强调项Brain content is private. Default to password-protected unless the user explicitly says open, no password, or public.用户未指定密码时自动生成一个随机密码密码与分享链接必须走不同渠道传达如链接发邮件、密码发短信避免同信道泄露只有用户明确说出 open、no password、public 才允许输出明文 HTML。快速参考核心命令以下命令均来自SKILL.md的 Quick Reference且与 src/commands/publish.ts 中runPublish的参数解析逻辑一一对应# 基础发布输出本地 HTML 文件不加密 gbrain publish brain/companies/acme.md # 密码保护自动生成密码 gbrain publish brain/companies/acme.md --password # 密码保护指定密码 gbrain publish brain/companies/acme.md --password secret123 # 自定义标题 gbrain publish brain/companies/acme.md --password --title Acme -- Deal Analysis # 自定义输出路径 gbrain publish brain/companies/acme.md --out /tmp/acme-share.html参数行为说明源自runPublish源码解析逻辑 src/commands/publish.ts参数含义默认值page-path输入脑页 Markdown 路径首个非--开头的参数必填--password启用加密后接非--参数时作为指定密码未指定时自动生成 16 位随机密码--title ...覆盖 HTML 标题缺省时取 Markdown 第一个 H1extractTitle--out path输出文件路径输入文件名.htmlbasename(inputPath, .md) .html注意--out目录不存在时会通过mkdirSync(dirname(outPath), { recursive: true })自动递归创建缺少输入参数时命令会打印完整 Usage 并以退出码 1 结束。发布时剥离什么隐私脱敏白名单SKILL.md给出的脱敏清单在源码中由makeShareable()函数逐条实现src/commands/publish.ts剥离项示例原因对应实现正则YAML frontmattertitle:、type:、tags:内部元数据^---[\s\S]*?---\n*[Source: ...]引用所有格式来源溯源属内部信息\s*\[Source:[^\]]*\]确认编号ABC123DEF→ on filePII/预订数据\*\*Confirmation:\*\*\s*[A-Z0-9]{6,}等三种格式脑内交叉链接Jane→Jane内部路径\[([^\]])\]\(\.[^)]*\/[^)]\)保留显示文本Timeline 章节---与## Timeline之下的全部内容原始证据日志\n---\n\n## Timeline[\s\S]*$See also 行内部引用导航脑库导航信息^-?\s*See also:.*$多行模式保留项外部 URLhttps://...形如https://example.com的链接不受影响以及其他所有正文内容。处理结束后还会把连续 3 行以上的空行折叠为最多 2 行\n{3,}→\n\n并trim()掉首尾空白。以上每一条脱敏规则都有对应的测试用例背书见 test/publish.test.ts例如strips YAML frontmatter验证title: Secret与type: person被移除、Jane is CTO [Source: Crustdata enrichment, 2026-04-01] of Acme.被净化成Jane is CTO of Acme.、Works with Jane Doe at Acme.变成Works with Jane Doe at Acme.同时preserves external URLs确认https://example.com/blog被完整保留。测试还覆盖了.raw/相对链接脑内原始数据目录的剥离与空输入、纯 frontmatter 输入等边界情况。四种分享工作流方案 A本地文件最简gbrain publish brain/people/jane-doe.md --password --out ~/Desktop/jane-briefing.html生成单文件 HTML 后通过邮件、Slack、Airdrop 分享密码另行单独发送。这是最直接、无任何外部依赖的路径。方案 B上传云存储Supabase Storage# 先本地发布 gbrain publish brain/companies/acme.md --password secret --out /tmp/acme.html # 上传到 Supabase Storage gbrain files upload /tmp/acme.html --page shares/acme # 获取签名 URL1 小时过期 gbrain files signed-url shares/acme/acme.htmlgbrain files upload与gbrain files signed-url由 src/commands/files.ts 实现upload子命令src/commands/files.ts 的分发入口实现于 uploadFile会先校验存储后端存在requireStorageBackend(upload)再按内容哈希去重已上传且哈希一致时提示File already uploaded (hash match)最后调用storage.upload写入对象signed-url子命令signedUrl则为存储中的对象生成带 1 小时有效期的访问链接。分享时把签名 URL 与密码分渠道送达URL 过期后可随时重新生成。方案 C静态托管Render、Netlify、S3把生成的 HTML 文件直接上传到任意静态托管服务即可。由于文件完全自包含、无服务器逻辑密码保护页面通过浏览器内置的Web Crypto API在纯客户端完成解密托管方永远接触不到明文。方案 DGitHub Pages / Gistgbrain publish brain/trips/japan-2026.md --out trip.html # 上传到 GitHub Gist 或 Pages 仓库适合一次性分享如行程单不需要独立服务器或云存储账号。密码保护机制从加密到解密的完整链路SKILL.md声明的加密参数与 src/commands/publish.ts 的encryptContent()完全一致项目值说明算法AES-256-GCM带认证标签auth tag的认证加密密钥派生PBKDF2100,000 次迭代SHA-256抗暴力破解盐Salt每次加密随机 16 字节相同密码产生不同密文IV每次加密随机 12 字节与 salt 一样随机化解密客户端 Web Crypto APISubtleCrypto无需服务端鉴权记住本机localStorage按location.pathname为键存储加密端Node.js发布时执行const salt randomBytes(16); const iv randomBytes(12); const key pbkdf2Sync(password, salt, 100_000, 32, sha256); const cipher createCipheriv(aes-256-gcm, key, iv); // ... ciphertext 16 字节 authTag三者 base64 编码后写入 HTML加密后的 HTML 中只含window.__SALT、window.__IV、window.__CT三段 base64 密文数据明文不出现于文件任何位置。解密端浏览器打开文件时执行内嵌的DECRYPT_JSsrc/commands/publish.ts执行完全对称的逆过程crypto.subtle.importKey(raw, password, PBKDF2, ...)→deriveKey({ name: PBKDF2, salt, iterations: 100000, hash: SHA-256 }, ...)→crypto.subtle.decrypt({ name: AES-GCM, iv }, key, combined)。密钥派生参数100K 迭代、SHA-256与加密端严格一致这是两端能够互解的前提。错误密码会触发错误提示与卡片抖动动画勾选 Remember on this device 后密码按页面路径名存入localStorage下次打开自动解锁。自带安全防护内联 marked.js发布时把 marked 的 UMD 构建直接读入并写入 HTMLMARKED_JS见 src/commands/publish.ts保证产物零 CDN 依赖、完全离线可用测试inlines marked.js (no CDN dependency)专门断言产物不含cdn.jsdelivr.netXSS 消毒sanitizeHtml()src/commands/publish.ts在marked.parse渲染后移除script/iframe/object/embed/form标签并清除所有on*事件属性与javascript:协议属性防止脑页中内嵌的恶意 HTML 在分享文件中执行标题转义escapeHtml()src/commands/publish.ts对标题做 HTML 实体转义测试escapes HTML in title验证script被转为lt;scriptgt;深色模式内置prefers-color-scheme: dark响应式 CSS 变量主题测试同样覆盖密码字符集generatePassword()src/commands/publish.ts默认生成 16 位密码字符集刻意剔除易混淆字符0 O l 1 I测试excludes ambiguous characters断言且每次调用基于randomBytes保证唯一性测试generates unique passwords验证 20 个密码无一重复。更新已发布页面重新执行发布命令并指向同一输出路径即可gbrain publish brain/companies/acme.md --password same-password --out shares/acme.html同一文件、同一 URL若已托管内容自动更新。需要提醒的是必须沿用原密码否则接收方手中的旧密码将无法解开新文件。吊销访问权限本地文件直接删除文件签名 URL1 小时后自动过期无需手动吊销静态托管从托管平台移除该文件。由于整份 HTML 自带解密逻辑、不依赖任何服务端鉴权删除文件/撤销 URL是唯一的吊销手段——这也意味着文件一旦流出本质上无法远程作废因此更应在发布前依赖脱敏层把内部数据彻底剥离。反模式清单SKILL.md明确列出了四类应当避免的用法不加密就发布——脑内容默认私有除非用户明确说 open、no password、public同一渠道分享密码与 URL——必须分渠道传达防止被同一窃听方同时截获向用户塞原始 Markdown——gbrain publish能产出精美 HTML不要用复制粘贴 Markdown 替代手动传播含内部元数据的内容——凡带 frontmatter、Source 引用或 Timeline 章节的内容都不得手工外发一律交给 publish 命令脱敏。输出格式约定发布成功后CLI 会输出结构化结果摘要SKILL.md给出的格式如下PUBLISHED: [page title] File: [output path] Encrypted: [yes (AES-256-GCM) / no] Password: [auto-generated password / user-provided / none] Size: [file size] Share the file via: [email / Slack / Airdrop / cloud upload] Share the password via: [a different channel]实际运行时控制台还会额外输出Published: outPath与加密状态说明(password protected, AES-256-GCM encrypted)或(no password, content in cleartext)见 src/commands/publish.ts使用--password且未显式给定时自动生成的密码会打印在控制台中供 Agent 转达给用户。源码导览如需深入实现细节建议按以下顺序阅读plugin/skills/publish/SKILL.md —— 技能策略层触发条件、契约、工作流与反模式src/commands/publish.ts —— 实现层makeShareable脱敏、encryptContent/generatePassword加密、generateHtmlHTML 生成与 XSS 消毒、runPublishCLI 入口test/publish.test.ts —— 测试层脱敏规则、标题提取、加密随机性、密码字符集、HTML 生成的完整断言矩阵src/commands/files.ts —— 分享配套files upload与files signed-url的云存储链路。整套设计的关键收益在于隐私脱敏与加密不是靠模型临场发挥而是由确定性代码 测试矩阵保证的工程能力Agent 只需判断何时发布、是否加密、走哪种渠道即可安全地把脑内价值输出到墙外。【免费下载链接】gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain项目地址: https://gitcode.com/gh_mirrors/gb/gbrain创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/20 13:05:40

高项论文写作:如何避免雷区并打造差异化内容

1. 高项论文写作的现状与痛点每次看到考生们拿着千篇一律的论文模板来咨询修改意见,我都忍不住想提醒:评审专家每年要看上千份论文,那些老掉牙的案例和套路化的表达,早就让他们审美疲劳了。去年有位考生用了某培训机构的"万能…

2026/9/20 13:05:40

大学邮箱第三方客户端配置与安全指南

1. 大学邮箱第三方客户端配置全指南作为使用大学邮箱多年的老用户,我深知通过手机客户端实时查收学校通知和学术邮件的必要性。但很多同学在配置第三方客户端时总会遇到各种问题,今天我就把完整的配置流程和避坑要点整理出来。大学邮箱系统通常基于Corem…

2026/9/20 13:35:45

当心陷阱!不是所有 AI 写作工具都靠谱,2026 导师认可工具全览

每年毕业季,无数同学深陷论文难题:开题毫无思路、搭建框架耗费数日、初稿逻辑松散、查重标红泛滥、AI检测超标、格式反复被导师驳回。现如今市面上通用型AI工具遍地开花,但绝大多数通用大模型存在编造虚假参考文献、学术语句口语化、AI生成痕…

2026/9/20 13:35:45

合肥桑夏太阳能维修预约电话|附近师傅上门检修|欧米到家报修热线

太阳能热水器使用时间长了,容易出现不上水、水箱水位不准、水温升不上去、热水出得少、上水不停、仪表不显示、控制器报警、管道漏水、冬季冻堵、电加热不能使用等情况。尤其是合肥气候湿润、四季分明,多雨潮湿且冬季低温湿冷,部分家庭太阳能…

2026/9/20 13:35:45

2026 AI编程Coding Plan横评:GLM、Kimi、MiMo怎么选?

2026年年中的时候,AI编程基本已经从“要不要用”变成了“用哪家、怎么订”的阶段。我身边的团队里,现在讨论最多的已经不是某个模型刷分多高,而是GLM、Kimi、MiMo这几家的Coding Plan到底该订哪个、订完怎么接入自己的编辑器、高峰期到底卡不…

2026/9/20 13:30:45

抖音无水印批量下载:3 种任务的完整操作指南

抖音无水印批量下载:3 种任务的完整操作指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/20 5:09:33

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码