variance-commentary – 财务差异分析评述 Skill

3周前更新 8 0 0 0

variance-commentary 是用于生成财务差异分析说明的 Skill,帮助 AI Agent 对比实际值与预算或预测值,解释关键差异成因并输出管理层可读的评论,适合月度结账、预算复盘等财务报告场景。

Skill 安装

多 Agent 安装
npx skills add https://github.com/anthropics/financial-services --skill variance-commentary

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

anthropics/financial-services#variance-commentary 是 Anthropic 官方 financial-services 技能集合中的一个 Skill,名称可以识别为 variance-commentary。从名称和其隶属的金融技能集合来看,它的核心用途是围绕「差异分析」(variance analysis)生成解释性文字,也就是我们常说的「差异说明」或「波动归因」——把实际数与预算数、上期数、预测数之间的偏差,转化为一段可以直接被人阅读、审阅或放进报告的说明文字。

它不是一个独立运行的财务软件,也不是一个能自动取数、自动结账的报表系统。它本身属于指令集 / 工作流型 Skill:通过一段经过设计的提示词和流程规范,约束 AI Agent 在收到财务数据后,按照专业口径输出差异说明。

核心用途

  • 把「收入超预算 8%」「费用低于预算 12%」这类数字事实,扩写成有业务解释的段落。
  • 按管理层、董事会或审计关心的口径组织语言,而不是简单复述数字。
  • 将差异拆解为价格、数量、结构、一次性项目、汇率、时间性差异等常见驱动因素。
  • 保持多期、多科目写法一致,方便横向比较。

它主要解决什么问题

财务和管理报告里的差异说明,通常写起来重复、耗时,且口径因人而异。这个 Skill 的目标是让 Agent 按固定方法输出结构稳定、语言专业、重点突出的差异说明,减少重复劳动。

安装后 Agent 增加的能力

  • 理解「实际 vs 预算 / 上期 / 预测」的差异分析语境。
  • 按照该 Skill 的写法规范,生成差异说明文本。
  • 在不确定口径时,围绕缺失信息向用户追问,而不是凭空编造原因。

典型任务

  • 月度 / 季度管理报表的损益差异说明。
  • 预算执行分析中的收入、成本、费用偏差解释。
  • 部门或业务线维度的波动归因。
  • 把一张差异表转换成可直接放入汇报材料的文字段落。

适合的用户

  • FP&A、财务分析、管理会计从业者。
  • 需要反复撰写差异说明、月结说明的财务团队。
  • 希望把差异解释流程固定化的团队。

不适合的需求

  • 需要从 ERP、数据库自动取数的场景 —— 这属于数据连接能力,不在本 Skill 职责内。
  • 需要生成完整三大报表、合并报表。
  • 需要审计意见、法定披露文件。

关于该 Skill 的 SKILL.md 具体内容、支持的具体科目口径、是否内置示例模板等细节,以 Anthropic 官方仓库当前说明为准;本文不逐句翻译其原文。

Skill 安全评估

总体判断:这是一个以文本生成 / 写作规范为主的 Skill,来源于 Anthropic 官方 financial-services 仓库。它的风险不在「它会破坏什么」,而在于它被接入的 Agent 上下文里可能包含未公开的财务数据。

来源可信度

  • 来自 Anthropic 官方组织仓库,比第三方个人发布的同名 Skill 更可追溯。
  • 仍建议核对它是否来自官方主分支,而不是 fork 或镜像。

可能涉及的行为

  • 文件读取:如果你的 Agent 被授权读取本地表格、CSV、Excel 或报表文件,并把内容作为差异数据输入,那么 Skill 会「看到」这些数据。
  • 网络访问:Skill 本身是文本规范,通常不需要联网。但运行它的 Agent 若开启了联网,数据可能随会话一起被处理,取决于 Agent 的配置。
  • 文件写入:生成差异说明后,Agent 可能被要求把结果写回文件;写权限由 Agent 控制,而非 Skill 本身。
  • 不涉及:从公开资料看,本 Skill 不包含 Shell 自动化、凭证抓取、OAuth 授权、浏览器控制等高风险行为。

