# @fnndsc/chell 中文文档

规范地址：https://npmcn.com/package/%40fnndsc/chell/

版本：5\.20\.12
npm 元数据更新时间：2026-11-15T02:06:05.884Z
中文译文更新时间：2026-11-15T03:37:04.997Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fnndsc/chell
原文对照：https://npmcn.com/package/%40fnndsc/chell/?lang=original
项目主页：https://github.com/HARBOR-Medical-AI/mise/tree/main/packages/chell#readme
源码仓库：https://github.com/HARBOR-Medical-AI/mise

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：842 kB，124 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：16 个
- 首次发布：2026-06-20T08:24:13.844Z
- 最新版本发布：2026-11-15T02:06:05.709Z
- 近 30 天下载量：7483（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：107（近 12 个月 107 个）

## 中文简介

ChELL 执行分层逻辑 - 交互式 ChRIS REPL Shell

## 安装

```sh
npm install @fnndsc/chell
```

也可以使用：`pnpm add @fnndsc/chell`、`yarn add @fnndsc/chell`、`bun add @fnndsc/chell`

## README

# ChELL: ChELL 执行分层逻辑

**ChRIS 互动壳**

ChELL是一个命令行外壳,将一个Chris分布式计算平台作为熟悉的Unix文件系统来呈现. 如果你知道的话 `bash` 或者说 `zsh`,你已经知道大部分ChELL.

## 安装

```bash
npm install -g @fnndsc/chell
```

