实施自定义技能时发现两个问题,也影响已有的第三方技能:
{dataDir}/data(数据库、版本库、MCP 数据都在这里),而第三方技能与自定义技能的生效目录 data/community-skills、data/custom-skills 也在其中。
checkAccess,全局禁止项优先于可读路径,所以读不到技能的参考文档。softDeny 中的服务目录(/srv/agent-server)会让 Codex 读不到其中的本地技能目录、Python 运行环境与官方技能目录。checkAccess 对服务管理的技能目录(managedSkillRoots():第三方、自定义技能的生效目录)只放行读取,并且先于全局禁止项判断。data 下的其他内容仍然禁止,写入仍然禁止。denyRead 中的 data 目录与 allowRead 中的技能目录同时存在时,更具体的 allowRead 生效(已实测)。无需改动。denyAround)。
data/custom-skill-store)、数据库等仍不可见技能生效目录已从 data/ 移到顶层 {dataDir}/managed-skills/{community,custom},不再位于全局禁止的 data/ 之内(systemd ReadWritePaths 相应加入该目录,启动时自动搬迁旧目录)。文件库、上传暂存与技能来源缓存仍在 data/ 下,对 Agent 不可见。checkAccess 的只读放行保留:即使追加的全局禁止项覆盖了这些目录,技能仍然可读。