npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@fajiang/fashuyun-cli

v1.2.10

Published

Fajiang Fashuyun CLI for projects, customers, and follow-up records.

Readme

法将法数云 CLI

法将法数云命令行工具,用于在终端中操作项目、客户、联系人、跟进记录,以及合同、回款、发票、账单、计时、任务、任务组、任务类型、案件利冲、用户、组织、角色等业务数据。

功能范围

  • 参数语义:查询命令 schema、枚举说明、引用对象解析、JSON 写入前校验。
  • 领域入口:保留统一安装包和 fajiang-fashuyun 命令,同时支持 org-admincrmcollaborationcase-projectapproval-officedelivery-templatefinancefinance-compat 领域前缀。
  • Catalog:查询领域分类、实体关系、workflow 步骤和领域命令风险等级。
  • Workflow:沉淀 Agent 高频多接口编排,例如请假审批、客户建档、项目立项、项目总览、服务报告发布。
  • 项目:查询、详情、基础信息、新增、修改、删除、状态更新、成员查询、按编号查询、导入导出、案卷/收案审查表导出。
  • 合同:查询、详情、新增、修改、删除、客户合同金额排名、批量改状态。
  • 回款:查询、详情、新增、修改、删除、客户回款金额排名。
  • 发票:查询、详情、按客户查最新发票、新增、修改、删除、批量改状态。
  • 客户:查询、带标签查询、详情、基础信息、新增、修改、删除、导入导出、查重、领取/退回公海、批量流转、转移、自动分配。
  • 联系人:查询、详情、新增、修改、删除、导入、转移。
  • 跟进记录:查询、最新记录、新增、删除,不提供修改命令。
  • 计时:查询、详情、新增、修改、删除、开始/结束计时、当前进行中计时、统计与导出。
  • 任务:详情、新增、修改、删除、状态变更、项目/个人视图查询、复制、移动、跨项目导入。
  • 任务组:查询、新增、修改、删除、调整顺序。
  • 任务类型:查询、详情、新增、修改、删除。
  • 账单:查询、待处理/待催款、基础信息、详情、新增、修改、恢复、删除、导出、通知、设置成员。
  • 案件利冲:判断是否存在利冲、利冲检索、按公司名刷新当前项目利冲。
  • 用户:查询、基础信息、详情、新增、修改、状态变更、管理员设置、默认组织、同步、导入导出、删除。
  • 组织:查询、我的组织、详情、新增、修改、状态变更、删除。
  • 角色:查询、详情、类型、新增、修改、删除。
  • 角色成员:查询、新增、批量新增、修改、删除、按用户/角色/部门查询、批量重置。
  • 文件:业务文件查询、回收站查询、详情、路径、上传下载、底层 fsid 上传下载。
  • 通用协作:标签、跟进、文档/文件可挂在客户、联系人、项目、案件等对象上。
  • 非财务扩展:印章、服务报告、自定义字段、部门、部门成员、Word 模板、合同模板。

合同、回款、发票、账单已归入 finance 领域。payment 相关命令默认请求后端统一回款接口,由后端根据当前律所配置自动路由到当前生效的回款实现。

联调回款命令时,examples/payment.create.jsonexamples/payment.update.json 里的 cusidcontractidprojectidbillidownerid 只是字段示意,执行前必须替换成真实业务 id;billid 可传 -1 表示让后端按兼容逻辑自动处理。

命令分层规范

  • guide 是 skill / agent 的唯一公开说明入口。
  • 写请求采用“先 guide、后执行”;高风险写命令在 CLI 内继续保留硬保护。
  • 完整规范见 docs/agent-execution-design.md
  • 发版流程与 skill 分发规范见 docs/publishing.md

环境要求

普通命令需要 Node.js 16 或更高版本。
如果要使用浏览器扫码授权 fajiang-fashuyun auth login,需要 Node.js 18 或更高版本。

node --version

安装

如果从 npm 仓库安装:

npm install --global @fajiang/fashuyun-cli

安装完成后,CLI 会自动尝试把内置 skill 同步到本机 ~/.agents/skills/fajiang-fashuyun。 如果自动同步失败,再手动执行:

