@fnndsc/salsa

中文文档
4.5.7发布于 2026/11/16MITTypeScriptESM + CJS近 30 天下载 5206

ChrIS 共享应用程序逻辑和服务资产

中文使用文档
文档目录16 节
  1. 安装
  2. 使用量
  3. 目的
  4. 结构:桑威奇模型
  5. 关键模块
  6. 文件系统
  7. 插件存储( S)
  8. 种子和子资源
  9. 管道和工作流量
  10. 工作(意外事故操作)
  11. 虚拟文件系统( VFS)
  12. /proc/jobs/ - 工作监测
  13. 发展
  14. 构建
  15. 测试
  16. 许可证
 ____        _
/ ___|  __ _| |___  __ _
\___ \ / _` | / __|/ _` |
 ___) | (_| | \__ \ (_| |
|____/ \__,_|_|___/\__,_|

萨尔萨摘要逻辑服务资产

salsa 是Chris界面生态系统的逻辑层. 它囊括了高层次的业务意向和业务逻辑,充当了用户-界面之间的桥梁(Cchell, (中文(简体) ), chili基本基础设施cumin 财务报告和审定财务报表 chrisapi) (中文(简体) ).

安装

npm install @fnndsc/salsa

要求节点.js 20.12. 有"类型"(TypeScript)类型定义的船舶. 取决于 @fnndsc/cumin。 。 。 .

使用量

import { files_listAll, fileContent_get, vfsDispatcher } from "@fnndsc/salsa";

// Salsa returns pure data / typed objects — no CLI dependencies
const listing = await files_listAll({ limit: 1000, offset: 0 }, "files", "/home/chris");
const content = await fileContent_get("/home/chris/uploads/notes.txt");

见 关键模块 整个意图目录.

目的

  • 合并业务逻辑: 集中意图如"列表目录","上载文件","注册插件","fetch feed note"等. 所有前端都有相同的行为.
  • 前端不可知论: 不存在针对特定国家综合倡议的依赖性(commander, (中文(简体) ), process.stdout) (中文(简体) ). 返回纯数据或输入对象.
  • 虚拟文件系统: 拥有将 ChRIS API 资源映射到 Unix 风格路径的 VFS 调度器 — 见 VFS 飞行器 见下文.

结构:桑威奇模型

[ ChELL (REPL) ]  [ Chili (CLI) ]  [ Web App ]  [ Mobile App ]
       |                 |               |              |
       +-----------------+---------------+              |
                         |                              |
                         v                              v
              [      Salsa (Logic / Intents)        ]  <-- YOU ARE HERE
                         |
                         v
              [      Cumin (State / Infrastructure) ]
                         |
                         v
              [      @fnndsc/chrisapi (Client)      ]

关键模块

文件系统

函数说明
vfsDispatcher路线 list编号 :read 通过路径前缀调用正确的 VFS 提供者
files_list列出目录( 贴上)
files_listAll完整目录列表( 所有页面)
fileContent_get读取远程文件内容
files_uploadPath上传本地文件或目录树到 Chris
files_touch创建空文件
files_mkdir创建目录
files_rm删除文件或目录
files_cp 编号 : files_mv复制/ 移动

插件存储( S)

函数说明
plugins_list 编号 : plugins_listAll获取插件列表
plugin_checkExists检查插件是否已注册
plugin_registerWithAdmin通过管理端点注册插件
plugin_assignToComputeResources指定用于计算环境的插件
plugins_searchPeers搜索对等的 Chris 商店( 如 cube.chrisproject.org)
plugin_importFromStore从对等存储数据导入插件
plugin_searchPeersByImage将嵌入到对等存储插件中

种子和子资源

函数说明
feeds_list 编号 : feeds_listAll获取种子
feedNote_get 编号 : feedNote_update读取或更新种子上的单通音符
feedComments_list列出种子上的评论
feedComment_create 编号 : feedComment_update 编号 : feedComment_delete注释 CRUD

管道和工作流量

函数说明
pipelines_list登记管道清单
workflow_create将管道作为饲料的工作流程

工作(意外事故操作)

函数说明
job_cancel(id)取消运行/计划实例( E)PUT {status: cancelled}(中文(简体) )
job_delete(id)删除终端实例记录
job_statusFetch(id)从 API (通过缓存) 的活捉当前状态
job_logFetch(id)获取实例的 stdout/ stderr 日志
procCache_refresh([feedID])重建 /proc 任务缓存, 可选范围到一个种子

虚拟文件系统( VFS)

vfsDispatcher 将 ChRIS 路径翻译为提供者调用 。 每个提供者处理路径前缀,并将 API 资源映射到文件系统语义上 :

路径前缀提供者后卫
/home/<user>/HomeVfsProviderChRIS 用户文件 API
/home/<user>/feeds/FeedVfsProvider饲料资源
/binBinVfsProvider注册的插件( 虚拟可执行文件)
/usr/binUsrBinVfsProvider内建 shell 命令 (whoami, (中文(简体) ), whereami(中文(简体) )
/etcEtcVfsProvider配置文件( E)compute.yaml, (中文(简体) ), group, (中文(简体) ), passwd, (中文(简体) ), cube(中文(简体) )
/net/pacs/queries/PacsVfsProviderPACS 查询结果
/proc/jobs/ProcVfsProvider工作监测DAG(由 ProcCache (单位:千兆克)
*.chrislink通过调度器解决与其他 ChRIS 路径的协同

供应商实施共同接口: list(path) → Result<VFSItem[]> 财务报告和审定财务报表 read(path) → Result<string>。 。 。 .

/proc/jobs/ - 工作监测

ProcVfsProvider 镜像每个可见种子的计算 DAG 。 每个插件实例都是目录;内部的虚拟文件会显示活状态,参数和日志:

/proc/jobs/feed_123/
├── status                  ← aggregate: running | finishedSuccessfully | finishedWithError
├── title
└── pl-dircopy_456/         ← type=job in VFSItem; ls -l shows colour-coded status
    ├── status              ← live API fetch if non-terminal
    ├── params              ← complete effective key=value run parameters, cached permanently
    ├── log                 ← never cached; decoded from CUBE's `raw` response
    └── pl-fshack_789/
        └── …

缓存( T)ProcCache o(1)检索和O(深入)路径重建的平地地形图。 守护进程从一个身份扫描的局部检查点恢复了这个已恢复正常的图表,验证了可见的种子,然后只调和了新的,已更改的和活性的种子; proc refresh 明确运行相接的 CUBE 全球扫描。 终极状态继续存在;现役状态仍然有效。 新鲜是访问驱动的:重温一个种子会合并上次访问以来创建或完成的节点(min_end_date 从每只食用光标上),并重新检查活性光标,一个固定的种子最多每10分钟重新检查一次,a /proc/jobs 访问比已知最高的id(一旦名册上有10分钟时间. params 读取完整 PluginInstance.parameters 收集,而不是实例详细元数据。 日志仍为未刻录:ChELL解码 CUBE 的 Base64/zlib-compressed PluginInstance.raw 回复和读取 compute.logs它从不从演讲中获取.

发展

构建

npm run build

测试

npm run test

许可证

麻省理工学院—— Chris项目。 。 。 .


- 30岁

版本与发布记录

@fnndsc/salsa 共发布 56 个版本,首次发布于 2026/06/20;过去 12 个月发布了 56 个版本。

版本发布日期距今
4.5.7latest2026/11/16今天
4.5.62026/11/16今天
4.5.52026/11/15今天
4.5.42026/11/15今天
4.5.32026/11/151 天前
4.5.22026/11/141 天前

关于 @fnndsc/salsa 的常见问题

@fnndsc/salsa 是什么?

ChrIS 共享应用程序逻辑和服务资产

如何安装 @fnndsc/salsa?

在项目目录运行 npm install @fnndsc/salsa,或使用 pnpm add / yarn add / bun add。

@fnndsc/salsa 支持 TypeScript 吗?

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

@fnndsc/salsa 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@fnndsc/salsa 可以商用吗?

@fnndsc/salsa 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fnndsc/salsa 的下载量有多少?

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

@fnndsc/salsa 还在维护吗?

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