Asist CLI (英语)
这个 asiyst CLI 连接一个使用的网站 @asiyst/sdk 给一个Asiyst项目。 它不使相机,聊天机,仪表板,或分析UI.
安装和执行
全球安装
用于 asiyst 作为全局指令:
npm install --global @asiyst/cli
# or with Bun:
bun add -g @asiyst/cli
# Run:
asiyst --version
asiyst connect
项目-当地安装
要安装 @asiyst/cli 在特定项目内:
npm install --save-dev @asiyst/cli
# or with Bun:
bun add -d @asiyst/cli
支持的项目-当地引用:
- npx: (英语)
npx asiyst --version - 二进制 :
# macOS / Linux: ./node_modules/.bin/asiyst --version # Windows PowerShell: .\node_modules\.bin\asiyst --version # Windows CMD: node_modules\.bin\asiyst --version - npm 脚本 :
单位
package.json数字 :
然后运行 :"scripts": { "asiyst": "asiyst" }npm run asiyst -- status - 宾:
bunx asiyst --version
暂停执行
npx @asiyst/cli@latest
图标
Asiyst CLI的行为类似标准开发工具(如Git或Supabase CLI). 运行 asiyst 没有参数显示简洁的用法信息和退出。 每个操作直接被引用为 asiyst <command>。 。 。 .
使用 asiyst connect --project-id <PROJECT_ID> 或者说 asiyst connect 以启动认证和项目连接流程。 无 --project-id,认证流使用箭头键选择器来选择一个已存在的项目或通过安全的网络交接来创建新的项目,然后询问公共项目ID. CLI 从未提示用户ID, 也从未将认证的账户ID替换为项目ID .
标准命令是 login, (中文(简体) ), logout, (中文(简体) ), connect, (中文(简体) ), disconnect, (中文(简体) ), status, (中文(简体) ), project, (中文(简体) ), avatar, (中文(简体) ), sdk, (中文(简体) ), verify, (中文(简体) ), doctor, (中文(简体) ), health, (中文(简体) ), config, (中文(简体) ), update,以及 restart。 。 。 .
asiyst restart 请检查npm上最新的可用版本为CLI本身,比较语义版本,提示确认,安全地为活动环境安装更新(global/npx/local),验证已安装的版本,并自动重启CLI进程,同时保留所有已存在的证书并阻止重启循环.
asiyst sdk 显示状态 @asiyst/sdk 安装于当前工程(声明,安装,最新发布的npm版本). asiyst sdk update 检查 npm 最近的登记册 @asiyst/sdk,检测项目包管理器(npm, (中文(简体) ), pnpm, (中文(简体) ), yarn, (中文(简体) ), bun),提示确认,更新 @asiyst/sdk 在目标项目/工作空间中核查 node_modules/@asiyst/sdk/package.json。 。 。 .
asiyst login 在行动前用已认证的会话结束点检查现有的 CLI 会话 。 一个有效的会话在不打开浏览器的情况下被再使用;一个过期或被拒绝的会话通过浏览器的授权被清除并被替换. 如果无法达到API,则保留了现有的会话并登录无法验证的报告. 在没有有效会话的情况下,浏览器授权使用随机指定的本地host回调: CLI 注册回调并状态为 POST /cli/auth/challenge,打开返回的 Asiyst 授权 URL,验证一次性回调代码和状态,消耗挑战,并安全存储已核实的 CLI 会话. 仅在浏览器中的批准不被视为成功的登录. 登录时不请求用户ID,项目ID或API密钥.
asiyst connect --project-id K8mP2xQ7_vL4N9cR5T1zB6Y3
asiyst status
asiyst avatar import --avatar-id A7K9M2QX4P
asiyst disconnect
连接流验证了认证的账户,选择了24个字符项目ID,API密钥,并选择了10个字符AvatarID. API验证在连接被保存之前,账户,密钥,所选项目,和相机属于一起. 使用 asiyst connect --project-id <PROJECT_ID> --avatar-id <AVATAR_ID> 来绕过项目选择,并且以非交互方式提供两个ID;否则,CLI打开相关的仪表板页面并提示它们. 无效的项目ID可以被更正和再试,而过期的会话和未经授权的项目报告可采取行动的错误.
阿凡达核查采用批准的CLI合同. 目前Avatar导入在核实后被封禁,因为被批准的合同没有指定资产上传或文件引用机制. 当信息缺失时, CLI 不发送不完整的导入请求或修改网站文件 .
GitHub不属于这种CLI流量. GitHub寄存器的授权和知识库配置由Asiyst Web和Supabase管理. 网络仪表板可以将知识库和相机连接起来,但 asiyst avatar import 不请求 GitHub 证书、 下载仓库内容, 或在 GitHub 无法连接时屏蔽导入 。 网站只接收了SDK集成;而Avatar通过Asiyst后端检索所配置的知识.
分离是:
GitHub repository
-> Asiyst Knowledge Base
-> Avatar knowledge configuration
-> Asiyst backend
-> @asiyst/sdk
-> Website visitor
CLI 连接流量如下:
Step 1: Authenticated account
-> Step 2: Existing project selection or secure project creation / verification
-> Step 3: Domain verification
-> Step 4: API key verification
-> Step 5: SDK install & setup
-> Step 6: Avatar configuration & import
-> Step 7: Knowledge source connection
-> Final verification
交互式启动执行轻量级 npm 版本检查 。 如果新发布存在,则CLI只显示通知. 它从不自动安装或重启; 运行 update 并证实安装它。 全球设施得到更新。 对于 npx 引用, 最新的软件包会被下载和验证, 而不会更改网站项目 .
CLI用克南克语 /api/v1/cli/... aPI 密钥验证、所有者状态、外观验证和所描述的知识操作的路径 docs/sdk-cli-contract.md其他现有登录、登入、项目选择和诊断业务尚未与网上公布的合同进行比较。 密码,AI提供者密钥,Supabase密钥,以及私人API证书都决不能被放入URL或登录.
CLI 创建持续登入会话 POST /cli/onboarding/session 使用认证的 CLI 会话。 浏览器页面通过 POST /cli/onboarding/handoff,在请求信头中以此为参照进行了认证。 反应必须包含短寿命、单一用途 handoffToken; 只有该符号被放入 https://asiyst.com/cli/onboarding/handoff?token=...。网络交接端点必须验证并消耗该符号,为其已核实的用户建立现有的网页会话,并直接重定向到请求的页面(例如) /project/new)无通路 /register。无效或过期的会话必须返回 SESSION_EXPIRED,因此CLI可以要求用户重新连接而不是默默地重启注册.
生产 API 默认为 https://nqhxpgsjofzqudyqkqib.supabase.co/functions/v1/api。 。 。 .
合同和限制
当地批准的设计文件载于 docs/ASIYST_API_Contract_v1_for_approval.md;它还不是密码准确的网络发布合同. 在启动之前,将其与网上公布的合同和文件差异进行比较。 Avatar又需要Web团队指定实际上传或文件引用机制.
发展
npm run build
npm test
npm pack --dry-run