fajiang-fashuyun skill install

如果从当前仓库源码安装,请先安装包依赖,再执行全局安装:

npm --prefix ./tools/fajiang-fashuyun-cli install
npm install --global ./tools/fajiang-fashuyun-cli

如果需要手动补装或补同步本地 skill,再执行:

fajiang-fashuyun skill install

安装后验证:

fajiang-fashuyun skill status
fajiang-fashuyun auth status

其中:

  • skill status 用于确认本地 skill 是否已安装、版本是否与当前 CLI 一致
  • skill install 用于安装缺失的 skill,或把旧版本自动同步到当前 CLI 内置版本
  • auth status 只会告知是否已完成授权,以及当前授权是否有效

源码目录内调试时,建议直接调用 Node 入口,避免 npm run 把业务参数当成 npm 自身参数:

node ./tools/fajiang-fashuyun-cli/bin/fajiang-fashuyun.js auth status
node ./tools/fajiang-fashuyun-cli/bin/fajiang-fashuyun.js leave approval-template-list --enabled true

如果必须使用 npm script,业务参数前需要额外加 --

npm --prefix ./tools/fajiang-fashuyun-cli run start -- leave approval-template-list --enabled true

如果你已经安装过旧版本,更新时执行同样的命令即可。
从仓库源码更新时,建议重新执行这两步:

npm --prefix ./tools/fajiang-fashuyun-cli install
npm install --global ./tools/fajiang-fashuyun-cli

认证配置

以下内容包含开发/联调用法,面向技术同事使用,不属于给模型看的 skill 提示内容。

CLI 支持两种模式:

  • prod:默认模式,请求 https://fajiang.plus/counsel
  • dev:开发模式,请求 http://127.0.0.1/counsel

查看当前模式:

fajiang-fashuyun auth mode

切到开发模式(仅技术同事):

fajiang-fashuyun auth mode --name dev

如需自定义本地地址,也可以在当前模式下覆盖(仅技术同事):

fajiang-fashuyun auth mode --name dev --base-url http://127.0.0.1:8080

优先推荐浏览器扫码授权:

fajiang-fashuyun auth login

命令会自动打开法将法数云 CLI 专用授权页面。你完成微信扫码授权后,CLI 会自动完成后续配置。

使用该命令前,请确保本机已安装 Chrome、Edge 或 Chromium。 同时需要 Node.js 18 或更高版本。

授权完成后,可执行:

fajiang-fashuyun auth whoami

确认当前登录身份。

注意:dev 模式默认不支持扫码授权,因为扫码页仍是线上站点;本地开发通常应使用手动 token(仅技术同事):

fajiang-fashuyun auth manual

如果本地后端与线上共用同一套鉴权,也可以先在 prod 模式执行一次扫码授权,再切回 dev 模式,分别保存各自 token。

如果当前环境暂时无法使用浏览器扫码,再使用手动配置方式:

fajiang-fashuyun auth manual

如果授权失效,重新执行一次:

fajiang-fashuyun auth login

常用命令

查询参数语义:

fajiang-fashuyun schema list
fajiang-fashuyun schema get --command project.create
fajiang-fashuyun enum list --command project.status
fajiang-fashuyun enum list --command project.create

解析引用对象和写入前校验:

fajiang-fashuyun resolve --type user --keyword '张三'
fajiang-fashuyun resolve --type customer.company --keyword '北京明海建设有限公司'
fajiang-fashuyun validate --command project.create --json ./project.create.json

写入型命令中的 owneridleaderidprojectidcustomerid 等引用字段必须传 id。不要直接传姓名或客户名称;先用 resolve 或对应 list/get-base 命令找到唯一候选。

查看领域目录:

fajiang-fashuyun catalog domains
fajiang-fashuyun catalog commands --domain org-admin
fajiang-fashuyun catalog entity --name project
fajiang-fashuyun catalog workflow --name leave.request

领域入口和旧平铺命令同时可用。新 skill 默认使用领域入口:

fajiang-fashuyun crm customer list --keyword '北京明海建设有限公司'
fajiang-fashuyun org-admin user list --keyword '张三'
fajiang-fashuyun org-admin meta-field list --obj-type company
fajiang-fashuyun case-project project get --id PROJECT_ID
fajiang-fashuyun approval-office leave list --page 0 --size 20
fajiang-fashuyun delivery-template service-report list --page 0 --size 20

Workflow 用于 Agent 高频多接口编排;中途失败时返回已完成步骤、已创建对象、失败步骤和恢复命令。若正在当前源码仓库内调试,请优先使用本地 Node 入口,避免全局安装版本落后于当前代码:

node ./bin/fajiang-fashuyun.js guide --target workflow.leave-request --json ./workflow.leave-request.json
node ./bin/fajiang-fashuyun.js workflow leave-request --json ./workflow.leave-request.json
node ./bin/fajiang-fashuyun.js approval-office workflow leave-request --json ./workflow.leave-request.json
node ./bin/fajiang-fashuyun.js crm workflow customer-intake --json ./workflow.customer-intake.json
node ./bin/fajiang-fashuyun.js case-project workflow project-intake --json ./workflow.project-intake.json
node ./bin/fajiang-fashuyun.js case-project workflow project-overview --project-id PROJECT_ID
node ./bin/fajiang-fashuyun.js delivery-template workflow service-report-publish --json ./workflow.service-report-publish.json

查看认证状态:

fajiang-fashuyun auth status

手动配置:

fajiang-fashuyun auth manual

兼容旧命令:

fajiang-fashuyun auth setup

查询客户:

fajiang-fashuyun customer list --keyword '北京明海建设有限公司' --page 0 --size 20

上传业务文件:

fajiang-fashuyun file upload --file ./contract.docx --btype project --bid PROJECT_ID

上传底层存储文件并获取 fsid:

fajiang-fashuyun file upload-fs --file ./report.xlsx --file-type protected

下载文件:

fajiang-fashuyun file download --id FILE_ID --output ./downloads/

按 fsid 下载原生存储文件:

fajiang-fashuyun file download-fs --fsid FSID --file-name report.xlsx --output ./downloads/

如果目标文件已经存在,命令会停止。确认覆盖时可追加 --force

请假和审批是两个步骤,但对自然语言“帮我发起一个请假审批”这类 workflow 写请求,第一步必须先跑 guide,而不是先查枚举、模板或复制示例:

printf '{}' > ./workflow.leave-request.json
node ./bin/fajiang-fashuyun.js guide --target workflow.leave-request --json ./workflow.leave-request.json

只有 guide.ready=true 时,才继续执行真实写命令;如果 ready=false,只围绕 requiredConfirmations / requiredActions 补问用户。

如果用户明确是在做“能力检查”,例如“病假和年假的枚举值是什么、审批流程有没有配置好”,才使用以下检查路径:

node ./bin/fajiang-fashuyun.js leave type-list
node ./bin/fajiang-fashuyun.js enum list --command leave.type
node ./bin/fajiang-fashuyun.js catalog workflow --name leave.request

请假类型固定枚举:1=事假2=病假3=年假4=婚假5=产假6=其他--type 可传数字,也可直接传中文名称。JSON 文件同样支持 "type": "病假"

guide.ready=true 之后,再创建请假并发起审批:

node ./bin/fajiang-fashuyun.js workflow leave-request --json ./workflow.leave-request.json
node ./bin/fajiang-fashuyun.js approval-office workflow leave-request --json ./workflow.leave-request.json
node ./bin/fajiang-fashuyun.js leave submit-approval --id VACATE_ID --tid TEMPLATE_ID --name '请假审批' --obj-name '2026-06-01至2026-06-03病假' --note '因需进行手术,申请病假。'

审批模板选择建议:

  • 只使用 categoryTypeleave-status-passenabletrue 的模板。
  • 先执行 node ./bin/fajiang-fashuyun.js guide --target workflow.leave-request --json FILEnode ./bin/fajiang-fashuyun.js guide --target command.approval.start --json FILE;若返回 ready=false,按 requiredConfirmations / requiredActions 补齐审批流程、节点选人和业务字段后再执行写命令。
  • 若有多个同名模板,优先使用较新的 gmtCreate/gmtModify;如果发起审批返回“系统繁忙”等服务端错误,可换另一个启用模板重试。
  • 提交后用 node ./bin/fajiang-fashuyun.js approval status --obj-type vacate --obj-id VACATE_IDnode ./bin/fajiang-fashuyun.js leave get --id VACATE_ID 核验请假记录是否进入审批状态。
  • preflightapproval template-start-check 仍可作为兼容检查入口;approval template-node-list --optional-only true 可用于底层排查,但不再是推荐主路径。

