@dev-mainsequence/devtools

中文文档
0.3.17发布于 2026/11/05MITTypeScriptCommonJS零依赖构建来源已验证近 30 天下载 3353

共享主序列开发者动作、项目操作、MCP客户端和命令运行程序

中文使用文档
文档目录12 节
  1. 我安装哪个主序列工具?
  2. 这个 ms-devtools 命令行
  3. 签名
  4. 项目行动
  5. 项目MCP
  6. 图书馆 API
  7. 发现和账户绑定
  8. MCP 项目客户端
  9. 共享项目工具登记册
  10. 代理人、项目、工作空间和运输
  11. 发展
  12. 释放

主序列开发器工具

@dev-mainsequence/devtools 是 MainSequence 后面的共享类型脚本包 开发者集成:浏览器登录和机器会话,寄存器和项目 操作,项目 MCP 客户端,平台代理客户端,共享的项目工具 登记册和登记册 ms-devtools 命令行。 它没有运行时间 npm 依赖和制造 没有 LLM API 调用; 开发者动作运行决定性 。 宿主的融合生活着 他们自己的寄存器 只使用这个软件包的公开 API.

我安装哪个主序列工具?

东道主你得到的东西安装仓库
VS 代码一个 MainSequence 面板: 签名、 浏览寄存器和项目、 在本地设置、 打开签名终端、 运行 SDK 动作安装 主要顺序 从VS代码市场,或 code --install-extension mainsequencegmbh.vscode-mainsequencems-vscode-扩展
代码 (桌面和CLI)MainSequence面板(家,代码,项目,代理,工具),聊天中的代理消息,项目MCP工具, /ms 命令codex plugin marketplace add mainsequence-sdk/mainsequence-codex-plugin,则 codex plugin add mainsequence@mainsequence主序列- 编码- 插件
克劳德桌面 (代码)MainSequence gane(家,代码,项目,代理,工具),代理对话 /ms @agent,项目MCP工具,部署自定义 插件 添加市场 从寄存器添加输入 https://github.com/mainsequence-sdk/mainsequence-claude-desktop.git,安装 主要顺序 从 mainsequence-desktop主后序- claude- 桌面
终端或 CI这个 ms-devtools 命令行npx -p @dev-mainsequence/devtools ms-devtools --help,或 npm install -g @dev-mainsequence/devtools此寄存器