主要风险点

  1. 敏感财务数据外泄:差异说明通常涉及未公开的收入、成本、毛利结构。把这类数据交给云端 Agent 之前,请确认贵司的数据合规政策。
  2. Prompt 注入:如果差异数据来自不受控来源(例如某供应商发来的表格),单元格里可能藏有指令;接入 Agent 时应保持警惕。
  3. 幻觉归因:AI 可能在缺少业务背景时「编出」看起来合理的原因。差异说明最终必须由财务人员复核。

可降低风险的实操建议

  • 只用脱敏或聚合后的数字进行首次测试。
  • 如果 Agent 支持,关闭其自动执行 Shell / 自动写文件权限,改为「只生成文本、由你手动复制」。
  • 对生成结果强制人工复核,尤其在对外披露或进入正式报表前。

本 Skill 未提供完全规避数据风险的能力,是否合规使用取决于你的部署方式和数据处理政策。

Skill 使用要求

一、Agent / 客户端

本 Skill 属于 Anthropic 官方 Skills 体系,与其自家的 Claude Code 高度适配,可以优先在 Claude Code 中使用。

官方没有提供完整的第三方 Agent 兼容列表。从 Agent Skill 的工作方式看,在支持 Skills、自定义 Skill 或类似指令加载机制的环境中,通常也可以尝试在 Codex、Cursor、Trae、OpenClaw、WorkBuddy 等主流 AI Agent 中使用。不同 Agent 的 Skill 加载方式与兼容程度可能不同,具体以对应 Agent 当前版本为准。

二、运行环境 / 依赖

项目 要求
Agent Claude Code 优先;其他支持自定义 Skill 的 Agent 可尝试
Node.js / Python 本 Skill 为文本规范型,通常不需要额外运行时
网络 Skill 本身不依赖联网;若 Agent 需联网获取模型或读取远端文件,则以 Agent 配置为准
其他 CLI 无官方明确要求

官方如未列明版本要求,请勿自行假定具体版本。

三、权限

  • 文件读取:可选。用于把差异数据(表格、CSV、报表片段)交给 Agent。
  • 文件写入:可选。用于把生成的差异说明保存下来。
  • Shell:不需要。
  • 网络:不需要(Skill 本身)。
  • 浏览器 / Docker / GitHub 授权:不需要。

四、账号 / API Key

Skill 本身不需要单独的账号或 API Key。是否需要凭证,完全取决于你使用它的方式:

  • 若通过 Claude Code 使用,则以 Claude Code 自身的账号 / 额度为准。
  • 若你让 Agent 从某个财务系统、数据库或云端网盘读取数据,那部分连接所需的凭证由对应服务提供,与本 Skill 无关。

最小使用条件

  1. 一个可加载 Skill 的 AI Agent(推荐 Claude Code)。
  2. 你准备好差异数据(实际 / 预算 / 上期即可)。
  3. 能人工复核生成结果。

Skill 安装、使用与卸载教程

一、安装

可以直接复制本页面提供的 Skill 安装指令,粘贴到对应 Agent 或终端中执行。

如果你不确定自己的 Agent 如何安装该 Skill,可以直接向当前 Agent 提问,让它根据自己的 Skill 加载机制给出步骤:

如何安装 anthropics/financial-services#variance-commentary?

如何在 Claude Code 中安装 anthropics/financial-services#variance-commentary?

如何在 Codex 中安装 anthropics/financial-services#variance-commentary?

如何在 Cursor 中安装 anthropics/financial-services#variance-commentary?

不同 Agent 的安装目录和 Skill 管理方式不同,让 Agent 自己读取当前环境再给步骤,通常比套用统一命令更稳妥。

二、安装后如何使用

