tripo-cli 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -104,6 +104,8 @@ tripo batch run assets.yaml --concurrency 2
104
104
  | `HTTPS_PROXY` / `HTTP_PROXY` / `NO_PROXY` | standard proxy variables, honored for all CLI traffic (plain Node fetch ignores them) |
105
105
  | `TRIPO_LLM_BASE_URL` / `TRIPO_LLM_API_KEY` / `TRIPO_LLM_MODEL` | optional OpenAI-compatible LLM for `tripo ai` conversation mode |
106
106
 
107
+ Setting `TRIPO_API_KEY` per shell — bash/zsh: `export TRIPO_API_KEY=tsk_...` · PowerShell: `$env:TRIPO_API_KEY = "tsk_..."` (persist for future sessions with `setx TRIPO_API_KEY "tsk_..."`) · CMD: `set TRIPO_API_KEY=tsk_...`
108
+
107
109
  ## Development
108
110
 
109
111
  ```bash
@@ -35,7 +35,10 @@ export function registerDoctorCommand(program) {
35
35
  : 'missing — run "tripo login"',
36
36
  critical: true,
37
37
  });
38
- if (configFileExists()) {
38
+ // Skipped on Windows: Node fakes POSIX mode bits there (a writable file
39
+ // always reads 0666), so the comparison can never pass — the file is
40
+ // protected by the user profile's NTFS ACLs instead.
41
+ if (configFileExists() && process.platform !== 'win32') {
39
42
  try {
40
43
  const mode = statSync(join(tripoHome(), 'config.json')).mode & 0o777;
41
44
  checks.push({
@@ -495,9 +495,12 @@ function finishSave(key, region, balance, profile) {
495
495
  // account I am using" — no second command needed for the common case.
496
496
  updateProfile(profile, { api_key: key, region });
497
497
  const where = profile === DEFAULT_PROFILE ? '~/.tripo/config.json' : `~/.tripo/config.json · profile "${profile}"`;
498
+ // "mode 0600" is only true where POSIX modes exist; on Windows the file
499
+ // relies on the user profile's NTFS ACLs, so the claim would be wrong.
500
+ const mode = process.platform === 'win32' ? '' : t({ zh: ',权限 0600', en: ', mode 0600' });
498
501
  success(t({
499
- zh: `Key 验证通过(region=${region}),当前余额 ${balance} 积分(已保存到 ${where},权限 0600)`,
500
- en: `key verified (region=${region}); balance ${balance} credits (saved to ${where}, mode 0600)`,
502
+ zh: `Key 验证通过(region=${region}),当前余额 ${balance} 积分(已保存到 ${where}${mode})`,
503
+ en: `key verified (region=${region}); balance ${balance} credits (saved to ${where}${mode})`,
501
504
  }));
502
505
  if (Number(balance) === 0) {
503
506
  warn(t({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tripo-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Tripo 3D intelligent CLI — turn a prompt or an image into engine-ready 3D assets from your terminal (Tripo V3 API)",
5
5
  "keywords": [
6
6
  "tripo",
package/skill/SKILL.md CHANGED
@@ -8,6 +8,7 @@ One command turns a text prompt or an image into local files: a 3D model (glb/fb
8
8
  ```bash
9
9
  npm install -g tripo-cli # or: npx tripo-cli ...
10
10
  export TRIPO_API_KEY=tsk_... # highest-priority auth; no interaction needed
11
+ # (PowerShell: $env:TRIPO_API_KEY = "tsk_...")
11
12
  tripo doctor # verify key, network, balance
12
13
  ```
13
14
 
@@ -4,6 +4,7 @@
4
4
 
5
5
  ```bash
6
6
  export TRIPO_API_KEY=tsk_... # zero interaction when a key is already provisioned
7
+ # (PowerShell: $env:TRIPO_API_KEY = "tsk_...")
7
8
  tripo login # humans in a terminal: interactive browser flow
8
9
  tripo login --region ov|cn # agents/CI without a key: headless device flow — prints a
9
10
  # verification URL + one-time code on stderr, waits for the