他们都需要22号或更新 并且每个后端共享一个签入 保存在操作中 系统证书存储( 登录 macOS 上的密钥链, 特勤通过 secret-tool (原始内容存档于2018-09-26). on Linux. 这个 mainsequence (毕通)并 command-center-sdk (节点) 命令行读取相同的记录, 所以在任何地方签名 在任何地方的标志。 窗口 在此软件包中没有持续存储: VS 代码扩展保存自己的会话 ,而代码和 Claude 桌面插件尚未在 Windows 上支持。 每个 主机的README解释了自己的设置;指挥中心的 设置-账户- 开发工具 页面给出与部署后端 URL 相同的步骤.

这个 ms-devtools 命令行

npx -p @dev-mainsequence/devtools ms-devtools --help
ms-devtools login --backend https://api.main-sequence.app
ms-devtools auth-status --backend https://api.main-sequence.app --check --json
ms-devtools refresh-token --backend https://api.main-sequence.app
ms-devtools repositories --backend https://api.main-sequence.app --json
ms-devtools status --path "/path/to/project" --json
ms-devtools sync --path "/path/to/project"

签名

login 使用 PKCE 打开主机浏览器的授权流和回回调; 账户创建是主机流量的一部分。 登录和 auth-status 工作之前的任何一个 SDK已安装. 跑者在打开浏览器前检查商店并读取 在报告成功前保存对对。 保存的记录是 SDKs 现有的 MainSequenceCLI.auth 服务、 后端范围账户和版本 1 JSON 格式; 有 没有单独的证书记录和符号文件. refresh-token 更新已保存 机器会话; 它不替换导出到另一个 shell 的符号 . logout 删除后端的本地记录并单独报告远程撤销 已完成.

登录持续时间只要其刷新符号: 后端结束于之后的固定时间 注册(默认为5天),但经常续签. auth-status 报告说 瞬间为 sessionEndsAt 并命名为摘要。 届会一旦通过 在未与后端联系的情况下,将读出签名,每个请求都会回答“保存的” 在协调世界时结束。 再说一遍" 401意味着后端不再接受 登录( 已过期、 已撤销 或另一个后端的): devtools 刷新一次, 否则询问 为一个新的登录。 403是账户缺乏的许可: FORBIDDEN, (中文(简体) ), 没有更新,没有重试,也没有签到的快.

特意提供的 MAINSEQUENCE_ACCESS_TOKEN 与其匹配 MAINSEQUENCE_ENDPOINT 是一个进程或 CI 身份。 一个被拒绝的流程身份永远不会 回到另一个保存的身份。 运行时证书是一条单独的应用道 而不为开发者动作所接受.

项目行动

后端选择使用明确的 --backend,则 MAINSEQUENCE_ENDPOINT,基特根号 .env 端点,现有的 CLI 配置,然后是标准后端. 项目 选择验证真正的 Git 根、 附属分支、 完整的 HEAD SHA 和 Canonical 远程 身份证明 模糊的 Python/ 前端项目需要 --type python 或者说 --type vite_react。 。 。 .

命令行为
status本地 Git 语境、 会话元数据以及已安装的命令能力.
resolve后端 Git-context 分辨率带有身份/分支/ref/承诺验证.
setup --uid UID --branch BRANCH --base-dir DIR [--install]获取已注册绑定; 重复使用/登记寄存器 SSH 密钥; 验证访问; 克隆输入 <base>/<org>/projects/<name>-<uid> (一个赤裸的) DIR 例如 mainsequence-dev 是您家目录中的文件夹, 作为 mainsequence CLI 读取; 只写一个结束点 .env;可选择安装依赖关系. 现有的退出文件夹从未被替换 .
installuv sync 用于 Python ; npm ci 前端项目.
sync用已安装的 SDK 刷新工程的依赖文件: Python code-repository sync 运行 uv lock, (中文(简体) ), uv sync 并锁定 requirements.txt 导出( e)mainsequence 9.0.5或以后);节点 code-repository sync 刷新点 package-lock.json 运行 npm ci (单位:千美元)@dev-mainsequence/command-center-sdk (见A/CN.9/WG.III/WP.105,第0.5.13段或以后)。 没有承诺消息, 干运行, Git 命令或后端请求: 审查修改, 然后自己承诺并按下 。 已安装的 SDK 仍然具有已退休的发行同步( S)--dry-run编号 :--message 在同步帮助中报告无法运行; 运行 update-sdk。 。 。 .
sdk-status孤立 Python 分布元数据加稳定源版本, 或节点 application sdk-status。源版本不能证明登记册的公布.
update-sdk [--dry-run]蟒 code-repository update-sdk 或节点 application update-sdk;保留该项目现有的依赖政策.
update-agentsPython SDK的包装 AGENTS.md 管理区块更新.
install-skills [--dry-run]节点SDK的打包技能安装. Python的综合技能指挥需要MCP,在此不支持.
env-cleanup删除遗留的项目证书并保留端点和无关的设置; 拒绝跟踪或并联 .env 文档.
skills-sync不支持的报告:后端拥有的技能需要MainSequence MCP.
open-folder, (中文(简体) ), signed-terminal被库所暴露的主机能力;终端跑车报告为不支持.

Python 调度用途 .venv/bin/mainsequence (单位:千美元)Scripts/mainsequence.exe )),在视窗上. 节点调度执行工程安装 @dev-mainsequence/command-center-sdk/cli/command-center-sdk.mjs 与跑者节点 可执行文件 。 没有全球SDK或同源路径是倒置. 检查命令帮助 ; 缺失或更老的能力产生结构化错误.

