@chamvi/skills

中文文档
0.8.0发布于 2026/11/09Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2208

为查姆维运行时的装入准备固定的、应用性的技术来源.

中文使用文档

@chamvi/技能

验证被动技能捆绑,为Chamvi特工准备明确选定的、有承诺的源。 此可选软件包需要Node QQ26.0.0; Git 需要用于源代码编写.

npm install @chamvi/skills @chamvi/core

使用 gitSkills() 从主条目中获取一等引擎/应用程序默认值或代理外加值:

import { Engine, createMemoryStore, defineModelAgent } from '@chamvi/core';
import { gitSkills } from '@chamvi/skills';

const common = gitSkills({
    source: 'https://github.com/tada5hi/skills.git',
    revision: '0123456789abcdef0123456789abcdef01234567', // reviewed commit
    directory: '/tmp/chamvi-skills/common',
    approved: [{
        name: 'ponytail',
        version: '1.0.0',
        hash: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
    }],
});
const engine = new Engine({
    store: createMemoryStore(),
    model: yourLanguageModel,
    skills: [common],
    agents: [defineModelAgent({ name: 'reviewer', instructions: 'Review the requested scope.' })],
});
await engine.start();

以独立审查的针头取代说明性承诺/diest yourLanguageModel 有AI SDK模型. gitSkills 复制配置没有I/O。启动在恢复、频道和模型工作之前验证所需的来源。 引擎自动附加元数据并供应范围 load_skill; 代理人的 skills 在默认值中添加额外值 . loadSkillBundle(descriptor) 返回同一数组的已核实的快照。 技能数据和行为属于此软件包; 没有应用模块或 /module 需要输入。 在Chamvi包中,主条目仅依赖于核心,没有应用依赖性. 核心/应用程序仍然可以使用,但没有安装技能.

启动安装需要在运行时图像中需要这个软件包和Git,可写出管理对象/tmp路径,源网络/证书和启动探测时间. 基础节点26图像不包括Git. 检查/移动不援引技能提供者;检查推迟远程核查。 停止加入清理,并可能等待一个不可继承的克隆人. 预建的本地快照避免运行时间 Git/ 网络要求 。 Global pin 升级不会改变文件夹散列:所保存的负载结果保留了原始字节,而待发/后发负载则使用当前快照. 如果混合版本披露是不可接受的,则在全球升级前完成或取消未解决的运行.

Skill, (中文(简体) ), SkillIdentity, (中文(简体) ), SkillMetadata, (中文(简体) ), ISkillSource, (中文(简体) ), SkillCatalog, (中文(简体) ), LoadedSkill 财务报告和审定财务报表 createSkillCatalog() 从 @chamvi/skills。核心出口 SkillInput 和准备/捐助合同。 对于调用方提供的值,使用 defineSkill(rawSkill) 或者说 defineSkillSource(rawSource) 在放进一个 skills 阵列。 这些适配器验证和复制内容/声明并附加运行时间;它们不获取或独立地验证呼叫器提供的文本。 自定义加载器对经过审查的接头进行检索和核实. gitSkills() 财务报告和审定财务报表 loadSkillBundle() 已返回已调整的值.

一等跑时元数据是在代理机配置指令后附加的单独被冻结的系统消息块,包括结构化的系统/用户/助手阵列. 它包含描述和身份,仅通过下列方式披露机构和参考资料: load_skill。独立 SkillCatalog.instructions 保留字符串,所以现有的手动字符串组成仍然兼容。 对于结构化的手动配置, 附加 { role: 'system', content: catalog.instructions } 到数组并合并 catalog.tools 当然.

手册目录工作流程仍然得到支持:

打电话 prepareSkills({ source, revision, names, directory, verify? }) 在明确的设置/构建任务中。 该源是一个本地的 Git 寄存器, Git URL 或寄存器的短手; 修订版是一个完整的 40 个字符 承诺 。 结果是命令只读列表 { name, description, path }有绝对的路径。 源配置,角色选择和独立审查的内容标指属于您应用程序.

import { InvalidAgentDefinitionError } from '@chamvi/core';
import { hashSkillBundle, loadSkillBundles, prepareSkills } from '@chamvi/skills';
import type { PrepareSkillsOptions, PreparedSkill } from '@chamvi/skills';