若模板包含“发起人自选”,审批 JSON 结构示例:

{
  "tid": "APPROVAL_TEMPLATE_ID",
  "objType": "vacate",
  "objId": "VACATE_ID",
  "approvalNodeUserMap": {
    "TEMPLATE_NODE_ID": ["USER_ID_1"]
  },
  "approvalNodeCcUserMap": {
    "TEMPLATE_NODE_ID": ["USER_ID_2"]
  }
}

通用审批操作:

fajiang-fashuyun approval list-with-can-approve --scene 1 --user-action 1 --page 0 --size 20
fajiang-fashuyun approval pass --node-id NODE_ID
fajiang-fashuyun approval reject --node-id NODE_ID --content '原因不充分'

查询客户详情:

fajiang-fashuyun customer get --id CUSTOMER_ID

按名称查询客户基础信息:

fajiang-fashuyun customer get-base --name '北京明海建设有限公司'

查询项目:

fajiang-fashuyun project list --keyword '合同' --page 0 --size 20

查询项目详情:

fajiang-fashuyun project get --id PROJECT_ID

查询项目关联信息:

fajiang-fashuyun collaboration followup list --obj-type project --obj-id PROJECT_ID
fajiang-fashuyun task project --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun time list --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun collaboration file list --btype project --bid PROJECT_ID --page 0 --size 20
fajiang-fashuyun finance contract list --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun finance payment list --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun finance invoice list --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun stamp list --project-id PROJECT_ID --page 0 --size 20

查询合同:

fajiang-fashuyun finance contract list --keyword '常年法律顾问' --page 0 --size 20
fajiang-fashuyun finance contract list --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun finance contract ranking --page 0 --size 20

查询回款:

fajiang-fashuyun finance payment list --customer-name '北京明海建设有限公司' --page 0 --size 20

查询发票:

fajiang-fashuyun finance invoice list --status 0 --page 0 --size 20
fajiang-fashuyun finance invoice latest --customer-name '北京明海建设有限公司'

查询客户跟进记录:

fajiang-fashuyun followup list --obj-type company --obj-id CUSTOMER_ID

查询项目跟进记录:

fajiang-fashuyun followup list --obj-type project --obj-id PROJECT_ID

新增客户跟进记录:

fajiang-fashuyun followup create --obj-type company --obj-id CUSTOMER_ID --content '已电话沟通,客户希望下周出方案'

查询计时与结束当前计时:

fajiang-fashuyun time list --keyword '尽调' --page 0 --size 20
fajiang-fashuyun time list --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun time conducted
fajiang-fashuyun time end

查询任务:

fajiang-fashuyun task project --project-id PROJECT_ID --page 0 --size 20
fajiang-fashuyun task personal --my-leaded true --page 0 --size 20

查询任务组和任务类型:

fajiang-fashuyun task-group list --project-id PROJECT_ID
fajiang-fashuyun task-type list --enabled true --page 0 --size 20

查询项目文档:

fajiang-fashuyun file list --btype project --bid PROJECT_ID --page 0 --size 20
fajiang-fashuyun file recycle-bin --btype project --bid PROJECT_ID --page 0 --size 20

查询账单与导出账单:

fajiang-fashuyun finance bill list --keyword '2025' --page 0 --size 20
fajiang-fashuyun finance bill pending --page 0 --size 20
fajiang-fashuyun finance bill export --id BILL_ID --type word

执行案件利冲检索:

fajiang-fashuyun conflict exist --name '示例有限公司'
fajiang-fashuyun conflict search --name '示例有限公司' --page 0 --size 20

查询用户、组织、角色:

fajiang-fashuyun user list-base --keyword '张三' --page 0 --size 20
fajiang-fashuyun user get-base --id USER_ID
fajiang-fashuyun organization my
fajiang-fashuyun role list --page 0 --size 20
fajiang-fashuyun role-member user --user-id USER_ID --page 0 --size 20

查看完整帮助:

fajiang-fashuyun --help

示例 JSON

CLI 自带示例 JSON,可复制后按实际情况修改。

查看示例列表:

fajiang-fashuyun examples list

打印某个示例:

fajiang-fashuyun examples print --name customer.create.json

复制示例到当前目录后再修改:

fajiang-fashuyun examples copy --name customer.create.json --output ./customer.create.json
fajiang-fashuyun examples copy --name project.create.json --output ./project.create.json
fajiang-fashuyun examples copy --name contract.create.json --output ./contract.create.json
fajiang-fashuyun examples copy --name payment.create.json --output ./payment.create.json
fajiang-fashuyun examples copy --name invoice.create.json --output ./invoice.create.json
fajiang-fashuyun examples copy --name bill.create.json --output ./bill.create.json
fajiang-fashuyun examples copy --name time.create.json --output ./time.create.json
fajiang-fashuyun examples copy --name task.create.json --output ./task.create.json
fajiang-fashuyun examples copy --name task-group.create.json --output ./task-group.create.json
fajiang-fashuyun examples copy --name task-type.create.json --output ./task-type.create.json
fajiang-fashuyun examples copy --name user.create.json --output ./user.create.json
fajiang-fashuyun examples copy --name organization.create.json --output ./organization.create.json
fajiang-fashuyun examples copy --name role.create.json --output ./role.create.json
fajiang-fashuyun examples copy --name role-member.create.json --output ./role-member.create.json
fajiang-fashuyun examples copy --name contact.create.json --output ./contact.create.json
fajiang-fashuyun examples copy --name stamp.create.json --output ./stamp.create.json
fajiang-fashuyun examples copy --name service-report.create.json --output ./service-report.create.json
fajiang-fashuyun examples copy --name tag.create.json --output ./tag.create.json
fajiang-fashuyun examples copy --name meta-field.create.json --output ./meta-field.create.json
fajiang-fashuyun examples copy --name group.create.json --output ./group.create.json
fajiang-fashuyun examples copy --name group-user.create.json --output ./group-user.create.json
fajiang-fashuyun examples copy --name word-template.create.json --output ./word-template.create.json
fajiang-fashuyun examples copy --name contract-template.create.json --output ./contract-template.create.json
fajiang-fashuyun examples copy --name file.upload.json --output ./file.upload.json
fajiang-fashuyun examples copy --name file.upload-fs.json --output ./file.upload-fs.json
fajiang-fashuyun examples copy --name file.download.json --output ./file.download.json
fajiang-fashuyun examples copy --name file.download-fs.json --output ./file.download-fs.json
fajiang-fashuyun examples copy --name leave.create.json --output ./leave.create.json
fajiang-fashuyun examples copy --name leave.submit-approval.json --output ./leave.submit-approval.json
fajiang-fashuyun examples copy --name approval.start.json --output ./approval.start.json
fajiang-fashuyun examples copy --name workflow.leave-request.json --output ./workflow.leave-request.json
fajiang-fashuyun examples copy --name workflow.customer-intake.json --output ./workflow.customer-intake.json
fajiang-fashuyun examples copy --name workflow.project-intake.json --output ./workflow.project-intake.json
fajiang-fashuyun examples copy --name workflow.service-report-publish.json --output ./workflow.service-report-publish.json

如果目标文件已经存在,命令会停止。确认覆盖时可追加 --force

JSON 输入

新增和修改命令使用 JSON 文件传入复杂参数:

