sxq。你可以在熟悉的 IDE 或 AI 编程智能体中修改项目,再把改动推送回 superun、生成预览并正式上线。
苏小强 CLI 与 superun 产品内的 AI 助手“苏小强”名称相同,但不是同一个东西。产品内的苏小强负责咨询和使用帮助;
sxq 命令负责从终端管理项目。准备工作
你需要:- Node.js 18 或更高版本;
- 目标 superun 项目的访问权限;
- 项目的
sessionId,可以在 superun 项目页面的 URL 中找到。
安装并登录
sxq login 会打开浏览器授权,并将临时凭证换成 PAT。从 v1.1.2 起,登录凭证默认保存在 macOS 钥匙串、Windows 凭据管理器或 Linux Secret Service 中,并按 API 基础 URL 隔离。已有 token 仍可通过以下命令导入:
sxq login --pat 隐藏输入,或用 sxq login --stdin 从标准输入导入;在线校验成功后才替换本地凭证。SUPERUN_PAT 优先于本地凭证,设置后执行 sxq login 只校验该环境变量,不打开浏览器、不保存到本地。空值或格式错误会报错;要使用本地凭证,请先取消该环境变量。PAT 不建议通过命令行参数传递,以免进入命令历史。
无会话 D-Bus 的无界面 Linux 环境会回退到本地明文凭证文件并提示,Unix 文件权限为 0600。凭证库已锁定、无法读取或损坏时,CLI 会报错,不会自动改用明文文件;请解锁或修复凭证库,也可以从密钥管理工具注入 SUPERUN_PAT。安装 CLI 时需保留 npm optional dependencies,以便加载对应平台的原生凭证库模块。
系统凭证库可用但没有凭证时,请重新登录;CLI 不会读取或迁移旧版明文 token,并会清理当前环境的旧明文登录凭证。sxq logout 只删除当前 API 环境在所选存储中的登录凭证,不撤销服务端 PAT;如果设置了 SUPERUN_PAT,还需自行取消该环境变量。
CLI 版本更新
从 v1.1.1 起,CLI 每天首次执行命令时检查 npm 升级策略。latest 提示新版本;若当前版本低于维护者设置的 required,CLI 会自动升级后重新执行原命令。sxq upgrade、sxq logout、--version 和 --help 始终可直接执行。网络异常时沿用缓存策略;没有缓存时放行。该策略无法约束尚未包含升级门禁的旧版 CLI。
关联并拉取项目
创建一个空目录,把它关联到远端项目,然后拉取文件:与 Git 协作
.sxq/attachments.json 保存的是当前目录上次同步的远端基线,不是 Git 索引。.sxq/ 默认不进入 Git,因此切换分支时,代码文件会变化,但同步基线不会跟着分支切换。新分支中较旧、内容不同或不存在的文件,可能被识别为修改或删除,即使你没有手动改动它们。
Git 项目默认只允许从 main 推送。项目使用其他主分支时,执行:
sxq link 和 sxq pull,让每个工作目录维护自己的 .sxq 基线。不要在仓库、worktree、分支或不完整的源码目录之间复制 .sxq,也不要强制把它加入 Git。
sxq push -f 只会忽略分支限制,不能证明当前文件就是你想推送的内容。仅在确认当前分支并核对完整清单后使用;它不能绕过 reset、rebase、历史改写或 worktree 不匹配等安全检查。
修改并推送代码
完成本地修改后,把改动推送回 superun:sxq push 会先拉取远端变化。如果文件无法自动合并,命令会中止,并在文件中写入 Git 风格的 <<<<<<<、======= 和 >>>>>>> 冲突标记。
拉取和合并完成后,CLI 会列出本次全部新增(+)、修改(M)和删除(D)文件,并要求 y/N 确认。-y 会保留清单展示但跳过输入确认,只应在已经核对并授权这些路径后使用。不要把 -f -y 当作失败后的通用重试方式。
处理全部冲突、删除标记并测试后,再次运行 sxq push。如果清单与预期不符,尤其是突然出现大量 M 或 D,请选择取消而不是继续。项目 .gitignore 匹配的文件,以及 node_modules、dist、.git 等内置忽略项不会同步。
预览和正式上线
更新前端预览并等待编译完成。front 是默认目标,可以省略:
旧命令
sxq publish 仍可继续使用,行为等同于 sxq preview front。执行时会提示“sxq publish 已弃用,请使用 sxq preview 代替”。执行数据库迁移
在supabase/migrations/ 下创建以下格式的迁移文件:
yyyyMMddHHmmss 时间戳,例如:
sxq push 推送迁移文件,CLI 会直接拦截。
命令速查
在 CI 或 AI 智能体中,只有在完整推送清单已被核对和授权后才能添加
-y。在非交互环境中,不带 -y 的推送会在提交前报错,不会一直等待输入。正式发布始终需要用户在浏览器页面确认。
npm 上的苏小强 CLI
查看已发布的软件包和当前版本。
源代码
阅读完整参考资料或提交问题。