// Call in an explicit setup/build task, with separately reviewed pins from app configuration.
export async function prepareCatalog(options: Omit<PrepareSkillsOptions, 'verify'>, pins: Readonly<Record<string, string>>) {
    const prepared: readonly PreparedSkill[] = await prepareSkills({
        ...options,
        verify(skill) {
            if (hashSkillBundle(skill.path) !== pins[skill.name]) {
                throw new InvalidAgentDefinitionError('Skill content does not match the reviewed pin.');
            }
        },
    });

    return loadSkillBundles(prepared.map((skill) => ({
        name: skill.name,
        directory: skill.path,
        version: options.revision,
        hash: pins[skill.name]!,
    })));
}

审查完整的源包,并分别记录它们的散列,然后援引这个帮助器. 传出App自有源/承诺,所选名称,专用出品目录和被审查的出品针. 常见配置文件可以选择 ponytail 财务报告和审定财务报表 codebase-design。维护者可以添加 generate-commit-message, (中文(简体) ), investigate-pr-comments, (中文(简体) ), create-pull-request 财务报告和审定财务报表 release-please-version-bump。在构建一个目录之前合并名称/字段。 对该角色附加其仅以元数据为主的指令并构成其 load_skill 工具,检查名称相撞.

准备验证实际被克隆人的承诺,并要求整个被承诺的源树是无同义的,包括无关或未选择的路径. 它在发现/复制前拒绝源链接,如果Git树检查失败则无法关闭. 它拒绝缺失/复制名称,通过源SDK复制支持资产,并在替换输出前引用所显示记录上的每个核查者. 验证者必须拒绝,而不返回成功值;布尔比较被拒绝。 产出是一个专门管理的实体:根 .chamvi-skills 标记允许以后替换,包括去除旧的选择. 共通目标与非空心无主目标被拒绝. 同目标准备失败 skill_preparation_locked (信息命名警卫) 当一个兄弟警卫被扣留。 守护者记录其拥有者(主机,pid,进程启动,创建时间);在下一次尝试中,当其进程在这个主机上消失时,其所在的pid属于重启的进程,或者它比它更老了 SKILL_PREPARATION_LOCK_STALE_MS (1小时或更长两次) SKILLS_CLONE_TIMEOUT_MS) (中文(简体) ). 失败分为三类: InvalidAgentDefinitionError 用于配置(选项、指针、源内容、认证、丢失的寄存器、未拥有的目标), skill_preparation_locked可重试的 skill_preparation_failed (网络、超时、被绑定的承诺SDK无法获取、文件系统故障) 在 HTTPS GitHub 认证失败时, SDK 的克隆返回主机的 gh 登录和 SSH 密钥; 参见 技能参考 在服务器上运行准备之前。 一个失败的验证员或晋级员保存/恢复了旧的输出;如果文件系统失败也阻止了恢复,则备份存活.

导入软件包不进行准备 。 它永远不会改变cwd,引用技能CLI或执行源脚本. 准备工作不提供工具、运行时间批准或沙箱挂载。 运行时加载接受被绑定的捆绑内的任何UTF-8正则文件作为被动的引用文本,而不管扩展名,包括源代码和脚本. 它拒绝错误的UTF-8,含有NUL的内容,隐藏路径,同义链接和特殊文件,并且从未执行引用. Git LFS 文件仍然是指针;经过审查的散列检测省略/更改了源字节. 对于手动构建工作流程,将准备的资产复制成运行时的图像。 运行时间安装使用引擎拥有 gitSkills 供养.

源后端为Chamvi的私人. 消费者只导入Chamvi API,并在后端改变时保留其源/profile/pin配置. 见 技能培养参考, (中文(简体) ), 运行时间指南 财务报告和审定财务报表 后端移徙问题97。 。 。 .

版本与发布记录

@chamvi/skills 共发布 11 个版本,首次发布于 2026/11/01;过去 12 个月发布了 11 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.8.0latest2026/11/09今天
0.7.32026/11/063 天前
0.7.22026/11/054 天前
0.7.12026/11/055 天前
0.7.02026/11/045 天前
0.6.12026/11/045 天前

关于 @chamvi/skills 的常见问题

@chamvi/skills 是什么?

为查姆维运行时的装入准备固定的、应用性的技术来源.

如何安装 @chamvi/skills?

在项目目录运行 npm install @chamvi/skills,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:ai(^7)、@chamvi/core(^0.8.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@chamvi/skills 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@chamvi/skills 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@chamvi/skills 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=26.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@chamvi/skills 可以商用吗?

@chamvi/skills 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@chamvi/skills 的下载量有多少?

根据 npm 官方下载统计,@chamvi/skills 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,208 次,日均约 74 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@chamvi/skills 还在维护吗?

最新版本 0.8.0 发布于 2026/11/09(今天);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。