fajiang-fashuyun customer create --json ./customer.create.json
fajiang-fashuyun customer update --id CUSTOMER_ID --json ./customer.update.json
fajiang-fashuyun project create --json ./project.create.json
fajiang-fashuyun project update --id PROJECT_ID --json ./project.update.json
fajiang-fashuyun finance contract create --json ./contract.create.json
fajiang-fashuyun finance payment create --json ./payment.create.json
fajiang-fashuyun finance invoice create --json ./invoice.create.json
fajiang-fashuyun time start --json ./time.start.json
fajiang-fashuyun finance bill create --json ./bill.create.json
fajiang-fashuyun task create --json ./task.create.json
fajiang-fashuyun task-group create --json ./task-group.create.json
fajiang-fashuyun task-type create --json ./task-type.create.json
fajiang-fashuyun leave create --json ./leave.create.json
fajiang-fashuyun guide --target workflow.leave-request --json ./workflow.leave-request.json
fajiang-fashuyun leave submit-approval --json ./leave.submit-approval.json
fajiang-fashuyun guide --target command.approval.start --json ./approval.start.json
fajiang-fashuyun approval start --json ./approval.start.json

payment.create.json / payment.update.json 现在采用统一回款入参:

  • 兼容旧回款字段:contractidcontractNamepaymentType
  • 也支持当前账单回款字段:projectidbillidcurrencyneedConfirmlastPayment
  • 当后端当前生效的是账单回款实现时,如果没有显式传 projectid / billid,后端会优先尝试从 contractid 推导项目和账单;没有可复用账单时会自动按前端默认行为新建账单

列表查询也可以用 JSON 文件覆盖或补充查询条件:

fajiang-fashuyun customer list --json ./customer.query.json
fajiang-fashuyun project list --json ./project.query.json
fajiang-fashuyun leave list --json ./leave.query.json
fajiang-fashuyun approval list --json ./approval.query.json

文件上传下载示例 JSON 用于说明命令参数,不作为 --json 请求体直接传入。按示例字段拼成对应命令执行即可,例如:

fajiang-fashuyun file upload-fs --file ./report.xlsx --file-type protected
fajiang-fashuyun file download-fs --fsid FSID --file-name report.xlsx --output ./downloads/

客户字段展示

客户输出会把部分状态值转换为文字,同时保留原始值:

  • 查询类 guide --target command.xxx --json FILEFILE 尚未创建时可从空对象 {} 起步;执行完 guide 后,应继续使用其返回的默认范围和字段提示来组装真实查询,而不是忽略 guide 结果。
  • 列表类真实查询如果输出较长 JSON,优先先落盘或用完整结构化方式读取,再解析 displayRecords;不要直接依据终端截断片段总结结果。
  • phase 显示为文字,原始值放在 phaseValue
  • 客户/联系人列表会同时返回 displayRecords,用于对齐前端列表展示列;优先读取 displayRecords[].fieldsdisplayRecords[].fieldMapdisplayRecords[].displayValueMap 来展示系统字段和自定义字段,避免自行从 records.list 推断列结构。
  • displayRecords 会同时参考 metafield 定义和当前用户的前端列表列配置(如 company.list.configpcompany.list.configcontact.list.config),因此不同列表页、不同用户看到的字段顺序和可见列可能不同,这属于预期行为。
  • level 显示为文字,原始值放在 levelValue
  • chargeStatus 显示为文字,原始值放在 chargeStatusValue
  • paymentPeriod 显示为 2个月 这类文字,原始值放在 paymentPeriodValue

客户阶段和客户级别会尽量与网页展示保持一致。客户新增、修改和 JSON 查询文件中也可以直接使用这些文字值。

删除确认

删除命令默认会二次确认:

fajiang-fashuyun customer delete --id CUSTOMER_ID

明确确认删除时可使用:

fajiang-fashuyun customer delete --id CUSTOMER_ID --yes

构建

npm run build 会将 src/ 下所有源码通过 esbuild 打包为单一文件,再用 javascript-obfuscator 进行混淆(控制流平坦化、字符串 base64 编码、死代码注入),输出到 dist/index.js。同时将 examples/ 下的 JSON 示例文件拷贝到 dist/examples/

npm run build

npm run check 用于校验源码和构建产物的语法:

npm run check

发布与分发

  • CLI npm 发版、skill 随 npm 包发布、以及本地 skill 安装/重装说明,统一见 docs/publishing.md
  • 交互式发版命令:npm run publish:interactive
  • 不要把交互式发版脚本绑定到 npm 的 "publish" 生命周期。