安装完成后,通常不需要特殊唤醒词。你只要在任务中明确要求「对这段差异做说明 / 写差异分析」,Agent 就会按该 Skill 的规范来处理。适合交给它的任务:

  • 已有一张差异数据表,需要写成文字段落。
  • 需要多期、多科目写法保持一致。
  • 需要把数字翻译成业务解释。

自然语言使用示例:

使用 variance-commentary,把下面这张收入差异表写成分月管理报表用的差异说明。

使用 variance-commentary,帮我解释本季度销售费用低于预算 12% 的主要原因,语气面向管理层。

使用 variance-commentary,把上个月的成本偏差整理成三条要点,每条不超过两句话。

向 Agent 描述需求时,建议同时给出:口径(实际 vs 预算、实际 vs 上期)、期间、金额单位,以及你能提供的业务背景。信息越完整,输出的归因越可靠。

三、卸载

最稳妥的方式是使用对应 Agent 或 Skill 管理器提供的删除方式,移除对应的 Skill 文件或条目。

如果你不确定位置,可以直接问当前 Agent:

如何卸载 anthropics/financial-services#variance-commentary?

不同 Agent 的 Skill 安装位置和管理方式可能不同;如果没有统一卸载命令,让当前 Agent 帮你定位并移除通常更可靠。

常见问题

1. 这个 Skill 能自动从我的 ERP 取数吗?

不能。它负责的是「把差异数据写成说明文字」,取数需要由你的 Agent 或数据连接能力完成,两者是分开的。

2. 生成的差异说明能直接对外披露吗?

不建议直接用。它更适合做初稿和内部报告。对外披露前应经过财务复核,因为 AI 可能在缺少业务背景时给出错误归因。

3. 可以同时装到多个 Agent 里吗?

通常可以。Skill 一般是按 Agent 各自管理的,你可以分别安装到 Claude Code、Cursor 等环境中;各环境的版本和加载方式相互独立。

4. 安装后 Agent 没识别到 Skill,怎么办?

先确认 Skill 放在了该 Agent 要求的目录或注册位置,然后重启会话。不同 Agent 对 Skill 的扫描时机不同,直接问当前 Agent「为什么没有加载这个 Skill」也往往更快定位。

5. 中国大陆使用有网络要求吗?

Skill 本身不需要联网。但如果你的 Agent 运行在境外模型服务上,则访问模型本身可能有网络要求,这取决于你的 Agent 配置,与本 Skill 无关。

6. 它会修改我已有的表格或项目文件吗?

Skill 本身不会。是否写回文件由 Agent 的权限决定。如果你只想让它输出文本,可以关闭 Agent 的自动写文件权限,手动复制结果即可。

7. 更新 Skill 后需要重装吗?

取决于安装方式。若是随仓库一起拉取,更新仓库即可;若是手动复制的文件,需要重新复制。具体以你的 Agent 或 Skill 管理方式为准。

Skill 更新日志

