@ agentyx/ 适应器
用于 剂型: 转动的图层 已解析的 Ageyx 环境进入特定编码代理预期的文件.
Agentyx包,技能,MCP定义,和工具检查描述开发环境,从未
提供商,所以所有 提供商知道在这里生活,而不是在
@agentyx/core此软件包取决于
核心; 核心从来不取决于它.
目标
| 编号 | 探员 | 项目技能目的地 |
|---|---|---|
codex | 代码 | .agents/skills |
claude | 克劳德代码 | .claude/skills |
kimi | 基米码 | .agents/skills |
qwen | Quen 代码 | .qwen/skills |
每个目的地都是提供商记录的项目-地方会议:
代码 阅读中立供应商的储存技能
.agents/skills, (中文(简体) ), 克劳德代码 从 .claude/skills, (中文(简体) ),
基米码 也扫描
项目 .agents/skills,以及
Quen 代码 从 .qwen/skills。 。 。 .
安装是本地项目,无文字记录 $HOME。 。 。 .
先计划,再写
import { applyInstallPlans, planInstall } from "@agentyx/adapters";
import { builtInSkillRegistry } from "@agentyx/core";
const skills = ["planning", "angular-modern"].map((name) => builtInSkillRegistry.get(name));
// Reads the destinations to classify each file, and writes nothing.
const plans = await planInstall({
targets: ["codex", "claude", "kimi", "qwen"],
projectDir,
skills,
});
// The only code in Agentyx that mutates a project. Skipping it is a dry run.
await applyInstallPlans(plans);
一个计划是一份清单 write-file 操作,每个操作有一个 create 编号 : update 编号 : unchanged 状态, a
绝对路径和用于输出的工程相对路径。 父目录由
执行器,所以没有目录操作;没有运行命令的操作.
每个目标都是一样的 SkillDefinition 对象和犬类 SKILL.md 那个
@agentyx/core 因此供应商只能收到相同的指令。 提供商
共享相同的目的地和内容, 如 Codex 和 Kimi 代码, 崩溃为一个物理写入
与共享 usedBy 元数据.
写入适配器
适配器是一个满足的普通对象 AgentAdapter页:1 id页:1 name它拥有的目录,
detect,则a 纯 planFiles 将解析的技能映射到想要的文件。 把它们比作
安装和写的东西是共享的机器.
import { createAdapterRegistry, createSkillDirectoryAdapter } from "@agentyx/adapters";
const acme = createSkillDirectoryAdapter({
id: "acme",
name: "Acme Agent",
skillsDir: [".acme", "skills"],
reference: "https://example.invalid/skills",
});
const registry = createAdapterRegistry([acme]);
createSkillDirectoryAdapter 涵盖任何读取 <directory>/<skill>/SKILL.md; 一个真正的
不同的布局执行 AgentAdapter 直接说 没有动态包装和没有
远程注册——适配器是您传递的值 .
安全问题
Agentyx 只管理 <destination>/<skill>/SKILL.md 为它所决定的技能, <agents dir>/<agent>.md
(或 .toml对于它解决的代理,以及它添加到一个提供者项目中的MCP服务器和钩子键
相会. 在目录或项目文件外写入的计划 a
拒绝目标自有 InstallPathError,包括项目本地路径
共鸣. 未更改的文件不重写, 写作为 UTF-8, 并且没有执行、 获取或
全球安装.
项目MCP配置,项目钩和项目代理都是通过同一方式规划并写入的
计划第一机器。 适配器只接收活性定义;包和可选能力
解析保留在核心中。 权限和用户-全球配置不是合同的一部分 :
Agentyx 从不写在下面 $HOME,这就是为什么一个只有用户级的提供者——Kimi
代码——完全没有钩子安装.
当一个提供者文件具有几种能力时,它仍然是一种写作。 Quen代码读作两种
mcpServers 财务报告和审定财务报表 hooks 从 .qwen/settings.json,所以计划者 将两者合并为
单个操作和锁定记录 settings 条目同时命名服务器和
钩子;将计划两个独立的合并一个文件,每个文件从一个被读取的被读取的被读取,第二个文件
写会掉第一个.
Prune 和 uninstall 只在路径、 MCP 服务器密钥和被录入的钩子名称上行事
.agentyx.lock.json文件
其当前内容不再与所显示的散列相匹配,被报告为冲突而独自一人
除非呼叫者明确选择 --force。 。 。 .
麻省理工学院