代码存储器的版本和发布标记是寄存器代码,例如 GitHub 动作工作流程;平台从Git推出,所以 sync 仅刷新 依赖文件且没有 freeze-env。对于已有的图书馆呼叫器,请同步 请求仍然携带 message 被接受,信件被忽略, a freeze-env 请求报告 UNSUPPORTED_ACTION和堕落者 sanitizeCommitMessage 导出 财务报告和审定财务报表 freezeEnv CLI 动作名称仍然保留,但没有构建命令.

若为 .env 仍然包含证书, 运行 env-cleanup 明确在SDK发送前. 它会去除犬形标志 运行时的证书 不支持的遗产标志 运行时间证书认证模式任务,包括 export 和白空间表。 这个 保存无关的应用程序设置, 保留 VS 代码扩展名中的结束点 块# BEGIN MAINSEQUENCE AUTH (managed by VS Code) . # END MAINSEQUENCE AUTH,作为 扩展写,不包括 .env 从吉特语开始,用私人语气写出来 权限。 此窗体中的文件不再写入 .

突变在 Git 常见目录中有一个寄存器锁定, 也覆盖链接 工作树。 在克隆存在之前, 设置锁定 .<folder>.mainsequence-devtools.lock 内 其犬目母目录. 取消停止子进程; 失败于 执行开始报告部分或不确定的影响。 失败的同步永远不会 自动重试或回滚。 突然处理后, 检查运行 动作在去除 stale 锁之前(mainsequence-devtools.lock 数字 目录,或命名的设置锁).

Raw SDK输出是私有的,不包含在结果或钩输出中. 进展 报告命令生命周期; 支持的结构状态元数据被过滤。 运行 SDK 当需要其详细的诊断输出时,直接在私人终端. 原始内容 证书从来不是论据、公开结果或模式上下文.

项目MCP

mcp-discover, (中文(简体) ), mcp-add, (中文(简体) ), mcp-list, (中文(简体) ), mcp-remove, (中文(简体) ), mcp-tools, (中文(简体) ), mcp-call 财务报告和审定财务报表 mcp-catalog [--refresh] 发现平台的 MCP 目录, 请记住选中的 释放、读取其工具并通过本地的 MCP 客户端引用,使用开发者 届会和短期释放证书。 连接保存于 mcp-connections.json 除了 CLI 配置( 主机可能注入) mcpConnectionsPath) (中文(简体) ). mcp-add 存储发布的名称、存储器的名称和 其寄存器分支与连接( e)name, (中文(简体) ), display_name, (中文(简体) ), code_repository_branch_uid),这样 mcp-list 在没有后端的情况下标签保存的连接 请求; 无法读取的标签被忽略,而不是使 MCP 不可用. 在 Codex 中这些连接的谈话用途如下: 代码插件的指南。 。 。 .

图书馆 API

import { createDevTools, createNodeHost } from '@dev-mainsequence/devtools';

const tools = createDevTools({ host: createNodeHost() });
const result = await tools.dispatch({ action: 'sync', root: '/path/to/project' });

同名调度员为图书馆,CLI和主机跑车服务. parseArguments, (中文(简体) ), tokenizeCommand 财务报告和审定财务报表 HELP 导出后, 主机可以解析与 ms-devtools。 。 。 . HostServices 供应浏览器和进程执行,安全进度, 取消, 以及可选本地文件夹和终端操作 。 共享代码导入否 主机API. 公共类型包括: ActionRequest, (中文(简体) ), ActionResult<T>, (中文(简体) ), ProjectContext, (中文(简体) ), ActionCapability 财务报告和审定财务报表 SessionStatus全权证书不对外开放.