要求节点.js 20.12. 此安装 `chell` 命令 - 见 [开始](https://npmcn.com/package/%40fnndsc/chell/#readme-getting-started) 连接到 CUBE.

## 概念

ChRIS将数据,分析工具和结果存储在一个REST API背后. ChELL 将所有这些映射到路径上:

-   您的数据生活在 `/home/<user>/`
-   每个注册插件和管道都是虚拟可执行文件 `/bin`
-   系统配置可读于 `/etc`
-   PACS 查询结果表面 `/net/pacs/queries/`

您的导航 `cd`,检查与 `ls`,将文件读取到 `cat`,并引用插件名称来进行分析——与任何Unix系统中使用的肌肉内存相同.

PACS检索还可以直接确定新分析的投入:

```bash
pacs query AccessionNumber:12345678
pacs pull /net/pacs/queries/.../Study_... --new-feed "Brain MRI"
```

`--new-feed` 等待完整选中的系列集, 创建一个 feed start 时间 `pl-dircopy`,并打印种子ID,根任务ID,并打印种子路径. 没有 旗帜, `pacs pull` 只获取 CUBE 存储中的数据.

跑过被拉到的地方是它自己的一行: `gather process <plugin|pipeline>` 一次跑遍整个组, 从它的根。 见 [PACS 查询/ 检索/ 解析](https://npmcn.com/package/%40fnndsc/chell/docs/pacsqr.adoc#planned-analysis-attachment)。 。 。 .

* * *

## 虚拟文件系统

ChELL文件系统有两种路径:

-   **CFS( 立方体FS)** ——真实的Chris存储:您上传的文件,种子输出,同义链接文件. 可读可写可写可坚持.
-   **VFS( 虚拟)** ——从API资源上合成了苍蝇:插件,配置,PACS结果. 只读视图, 不存储字节 .

| 路径 | 类型 | 你看见的 |
| --- | --- | --- |
| `/home/<user>/` | 爱幼学校 | 您上传的文件和目录 |
| `/home/<user>/feeds/` | 爱幼学校 | 您的分析信息及其输出树 |
| `/PIPELINES/` | 爱幼学校 | 共享管道产出数据 |
| `/PUBLIC/` | 爱幼学校 | 公开查阅的文件 |
| `/SERVICES/` | 爱幼学校 | 服务级数据 |
| `/SHARED/` | 爱幼学校 | 用户共享数据 |
| `*.chrislink` | 爱幼学校 | 与其他 ChRIS 路径的符号链接 |
| `/bin` | VFS 飞行器 | 在此 CUBE 中注册的每个插件和管道 |
| `/usr/bin` | VFS 飞行器 | 内建 shell 命令 (`id`, (中文(简体) ), `whoami`, (中文(简体) ), `whereami`, (...) (中文(简体) ) |
| `/etc/` | VFS 飞行器 | 配置: 计算环境、 组、 用户、 CUBE 信息 |
| `/net/pacs/queries/` | VFS 飞行器 | PACS 查询结果集 |
| `/proc/jobs/` | VFS 飞行器 | 任务监测——所有插件实例的活状态 |

```bash
cd /etc
cat compute.yaml          # inspect available compute environments
cat group                 # list groups and their current CUBE users

cd /bin
ls pl-mri*                # browse MRI-related plugins

cd /home/chris/feeds
ls -l                     # see your analysis feeds
```

### 连结关系( E)`.chrislink` 文档)

CRIS 用途 `.chrislink` 文件作为符号链接. `ls -l` 让他们成为 `l` 条目; `cd` 财务报告和审定财务报表 `cat` 以透明的方式跟随他们。 链接目标通过VFS调度器解决——它可以指向虚拟树的任何地方.

* * *

## 运行插件

因为插件住在里面 `/bin` 作为虚拟可执行文件,您引用 **直接按名称** 就像运行一个本地二进制。 CHELL 使用您的 **当前工作目录** 自动确定上下文,所以你不需要提供 `--previous_id` 手边.

### 案例1——从数据目录开始新的分析

```bash
cd /home/chris/uploads/SAG-anon
pl-fshack-v1.2.0 --inputFile brain.mgz --outputFile brain.nii
```

ChELL检测到您是 **在种子之外**它:

1.  自动运行 `pl-dircopy` 在当前目录上将数据设置为新种子
2.  将您的插件附在目录实例上作为下一步

为你创造了新的饲料——没有锅炉板.

### 案例2——继续进行现有分析

```bash
cd /home/chris/feeds/feed_123/pl-fshack_456/data
pl-segmentation-v1.0.0 --threshold 0.5
```

ChELL检测到您是 **在种子中**它从路径中提取插件实例 ID(`456`)并用作 `previous_id` 自动。 新插件节点被接入已存在的计算 DAG.

### 命名种子和实例

使用 `--` 从种子级别上下文中分离插件参数:

```bash
pl-fshack-v1.2.0 --inputFile brain.mgz -- feed_title="Brain MRI Study" instance_title="FreeSurfer recon"
```

之前的一切,都一样 `--` 转到插件; 设置 Chris 元数据后的一切.

### 检查已版本的插件

可执行文件本身会显示帮助、参数和寄存文件:

```bash
pl-fshack-v1.2.0 --help
pl-fshack-v1.2.0 --parameters
pl-fshack-v1.2.0 --readme
pl-fshack-v1.2.0 --readme --raw > pl-fshack-README.md
```

标记下 README 是终端显示的样式, 而 reStructured Text 是 保留为书面. `--raw` 只返回原始的 README 内容,制作 它安全地用于管道和定向。 这些表格在当地和 远程会话.

### 监测

```bash
job inspect <instance_id>
jobs list --feed <feed_id>
```

### 安装新插件

```bash
# Search the public peer store
store search simplefs

# Install (auto-discovers compute resources)
store install pl-simplefsapp

# Install pinned to specific compute
store install pl-simplefsapp --compute ares,argentum
```

`store install` (和 `plugin add`执行一个分三个阶段的决议:

1.  CUBE 报告已经登记
2.  在对等端商店中找到( E)`store set` 选择它; 立方体. chrisproject.org 默认) → 通过admin API导入
3.  未找到 – Docker 提取和注册

`plugin add` 也可以在另一个 CUBE 中取一个插件 URL,由 CUBE 自行获取,并且 `--json <file>`一个描述文件.

### 从插件索引中填入 CUBE

```bash
plugin sync --plan        # what FNNDSC/chris-plugins would add, skip and report here
sudo plugin sync          # the plan, one question, then the adds
plugin validate ./plugins # check descriptors without a CUBE
```

`plugin sync` 绝不删除或更改已经在那里的插件;见 [文件/插件.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/plugins.adoc)。 。 。 .

当登记需要升级时,ChELL报告原始故障和 建议明确的重试, 例如 `sudo store install pl-simplefsapp`。 。 。 . `sudo` 使用隐藏密码的管理员证书提示 产生的 CUBE 身份只用于嵌入命令。 远程会议 这些提示和引导 停留在原客户表面.

* * *

## 运行管道

A 类 **管道** 是一个已注册的模板——一个命名的、可重复使用的插件图,其参数默认连接在一起。 管道是静态的定义;它们不是自行运行.

A 类 **工作流程** 是一个管道的活性即时化, 连接在一个特定的饲料节点。 创建工作流程是"运行"一个管道的行为:ChrIS按顺序安排每个插件步骤,将一个输出输入下一个输入.

```bash
# Browse registered pipeline templates
pipeline list
pipeline info <name|id>

# Inspect or draw a registered template
pipeline manifest <name|id|slug>
pipeline diagram <name|id>

# Run by invoking its /bin name in the current context
brain-segmentation
brain-segmentation --segmentation.threshold 0.5
brain-segmentation --paramFile ~/experiments/run-1.yaml

# Equivalent explicit form
pipeline run brain-segmentation --previous <instance_id>

# Monitor all the jobs it spawns
jobs list --feed <feed_id>
```

`<pipeline> --manifest` 是完整注册的直接别名 引用 YAML, 包括管道标识、 存储值、 计算位置、 资源 控制 和地形学. `cat /bin/<pipeline>` 故意继续立即: 它只打印显示命令的缓存可执行摘要.

`<pipeline> --diagram` 直接绘图别名; 添加 `--withargs` 用于存储 默认或 `--signalflow` 信号花YAML。 管道参数和执行 控制使用情况 `--<node>.<field> <value>`时 `--paramFile <cfs-file>` 读取一个 耐用CFS的重叠很少 ChELL 自动解决当前上下文; `--previous <instance_id>` 选择一个明确的附件点.

* * *

## 监测工作: `/proc/jobs/`

因为每个插件在Chris同步运行, `/proc/jobs/` 是你们回来看看发生了什么 它以可导航的 DAG 显示您所有可见的种子及其插件实例 —— 与计算实际运行的树结构相同 .

```
/proc/jobs/
└── feed_123/
    ├── status                        ← aggregate feed status
    ├── title                         ← feed name
    └── pl-dircopy_456/               ← root node (j = job type in ls -l)
        ├── status                    ← finishedSuccessfully
        ├── params
        ├── log
        └── pl-fshack_789/
            ├── status                ← started
            └── pl-segmentation_1011/
                └── status            ← scheduled
```

```bash
ls -l /proc/jobs/feed_123            # see all nodes with colour-coded status
cat /proc/jobs/feed_123/pl-fshack_789/status   # terminal cached; active refreshed
cat /proc/jobs/feed_123/pl-fshack_789/log      # stdout/stderr
cat /proc/jobs/feed_123/pl-fshack_789/params   # what it ran with

# The whole feed as one DAG view
feed tree 123                         # collapsed, status-coloured tree (⋈ marks joins)
feed tree 123 --focus 789             # scope to one node's subtree
feed diagram --signalflow 123 | signalflow -   # emit the DAG; render with your own tools
pipeline diagram brain-segmentation  # shallow registered-pipeline template
brain-segmentation --diagram --withargs  # /bin alias with stored defaults
brain-segmentation --signalflow | signalflow - # direct SignalFlow alias

# Search across all jobs
tree /proc/jobs | grep 789           # find instance 789 and see its full lineage

# Cancel a running job
rm /proc/jobs/feed_123/pl-fshack_789

# Cancel all jobs in a feed (requires -r)
rm -r /proc/jobs/feed_123
```

状态颜色在 `ls -l`绿色= `finishedSuccessfully`黄色= `started`编号 :`running`灰色 = `scheduled`编号 :`cancelled`红色 = `finishedWithError`。 。 。 .

连接起动索引可见的种子列表,并温暖工作地形 背景情况。 一个守护进程首先恢复了 其识别范围的地方检查站, 验证其饲料是否仍然可见,并为可用地貌学服务 和CUBE调和 终端状态可以恢复; 活动 状态和日志仍然有效。 检查新鲜度和饲料范围 `proc stat`数字 :

```bash
proc stat                 # feed scope, loaded jobs, sweep and checkpoint state
proc stat feed_123        # cached detail for one feed
proc retry                # resume a failed topology sweep at its failed page
proc refresh              # rebuild all and start one replacement topology sweep
proc refresh feed_123     # scope to one feed
```

如果启动预补被禁用,则首先访问会建立索引懒散. 运行一个 满 `proc refresh` 在从另一个客户端或网络图形界面开展活动之后; CUBE 是 总是权威的.

自兹 `/proc` 路径编码实例ID,您也可以 **继续从任何节点进行分析** 只是通过 `cd`\- 进入其中:

```bash
cd /proc/jobs/feed_123/pl-dircopy_456
pl-fshack-v1.2.0 --inputFile brain.mgz   # attaches here, no --previous_id needed
```

* * *

## 密钥命令

### 文件系统

```bash
ls [-l] [-h] [-a]       # list directory
cd <path>               # change directory (follows .chrislinks)
cat <file>              # print file content
edit <file>             # open in $EDITOR, save back to ChRIS
cp / mv / rm            # copy, move, delete
mkdir / touch           # create directory or empty file
upload <local> <remote> # upload local file or directory tree
download <remote> <local>
tree                    # recursive listing
du                      # disk usage
```

### 资源

```bash
plugin list / search / inspect / run
plugins list [--search <term>] [--all]
<plugin>-v<version> --help / --parameters / --readme [--raw]
feed list / inspect
feeds list [--user <name>] [--all]
feed note <id>          # read feed note
feed note edit <id>     # edit feed note in $EDITOR
feed comments <id>      # list comments
pipeline list / info / manifest / run / source / diagram
workflow list / create
job inspect <id>
compute list            # list compute environments
```

### 存储

```bash
store list              # browse peer store
store search <query>
store install <plugin>  # install with admin escalation if needed
store inspect           # show current peer store URL
store set <url>         # override peer store
```

### 系统

```bash
id                      # CUBE UID, projected primary GID, and memberships
whoami                  # current CUBE user
whereami                # current CUBE URL (use pwd for working directory)
prompt list             # list prompt themes
prompt default          # compact single-line prompt
prompt p10k             # vivid two-line powerline prompt
connect --user <u> --password <p> <url>
logout
proc stat               # show /proc feed scope, freshness, and checkpoint
proc retry              # resume failed /proc reconciliation without starting over
proc refresh            # rebuild /proc job cache and restart topology warm-up
proc refresh feed_123   # scope rebuild to one feed
```

两个提示主题都显示为 `~`这样 `/home/chris/uploads` 显示为 `~/uploads`编辑 `default` 财务报告和审定财务报表 `p10k` 主题 共享一个生动真实的彩色调色板; `p10k` 添加背景填充的电线 区域、高相通字体、优美图标和可选状态信息. 图标和分隔符需要内德字体. 使用 `prompt --show` 预览 即时行动.

P10k 提示命令 PACS, CUBE URL, 用户, 路径, 以及 `/proc` 从左到左 对;可选物理模式指示和命令遥测随附 核心序列 。 可见 `/proc` 区分冷索引、 缓存 刷新并刷新失败; 一旦 CUBE 授权索引消失 是当前.

* * *

## 开始

```bash
# Start the shell, then connect interactively
chell
> connect --user chris --password chris1234 http://localhost:8000/api/v1/

# Connect via flags
chell -u chris -p chris1234 http://localhost:8000/api/v1/

# Compact user@host form (password prompted if omitted)
chell chris@localhost:8000/api/v1/
chell -p chris1234 chris@localhost:8000/api/v1/
```

### 脚本

```bash
# Non-interactive: single command via -c
chell -c "ls -l /home/user/study" > study_contents.txt
chell -c "store install pl-dircopy"

# Run a script file
chell -f my_workflow.chell
```

* * *

## 建筑

ChELL是"桑德威克模型"的演示层:

1.  **铃声** ——REPL,内建,制表完成,即时
2.  **吉利尔** ——键入命令,视图,CLI控制器
3.  **萨尔萨** ——业务逻辑,VFS调度器,意向层
4.  **库明** ——连接,上下文持续,状态
5.  **`@fnndsc/chrisapi`** - 原始 Chris REST 客户端

* * *

## 进一步阅读

| 文档 | 专题 |
| --- | --- |
| [文件/vfs.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/vfs.adoc) | VFS架构——提供者,发送,路径分辨率 |
| [文件/插件:adoc](https://npmcn.com/package/%40fnndsc/chell/docs/pluginrun.adoc) | 运行插件 — 新 feed vs 继续 feed, 等待, 命名运行 |
| [文件/商店.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/store.adoc) | 储存安装——三相分解,管理升级 |
| [文件/插件.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/plugins.adoc) | 注册插件 - `plugin add`从索引中填入 CUBE(`plugin sync`, (中文(简体) ), `plugin validate`, (中文(简体) ), `plugin index` |
| [文件/日志.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/login.adoc) | 连接和认证选项 |
| [文件/执行.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/execution.adoc) | 如何援引果壳:REPL, `-c`、脚本、旗帜 |
| [././docs/ manifest.adoc](https://npmcn.com/package/docs/manifest.adoc) | 脚本和明显语言: `@param`变量, `expect`, (中文(简体) ), `play` |
| [文件/命令.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/commands.adoc) | 完整命令参考 |
| [文件/文件目录](https://npmcn.com/package/%40fnndsc/chell/docs/pacsqr.adoc) | PACS 查询和检索 |
| [文件/物理模型.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/physicalMode.adoc) | 物理对逻辑文件系统模式 |
| [文件/目录.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/gotchas.adoc) | 已知的边缘案例和工作 |
| [文件/建筑图书.adoc](https://npmcn.com/package/%40fnndsc/chell/docs/architecture.adoc) | 完整的建筑深潜 |
| [内 容 提 要](https://npmcn.com/package/%40fnndsc/chell/CONTEXT.md) | 域名词汇表-ChrIS概念,权限模型,资源合同 |

* * *

## 许可证

部分 [Chris项目](https://chrisproject.org/)。 。 。 .

* * *

_ChELL是ChRIS项目的一部分._

* * *

_\- 30岁_

## 常见问题

### @fnndsc/chell 是什么？

ChELL 执行分层逻辑 - 交互式 ChRIS REPL Shell

### 如何安装 @fnndsc/chell？

在项目目录运行 npm install @fnndsc/chell，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 chell，可以用 npx chell 直接运行。

### @fnndsc/chell 支持 TypeScript 吗？

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

### @fnndsc/chell 支持 ESM 还是 CommonJS？

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

### @fnndsc/chell 可以商用吗？

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

### @fnndsc/chell 的下载量有多少？

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

### @fnndsc/chell 还在维护吗？

最新版本 5\.20\.12 发布于 2026/11/15（今天）；至今共发布 107 个版本，其中过去 12 个月发布了 107 个；首次发布于 2026/06/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