版本列表
无版本号
删除 claude-for-financial-advisors 目录 (#354) 删除 anthropics/financial-services 中的 financial advisors 目录
无版本号
build-manifest:将凭据放入 URL 片段,而非查询字符串 (#356) * build-manifest:将凭据放入 URL 片段,而非查询字符串 Claude for Office 从 URL 片段读取 manifest 设置;查询字符串凭据在那里已被弃用,并将从 2026-10-19 起被忽略 (anthropics/office-agent#2857)。片段不会在 HTTP 请求中发送。 Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin * manifest 文档:精简片段说明 Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin * build-manifest:将 FRAGMENT_KEYS 重命名为 SENSITIVE_KEYS Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin --------- Co-authored-by: Claude
无版本号
access_policies:记录并验证 file_path 标识符 (#352) 管理员现在可以编写匹配打开文档路径的加载项访问规则,适用于无法携带敏感度标签的文件(例如网络共享上的文件)。 - access-policies.md:一个路径示例、语法和运算符条目,以及一条涵盖路径比较方式及其限制的规则。 - build-manifest.mjs:接受 file_path 配合 equals | startsWith,并在其用于 uploaded_file 时发出警告,因为在那里它永远无法匹配。
无版本号
移除 claude-for-financial-advisors 市场条目 (#351) 插件目录保留;仅移除市场列表以避免重复列出。
无版本号
推出 Claude for Financial Advisors (#350) 添加 Claude for Financial Advisors 插件
无版本号
移除 wealth-management 插件 (#349)
无版本号
claude-for-msft-365-install:记录 web_search disabled_features slug (#329) docs:记录 web_search disabled_features slug (0.1.11) 该加载项现在在 disabled_features 中强制执行 web_search:它会移除 原生 web_search/web_fetch 服务器工具和用户开关,保留代码 执行不变。将其添加到强制 slug 表中,并附上配对 指南(mcp_servers 用于网络内替代搜索工具),同时添加到 构建脚本的提示中。
无版本号
manifest:识别 available_models 配置键 (#311) * manifest:识别 available_models 配置键 将 available_models 添加到 KEYS 验证器(逗号分隔的 id 或 JSON id 数组 / {id,label} 对象,与加载项的解析器保持一致),并在 manifest.md 和 bootstrap.md 中记录。替换 #294 中已弃用的 disabled_models/additional_models 组合:available_models 是 单一覆盖列表,因此管理员声明完整选择器,而不是差异。 No-Verification-Needed:直接针对有效和无效输入运行了 build-manifest.mjs * 将 claude-for-msft-365-install 升级到 0.1.9 No-Verification-Needed:仅版本升级
无版本号
fix:更新关于 Foundry 的文档 (#323)
无版本号
manifest:添加 access_policies 键和引导式 access-policies 命令 (#307) * manifest:添加 access_policies 键和引导式 access-policies 命令文档 添加 access_policies 配置键——一个由 allow/deny 语句组成的 JSON 数组,取代 disabled_features,并可按 Purview 敏感度标签将规则限定到 文档。构建脚本识别 该键(对 JSON 数组进行仅警告的形状检查),manifest.md 将其与 disabled_features 一并记录, 并且新增的 access-policies 命令会引导 管理员完成获取标签 GUID、选择语句,以及在发布前需要解释的 匹配规则。 * 验证 access_policies 语句结构;记录语法和 slug 构建脚本现在解析 access_policies,并对每条未通过 语法的语句发出警告——错误的 effect、未知的 resource 或 identifier 类型、 identifier 类型不支持的运算符(GUID 仅接受 equals | exists)、空的 identifiers 数组、空白的 action slug。这些 是加载项会静默丢弃的形状,因此构建是唯一能捕获 它们的地方;无法解析的值是致命错误。 文档:向 access-policies.md 添加语句语法参考和完整 feature-slug 列表, 将 manifest.md 中的 disabled_features 表与 全部四个 slug 同步,向 bootstrap.md 添加缺失的 access_policies 字段, 并修复父标签前缀示例以包含 " - " 分隔符。
无版本号
添加只读加载项数据导出;加固缓存清理脚本 (#302) * 添加只读加载项数据导出;加固缓存清理脚本 聊天历史、技能、MCP 注册和记忆仅存在于用户机器上的浏览器 存储中。添加 export-addin-data.{sh,ps1} 以在重建前复制它们, 并修复位于它们旁边的缓存清理脚本。 clear-addin-cache.sh 以区分大小写的方式匹配加载项 ID,但 Office 会以 manifest 携带的任何大小写命名 wef 文件。小写 GUID 会报告 "already clear" 并以 0 退出,将管理员引向会销毁 Windows 上聊天历史的 全文件夹清除。改为不区分大小写匹配,并让未命中打印 NOT cleared 并在两个平台上以非零退出。 clear-addin-cache.ps1 在 Windows PowerShell 5.1 上从未能解析:无 BOM 的 .ps1 中的长破折号被解码为 ANSI,变成包含引号的乱码,从而 在文件中间终止字符串。所有 .ps1 文件现在都是纯 ASCII,并且 check.py 拒绝没有 UTF-8 BOM 的 .ps1 中的非 ASCII 字节。 另外: - export:从 WebKit 的二进制 origin 文件中解析端口。丢弃它会使 同一主机上的两个 origin 在一个导出文件夹中冲突,静默 覆盖第一个。 - export:包含 localStorage,其中保存设置、推理配置, 以及 onboarding/terms 标志。 - export:在给定 --out 时却未导出任何内容现在以非零退出,因此 "先导出再清除" 不能将空备份视为成功。 - export:数据库复制失败不再中止运行;包含 撇号的路径可以正常工作。 - export.ps1:在 Copy-Item -Recurse 之前清空目标,否则重新运行时 会嵌套而不是刷新;为名称压缩已隐藏的存储添加 -IncludeAll; 先扫描未压缩的 LevelDB 文件。 - clear.ps1:要求 -Id 为 GUID,因为 Remove-Item -Path 会展开通配符; 为 Remove-ItemProperty 转义值名称。 - clear.sh:也扫描 Outlook,并保护接受值的标志。 - 记录为什么替换或重新安装 manifest 永远不会移动数据。 已在 macOS 上针对实时加载项数据验证,并在 Windows 主机上针对 Windows PowerShell 5.1 验证。 * 将 Windows localStorage 导出为整个按配置文件存储 localStorage 保存设置、推理/客户配置,以及 onboarding + terms-accepted 标志——这些都不在 IndexedDB 中——因此没有它的导出 会让重建后的机器重新进行 onboarding。 Chromium 为每个配置文件保留一个由每个 origin 共享的 LevelDB,因此无法 过滤到单个加载项。整体复制而不是丢弃它,每个 Office 账户一次,放在该账户的 origin 文件夹旁边。因此它 也包含其他 origin 的设置:每次运行都会打印大小,包括无参数 预览,帮助文本明确说明这一点,并且如果数据政策禁止,可以直接从导出中删除该文件夹。 - 复制到临时名称并仅在成功时替换。先删除目标 意味着被锁定的 LOCK 文件(Office 仍在运行)会使导出既没有新副本 也没有之前的良好副本。失败现在会被计数并 报告为 INCOMPLETE 且以非零退出,与 macOS 脚本一致。 - 基于唯一配置文件列表驱动复制,而不是按存储循环,这样 唯一存储的 origin 名称解析失败的配置文件仍会保留其设置。 - 在列表模式下也报告,与 macOS 一致——无参数运行 被宣传为打印其发现的内容。 - .SYNOPSIS/.DESCRIPTION 不再声称只复制 Claude 的数据。 - 更正 export-data 文档:导出树为可读性重新标记, 不是路径镜像,因此无法逐字复制回去。 已在 Windows 主机上针对 Windows PowerShell 5.1 验证:每个 配置文件复制一次,重新运行时扁平,存在真实 LevelDB 内容,在列表模式下披露 而不写入任何内容。
无版本号
manifest:添加 gateway_auth_source=entra;新增 entra-app.md 注册文档 (#281) * manifest:添加 gateway_auth_source=entra 参数 + Entra 应用注册文档(含 GCC High) - build-manifest.mjs:识别 gateway_auth_source;要求 entra_scope(→ graph_client_id, entra_sso=1);如果与 gateway_token 配对则警告;删除过时的 'graph_client_id is Outlook-only' 说明 - manifest.md:新增 'Use the Entra token as your gateway credential' 部分,包含整合的 Entra 应用注册清单(SPA 重定向 URI、Expose an API、管理员同意、v2 令牌、网关侧验证)以及 GCC High/DoD 子部分(portal.azure.us、.us issuer/JWKS) * manifest.md:列出两个 NAA 重定向 URI(brk-multihub + https 回退) 清单只列出了 https://.../msal-redirect.html SPA 回退。桌面 Office 和 Outlook web 使用 NAA broker,它要求将 brk-multihub://pivot.claude.ai 注册为 SPA——没有它登录会失败并出现 AADSTS50011。两者都需要:brk-multihub 用于 NAA,https 用于未注入 NAA 桥接的 Excel/Word/PPT Office-Web 回退。还将之前的 'Bring your own Entra app' 说明指向清单,而不是(不完整地)重复。 * 将 Entra 应用注册拆分到 commands/entra-app.md manifest.md 现在记录参数的作用;entra-app.md 记录如何注册应用(重定向 URI、按用例的权限表、管理员同意、令牌版本、后端验证、GCC-High/DoD、故障排除)。从每个需要你自己应用的 manifest.md 部分链接:graph_client_id、entra_scope、gateway_auth_source、sovereign clouds。
无版本号
添加主权/国家云(GCC-High、DoD、21Vianet)文档和 graph_cloud 验证 (#268) * docs(claude-for-msft-365-install):通过 graph_cloud 枚举支持主权云 Outlook 加载项现在通过单个 graph_cloud manifest 参数(global | us-gov-high | us-gov-dod | china)支持 GCC-High、DoD 和 21Vianet 租户,该参数映射到固定的 Graph + Entra 端点对——无需管理员提供 URL。让安装插件了解它: - commands/manifest.md:按租户的 graph_cloud 表;DoD 必须始终设置它 (与 GCC High 共享 authority host);非全球云需要自带 graph_client_id;该枚举还管理 Word/Excel/PowerPoint Entra SSO。 - scripts/build-manifest.mjs:注册 graph_cloud 并在 无法识别的值或没有 graph_client_id 的非全球云上硬失败, 与加载项的加载时检查保持一致,以便管理员在构建 时看到错误,而不是部署后出现 AADSTS 代码。参数构建提取 到导出的 buildParams() 以便测试。 - scripts/build-manifest.test.mjs:node:test 套件——默认查询字符串 不变,接受所有枚举值,拒绝错误值和已移除的 URL 参数。 - .github/workflows/plugin-validate.yml:在每个 PR 上运行测试套件。 * 删除 manifest 脚本测试——graph_cloud 验证是两个内联检查
无版本号
将 Box 添加到 MCP 集成 (#187) * 将 Box 添加到 MCP 集成 * 将 Box 添加到 mcp.json
无版本号
为所有市场插件条目添加 displayName (#247) * 为所有市场插件条目添加 displayName * 将固定的 Claude Code CLI 升级到 2.1.143 以支持市场 displayName
无版本号
在托管代理部署上标记 metadata.anthropic_cookbook (#245)
无版本号
fix(plugins):添加 SKILL.md frontmatter,修复 hooks.json,去重 spglobal MCP (#243) 市场加载器在同步时拒绝了 20 个插件中的 9 个: - 29 个 vertical-plugin SKILL.md 源没有 YAML frontmatter—— 技能名称/描述作为裸 `description:` 行位于正文中, 在 `# Title` H1 之后。合成了正确的 `--- name/description ---` frontmatter(name = 技能目录,description = 现有正文文本), 与可加载的技能匹配(例如 fund-admin/accrual-schedule)。代理 包通过 scripts/sync-agent-skills.py 重新同步(12 份副本)。 - 4 个 hooks/hooks.json 是 `[]`;加载器要求 JSON 对象。 改为 `{ "hooks": {} }`——investment-banking 已经 使用且同步干净的格式。 - partner-built/spglobal 在 plugin.json 内联和 .mcp.json 中都定义了 `spglobal` MCP 服务器(相同)。删除内联副本; .mcp.json 是规范位置。 scripts/check.py:OK——80 个文件,0 个问题。 Co-authored-by: Jake Marsh
无版本号
fix(ci):plugin-validate 缓存修复 + msft-365 README 更新 (#239) * fix(ci):缓存 claude 二进制目录,而不仅仅是悬空符号链接 ~/.local/bin/claude 是指向 ~/.local/share/claude/versions/ 的符号链接。 仅缓存符号链接会在缓存命中时恢复一个悬空链接,因此 `claude` 失败并退出 127。也缓存版本化目录并提升 缓存键(-v2)以丢弃损坏的已保存条目。 * docs(claude-for-msft-365-install):添加 update + bootstrap 部分、调试命令行
无版本号
fix(plugins):修复损坏的 hooks.json + 添加 plugin-validate CI (#232) fix(plugins):hooks.json 必须是 {"hooks": {}} 而不是 [];添加 plugin-validate CI private-equity、financial-analysis、 equity-research 和 wealth-management 中的空数组 hooks.json 导致这些插件 加载失败("Hook load failed: expected object, received array")。在全部四个中将 [] 替换为 最小有效的 {"hooks": {}} 对象。 添加 plugin-validate 工作流,在每次 PR 和 push 时对市场 manifest 和每个插件运行官方 `claude plugin validate`,以便格式错误的 manifest 在 CI 中失败,而不是到达用户。CLI 从官方二进制渠道安装并缓存,以 固定版本为键,因此热缓存会完全跳过下载。
无版本号
feat(repo):插件版本升级钩子 + CI 兜底;claude-in-office Wef 侧载调试 (#208) * feat(repo):插件版本升级钩子 + CI 兜底,修复安装文档/远程 * docs(claude-in-office):添加 Wef 注册表 + wef-folder 侧载(Windows + macOS)用于本地调试 * ci:使用 actions/checkout@v4 而不是固定 SHA * docs(claude-in-office):将侧载清理限定到特定 manifest,而不是 wef 文件夹 * docs(claude-in-office):将缓存清理限定到带保护的 wef 内容,而不是 rm -rf caches/wef 目录 * docs(claude-in-office):按加载项 Id 定位缓存清理,保持 wef 中的其他加载项不受影响 * feat(claude-in-office):添加 clear-addin-cache 脚本(mac/win),按 ID 定位,默认 dry-run * fix(claude-in-office):Windows 侧载清理基于注册表,ID 优先;直接编辑(不使用 office-addin-dev-settings);记录已部署缓存注意事项 * docs(claude-in-office):澄清按 ID 精准删除本地/侧载 manifest 是安全的;MS 警告仅适用于已部署缓存 * feat(claude-in-office):添加 sideload-addin 脚本(mac/win),由 ID 派生,默认 dry-run;debug.md 指向脚本对 * feat(claude-in-office):侧载直接安装(去掉 dry-run);dry-run 仅保留在破坏性的 clear-addin-cache 上 * docs(claude-in-office):将清除后重启应用设为明确步骤,而不是埋没的一行
无版本号
docs(claude-in-office):澄清 entra_scope——多 scope 支持,更宽松的验证 (#195) 加载项现在接受 entra_scope 为逗号/空白分隔的列表,并且 不再要求 URI 形状的值(Entra 验证 scope 语法,而不是 构建脚本)。更新文档和 build-manifest 验证以匹配: - build-manifest.mjs:entra_scope 模式放宽为任何非空白字符串; graph_client_id 配对检查不变。 - manifest.md:记录多 scope 列表语法和同资源 约束;澄清构建脚本强制执行配对,而不是格式。 - bootstrap.md:注明 scp 是空格分隔的列表,可包含多个 scope。 - debug.md:添加 Silent SSO / Entra 令牌失败故障排除部分 (AADSTS50194、entra_scope-without-graph_client_id、silent-then-popup)。
无版本号
feat(claude-in-office):添加 disabled_features manifest 参数 (#154)
无版本号
docs(claude-in-office):记录 allow_1p manifest 参数 (#153) * docs(claude-in-office):记录 allow_1p manifest 参数 * chore(claude-in-office):将插件版本升级到 0.1.1
无版本号
feat(claude-in-office):Outlook manifest 支持 (#127) build-manifest.mjs 现在接受 host 参数(office | outlook)。 outlook host 获取 manifest-outlook-3p.xml,它使用 Microsoft 的 MailApp schema,无法与 Excel/Word/PowerPoint 使用的 TaskPaneApp manifest 共享文件。 - URL_SLOTS 正则现在为 /g,因此所有三个 Outlook 任务窗格 URL 条目 (FormSettings + V1_0 + V1_1 Resources)都会收到配置参数,而 不仅仅是第一个匹配。 - 新增 graph_client_id 键,供自带 Entra 应用用于 Microsoft Graph 而不是同意 Anthropic 的多租户应用的组织使用。 - 使用 outlook host 的 aws_* 键快速失败:Outlook 目前 不支持 Bedrock。 - consent.md 增加 Outlook Graph 管理员同意 URL(Mail.ReadWrite、 Calendars.Read、People.Read、User.Read、offline_access)以及 自带 Entra 应用的替代方案。 - manifest.md 和 setup.md 记录 host 参数、按 host 的文件 拆分,并引导管理员在生成 Outlook manifest 之前完成同意步骤。
无版本号
重构仓库并添加命名代理 (#81) - 将垂直插件从仓库根目录移动到 plugins/vertical-plugins/,将合作伙伴 插件移动到 plugins/partner-built/ - 在 plugins/agent-plugins/ 下添加 10 个命名的、自包含的代理插件 (Pitch Agent、Market Researcher、Earnings Reviewer、Model Builder、 Meeting Prep、GL Reconciler、Month-End Closer、Statement Auditor、 Valuation Reviewer、KYC Screener)——每个都捆绑自己的技能,因此可以 独立安装 - 添加 managed-agent-cookbooks/(每个代理一个),包含子代理隔离 和用于 /v1/agents 部署的引导示例 - 添加 fund-admin 和 operations 垂直插件,以便 finance-ops/onboarding 代理提供真实的领域技能 - 添加 scripts/(check.py manifest lint、sync-agent-skills.py、 deploy-managed-agent.sh、orchestrate.py 参考循环、 test-cookbooks.sh) - 添加 .github/workflows/secret-scan.yml(gitleaks + 内部引用 grep) - 将代理工具授权收紧为仅声明的 MCP——任何代理中都没有 Bash、WebFetch 或未声明的 mcp__* 引用 - 向 README 添加 not-investment-advice 免责声明 - 将 claude-in-office 重命名为 claude-for-msft-365-install(内容 不变)
无版本号
feat(claude-in-office):添加 entra_scope manifest 参数用于访问令牌引导认证 (#79) * feat(claude-in-office):添加 entra_scope manifest 参数用于访问令牌引导认证 * docs(claude-in-office):注明 entra_scope 资源应用的 accessTokenAcceptedVersion
无版本号
docs(claude-in-office):记录用于 BYO Entra 应用的 graph_client_id manifest 参数 (#78)
无版本号
docs(claude-in-office):记录 otlp_resource_attributes 配置键 (#73) 将新的 `otlp_resource_attributes` 键(逗号分隔的 k=v,格式与 OTEL_RESOURCE_ATTRIBUTES 相同)添加到: - build-manifest.mjs KEYS 验证器 - manifest.md / bootstrap.md 遥测部分 - update-user-attrs.md 键表 与 anthropics/office-agent OA-336 配对。
无版本号
feat(manifest):添加 inference_headers 配置键 (#68) 加载项发送到已配置网关的每个请求所附加的额外 HTTP 头的 JSON 对象。让企业网关无需在前面放置注入头的代理即可接收 会计或路由标签。 - build-manifest.mjs:KEYS 验证器条目 - manifest.md / bootstrap.md / update-user-attrs.md:用 示例和保留头列表记录
无版本号
fix(manifest):不区分大小写地接受 gateway_auth_header 和 gateway_api_format (#65)

暂无评论

none
暂无评论...