createSessionService 拥有浏览器授权, 认证 HTTP, 刷新和 撤销; RepositoryClient 拥有 Canonic 后端响应和 Git 分辨率 合同; createDevTools 拥有项目动作和取消. HostAuthSession 是一个 用于同步主机SecretStorage、机器会话的选入兼容适配器 和东道国预测/移民政策 get, (中文(简体) ), save, (中文(简体) ), environment 财务报告和审定财务报表 persistence 方法是具有特权的认证桥梁,绝不能到达网页视图 状态、进度、日志、钩子输出或动作结果。 VS码扩展使用它的地方 没有本地商店可以到达; Codex 和 Claude Desktop 只使用本地持久性 .

发现和账户绑定

dispatch() 推断为会议状态、环境、代理目录、, MCP 发现、保存连接和工具目录;导出包括 McpConnection, (中文(简体) ), McpTool, (中文(简体) ), McpCatalog, (中文(简体) ), McpDiscoveryPage, (中文(简体) ), AgentDirectory 财务报告和审定财务报表 DiscoveryResultMap。 。 。 . 后端响应验证留在这里;主机应用程序拥有其视图状态.

const verified = await devtools.dispatch({ action: 'auth-status', backend, check: true });
if (verified.status !== 'success' || !verified.data?.username) throw new Error('Sign in first');
const scope = { backend, expectedAccount: verified.data.username, environmentUid };
const saved = await devtools.dispatch({ action: 'mcp-list', ...scope, readOnly: true });
const available = await devtools.dispatch({ action: 'mcp-discover', ...scope, enrichNames: true, limit: 20 });
  • mcp-list 与 readOnly: true 读取已保存的元数据, 无需标签查看、 锁定或 连接文件写入; 没有它, 保存的没有标签的记录由 首先列出可以读取它们.
  • mcp-discover 与 enrichNames: true 每次解决可选寄存器名称 分支,一次最多4个,没有连接写作.
  • mcp-environments 财务报告和审定财务报表 organization-environments 共享一个界限 listEnvironments 加载器: 重复行, 更改总计, 不成熟的空页和目录 over 1万个条目被拒绝.
  • MCP、代理和组织项目行动接受 expectedAccount内置 校正用于请求和重试的证书、拒绝 当选中的证书在 a 期间更改时, 不同账户并丢弃回复 读取. bindSessionAccount(session, backend, expectedAccount) 给出公有领域 同一合同的客户; 习惯 SessionService 执行可选 withAccount 方法,账户检查失败 UNSUPPORTED_ACTION 当它缺乏 一个 范围化会话无法登录、注销或更改认证 。 仍为主机 当所配置的后端或环境发生变化时,无效 stale 选择.

MCP 项目客户端

远程工具失败 MCP_TOOL_ERROR 保持消毒的MCP content 财务报告和审定财务报表 structuredContent 内 ActionResult.data,除运输和API出错;主机 保留这个结果和任何 effects 警告,电话从不重播 自动。 持续的客户再利用经核实的释放元数据、发放赠款和 它的存储器工具目录最多60秒, 不超过证书过期: a 编制 mcp-call 只发送业务 tools/call 请, mcp-tools 刷新点 明确计划,冷藏装置在进入和完成时远程核实账户,以及 温暖的呼叫在本地执行前后重读共享证书选择 . 登录、 更改证书对或保存的终点、 删除、 过期和运输 失败无效重用; 服务器仍然授权每个调用 . createDevTools() 默认拥有缓存; 每个请求创建调度器的主机通过一个不透明 createMcpConnectionCache() 处理为 mcpCache的会话适配器 selectionIdentity() 总是使用新的设置。 单独的 CLI 进程共享无缓存 .

冷却项目MCP(缩放为零 FastAPI 发布)缓慢:对照 生产CRM,第一次 mcp-call 取了53-71 s,取了7-10 s. 项目请求 有自己的预算, projectRequestTimeoutMs (违约120 s; requestTimeoutMs默认值 30 s,管辖后端请求)和a tools/call 尊重工具的广告 _meta["mainsequence.ai/timeout-seconds/v1"] 当它更大,上限为300秒。主机设置 他们的外部界限高于此。 错误消息显示哪个端点回答了哪个请求 (单位:千美元)The project MCP https://… returned HTTP 503 for tools/call crm_contacts_list.,告诉一个 超时( e)timed out after 120 s)除连接失败(failed before a response arrived (ECONNREFUSED)),并保留 JSON-RPC 错误的自己消息,被编辑.

