@dolusoft/command-console

中文文档
1.9.0发布于 2026/11/11MITTypeScriptES Module构建来源已验证近 30 天下载 3053

Vue 3 的无头命令控制台 : 在一个输入行上回滚回,其中包含召回, Tab 补全,上下文堆放和敏感行的编辑. 船没有CSS.

中文使用文档
文档目录4 节
  1. 构成部分
  2. 样式
  3. 混凝土
  4. 许可证

@ dolusoft/ command- 控制台

Vue 3 无头命令控制台 : useCommandConsole 编辑 CommandConsole 构成部分 命令控制台中,将一个输入行上方的条目回滚 提示:用户键入一行,控制台为它运行您的命令,并显示命令返回的内容. 线条编辑, 回顾、完成、取消、上下文堆栈和敏感行的编辑是库的;命令, 所有文字和造型都是你的 (一) 无海上保安系统的船只; vue 3.5+是其唯一的同位素.

pnpm add @dolusoft/command-console

全向导(命令、返回和效果、完成、召回、密钥、敏感行)是 仓库读取器。 。 。 .

构成部分

<script setup lang="ts">
import { ref } from 'vue'
import {
  CommandConsole,
  type CommandDefinition,
  type ConsoleEntry
} from '@dolusoft/command-console'

const commands: CommandDefinition[] = [
  { name: 'echo', run: request => request.rest },
  // From argument 1 on the line is secret: it is never kept, shown or emitted.
  {
    name: 'set',
    sensitive: { fromArg: 1 },
    run: (request, run) => save(request.args, run.signal)
  },
  { name: 'exit', run: () => ({ effects: [{ type: 'close' }] }) }
]
const entries = ref<ConsoleEntry[]>([])
const open = ref(true)
</script>

<template>
  <CommandConsole
    v-if="open"
    v-model:entries="entries"
    :commands="commands"
    prompt="app>"
    autofocus
    @close="open = false"
  />
</template>
  • 回顾、完成和背景 总是在. entries, (中文(简体) ), recall 财务报告和审定财务报表 context 属于控制台,除非 约束 v-model:*· ; initialState 给出未绑定切片的第一个值.
  • 道具 : commands, (中文(简体) ), prompt, (中文(简体) ), initialState, (中文(简体) ), createId, (中文(简体) ), maxEntries, (中文(简体) ), beforeRun, (中文(简体) ), onError, (中文(简体) ), formatError, (中文(简体) ), isSensitive, (中文(简体) ), recallLimit, (中文(简体) ), shouldRecord, (中文(简体) ), labels, (中文(简体) ), autofocus, (中文(简体) ), entries 编号 : recall 编号 : context,以及 console。 。 。 .
  • 一个超过组件的控制台: :console="pageConsole" 绘制其它处创建的控制台 可选特性, 并且从不处理它, 因此挂载的面板会显示相同的条目和活输入 。 其备选方案 是它的创造者: console, (中文(简体) ), commands 改为 shouldRecord 财务报告和审定财务报表 entries 编号 : recall 编号 : context 丢出一个 TypeError· ; labels 财务报告和审定财务报表 autofocus 应用.
  • 活动 : update:entries, (中文(简体) ), update:recall, (中文(简体) ), update:context (计: v-model,每个解析的数值为最后一个 释放,所以两个变化 在一勾同时保留, close (一个命令) close 影响)和 submit (单位:千美元){ inputId, sensitive },绝不是行;对于 Enter 和曝光的 run) (中文(简体) ).
  • 槽数 : block-text, (中文(简体) ), block-json, (中文(简体) ), block-table, (中文(简体) ), block-list, (中文(简体) ), block-message, (中文(简体) ), block-custom (单位:千美元){ block, entry }, (中文(简体) ), 内置 a div.cc-block, (中文(简体) ), prompt, (中文(简体) ), busy, (中文(简体) ), completion。一个插槽将取代内容,绝不是带有 钩子.
  • 标签 : 组件显示的每个文本 labels,超过英语默认值; messages 财务报告和审定财务报表 actors 合并一个 深层和消息可能是其参数的函数。 助理或外部代理人的线条 (单位:千美元)InputEntry.actor显示 labels.actors[actor] (单位:千美元)AI, (中文(简体) ), Agent(a) 内 span.cc-actor 在它的及时 条目 data-actor。 。 。 .
  • 显示 : focus(), (中文(简体) ), run(line), (中文(简体) ), cancel(), (中文(简体) ), reset(), (中文(简体) ), clear(), (中文(简体) ), console 财务报告和审定财务报表 state (未包装 模板参考 : consoleRef.value.state.running) (中文(简体) ).

样式

本构成部分使纯元素 cc-* 课程和 data-* 属性,列于 contract/dom.ts。没有大小或大小 样式: 给定 .cc-log 高度和 overflow-y: auto 它会滚动,在用户处于时留在下方 在这里.

.cc-log {
  height: 20rem;
  overflow-y: auto;
}
.cc-block {
  margin: 0;
  white-space: pre-wrap;
}
.cc-entry[data-tone='error'] {
  color: crimson;
}
.cc-console[data-busy] .cc-input {
  opacity: 0.6;
}
.cc-completion[aria-selected='true'] {
  background: highlight;
}

混凝土

useCommandConsole(options) 在不加标记的情况下给同一控制台: { console, state }时 state 是只读的 ShallowRef 控制台状态 一个值选项( E)commands, (中文(简体) ), prompt, (中文(简体) ), state, (中文(简体) ), maxEntries, (中文(简体) ), recallLimit获取 a 值、 ref 或 getter; 函数选项取其函数或 ref. features 财务报告和审定财务报表 initialState 读取 一次,控制台处理 呼叫范围; useCommandConsole({ console }) 镜像创建的控制台 在别的地方,别无他法,从不处理 可选特征来自 @dolusoft/command-console-core数字 :

import { useCommandConsole } from '@dolusoft/command-console'
import { consoleFeatures, recallFeature } from '@dolusoft/command-console-core'

const { console, state } = useCommandConsole({
  features: consoleFeatures({ recallFeature }),
  commands: () => commands.value
})

许可证

麻省理工学院,看 利比里亚。 。 。 .

版本与发布记录

@dolusoft/command-console 共发布 18 个版本,首次发布于 2026/10/27;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.9.0latest2026/11/112 天前
1.8.22026/11/112 天前
1.8.12026/11/112 天前
1.8.02026/11/112 天前
1.7.22026/11/112 天前
1.7.12026/11/112 天前

关于 @dolusoft/command-console 的常见问题

@dolusoft/command-console 是什么?

Vue 3 的无头命令控制台 : 在一个输入行上回滚回,其中包含召回, Tab 补全,上下文堆放和敏感行的编辑. 船没有CSS.

如何安装 @dolusoft/command-console?

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

@dolusoft/command-console 支持 TypeScript 吗?

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

@dolusoft/command-console 支持 ESM 还是 CommonJS?

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

@dolusoft/command-console 需要什么版本的 Node.js?

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

@dolusoft/command-console 可以商用吗?

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

@dolusoft/command-console 的下载量有多少?

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

@dolusoft/command-console 还在维护吗?

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