共享项目工具登记册

两个主机插件都将每个保存的工程 MCP 连接工具作为一等工具呈现 名称: ms_<tool>_<hash> (例如 ms_crm_contacts_list_183f8138因此,一个 模式调用 crm_contacts_list 就像其他工具一样 此软件包拥有该注册 (单位:千美元)ADR 0004 数据); 插件只保留什么 具体针对他们的宿主.

  • projectToolName(backend, environmentUid, releaseUid, tool)数字 : ms_ + 远程名称 (外边的特征) [a-zA-Z0-9_-] 改为 _,切为32)+ _ + 小写 六进制 FNV-1a 32-位散列 backend:environment:release:tool一个远程工具 每个主机都有一个名称;上面的CRM向量是一个被冻结的测试.
  • projectToolDefinition(connection, tool) 财务报告和审定财务报表 projectToolDefinitions(connection, tools) (每个连接80个,重复和已丢弃的无效工具): { name, title, description, inputSchema, annotations } 说明 MainSequence <release name> [<environment>]: <remote description>一个物体图案和四个布尔提示, 默认开放世界.
  • projectToolResult(actionResult): 主机返回转发的呼叫内容: 远程 内容块,然后使用 JSON 文本块 summary, (中文(简体) ), effects, (中文(简体) ), error 财务报告和审定财务报表 structuredContent 当调用失败, 返回结构化内容或没有块 ; isError 关于任何未成功,带有远程内容的 MCP_TOOL_ERROR 保留了下来.
  • readProjectToolCatalog(dispatch, { backend?, environmentUid?, previous?, signal?, budgetMs? })数字 : mcp-list (只读),然后一个 mcp-tools 每个已保存的连接, 一次两次, 全部 在一个预算范围内(默认为300美元)。 无法读取目录的连接 在预算用完前不读, 保留其先前的工具并保留在目录中 标记 unavailable 有原因的,所以一个范围 其联系是不存在的 写入空和健康的; 已删除的连接丢失其工具; 连接在 范围被结转。 连接后端的会话当其工具被验证 名为.
  • createProjectToolCatalog({ dispatch, file?, backend?, budgetMs?, staleMs?, notify?, disabled? })数字 : 共享的盘子目录, project-tool-catalog.json 旁边 mcp-connections.json (单位:千美元)mainSequenceStateDirectory(env) 名称该目录). list() 从文件中解答 即刻,仅供主机的后端:给定的后端,或由 ready() 无 网络请求方式 auth-status 或从新鲜的事物中汲取教训,直到它实现 已知列表是空的, 绝不是后端的工具 . state() 报告连接 标记 unavailable 在文件中,无论哪个进程标出它们. refresh() 重读 在锁下,一个过程一次读目录,而另一个过程取出结果 从文件开始,返回时结束其调度器的信号; update(), (中文(简体) ), dispose() 财务报告和审定财务报表 notify 服务一个长寿主机,如 Codex MCP 服务器。 文件有计划 和标签.
  • 这个 mcp-catalog 动作返回对主机相同的定义、约束和状态 发送动作而不是导入:没有 refresh 从文档中 refresh: true 正在重新读取 stale 缓存, 并 'force' 总是,等待最多两个 时间是另一个过程的更新结束. mcp-tool-call 实值 mcp-call 已回复 页:1 projectToolResult 形状.

保留主机特定内容: Codex 服务器将定义合并到它的 tools/list, (中文(简体) ), 发送 tools/list_changed 并转发 ms_* 呼叫通过 mcp-call克劳德 桌面钩子登记定义, 每次通话前询问, 转换结果 块到信件 API 块,每个动作产生一个工人.

代理人、项目、工作空间和运输

  • 平台代理对话: 物剂发现,会话, 任务和持久 AgentDelivery 主机聊天的协调员 .
  • 组织项目: 环境范围项目 列出和重复本地工作空间设置.
  • 共享项目业务: 本地仓库 发现、删除、多克构建和编辑主机适配器.
  • 工作空间默认和环境: 后端和 寄存器文件夹分辨率和环境范围 MCP 动作.
  • 共享桌面传输: 每个用户的工人 每个聊天室使用一个进程的主机来共享HTTP连接,读取和符号更新.

A. 决 定 ADR 0001 (韩语) (共享工具), ADR 0002 (韩语) (多边协商程序) 客户端, ADR 0003 数据 (主仓库)和 ADR 0004 数据 (项目工具登记册).

发展

要求节点22或更新.

npm ci
npm run build
node dist/runner.js --help
npm run release:check
node scripts/verify-sdk-interop.cjs /path/to/mainsequence-sdk /path/to/command-center-sdk

release:check 类型检查、构建、运行测试、检查发布元数据和 文档,将 npm 归档打包到 artifacts/ 我从一个孤僻的、 消费者。 测试使用回回回固定的后端,合成的内存存储条目, 本地商店程序、安装的 CLI 固定装置和临时 Git 的备用设备 寄存器; 他们从不登录到真正的后端, 也不读取或写入用户的 证书。 浏览器测试必须允许循环网络 。 解析器, 标致器和终端跑车都有自己的套房 tests/arguments.test.cjs,从 主机跑者依赖它们.

可选的 SDK 兼容脚本检查实际 SDK 源执行 与两个方向的合成内存记录相对立,并带有一个孤立的临时Python 归家去. 它只为检查而导入 SDK 私人会话执行,并装入其 未运行 SDK 初始化器而从给定的退出中获取的依赖性 。 设定 MAINSEQUENCE_TEST_PYTHON=/path/to/sdk/.venv/bin/python 当它的CLI依赖性是 无法使用 python3。 Live OS 存储和后端刷新-旋转互操作性是一个 单独的释放检查.

释放

Npm 归档包含 dist, (中文(简体) ), README.md, (中文(简体) ), LICENSE 财务报告和审定财务报表 NOTICE; 主机适配器, 清单和市场从自己的储存库中释放出来。 要释放:设置 新版本输入 package.json 财务报告和审定财务报表 package-lock.json运行 npm run release:check,合并, 并按下标签 v<version>. 发布工作流程release.yml, GitHub 环境 npm重复检查,并通过 npm 公布经核实的档案 值得信赖的出版。 已出版的版本是不可改变的; 从未重现重建的归档 根据现有版本。 在GitHub的标签上写下释放笔记. 出版后,从注册处读取档案的完整性 (单位:千美元)npm view @dev-mainsequence/devtools@<version> dist.integrity; 当地 npm pack 已经 在主机将新版本钉入其锁文件之前.

版本与发布记录

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

版本发布日期距今
0.3.17latest2026/11/056 天前
0.3.162026/11/056 天前
0.3.152026/11/048 天前
0.3.142026/10/2616 天前
0.3.132026/10/2518 天前
0.3.122026/10/2319 天前

关于 @dev-mainsequence/devtools 的常见问题

@dev-mainsequence/devtools 是什么?

共享主序列开发者动作、项目操作、MCP客户端和命令运行程序

如何安装 @dev-mainsequence/devtools?

在项目目录运行 npm install @dev-mainsequence/devtools,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ms-devtools,可以用 npx ms-devtools 直接运行。

@dev-mainsequence/devtools 支持 TypeScript 吗?

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

@dev-mainsequence/devtools 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dev-mainsequence/devtools 需要什么版本的 Node.js?

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

@dev-mainsequence/devtools 可以商用吗?

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

@dev-mainsequence/devtools 的下载量有多少?

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

@dev-mainsequence/devtools 还在维护吗?

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