@deepraxis/cli 0.1.0-dev.45dc412 → 0.1.0-dev.4b66104

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/COMMANDS.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Generated by `bun run commands`. DO NOT EDIT.
4
4
 
5
- 346 HTTP operations; 348 commands including aliases.
5
+ 368 HTTP operations; 370 commands including aliases.
6
6
 
7
7
  Environment: `PRAXIS_ENV=develop|production` (dev package defaults to `develop`; stable package defaults to `production`). No `--env` option.
8
8
 
@@ -21,15 +21,17 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
21
21
  | `praxis agent archive <agent_id>` | `agent.agents.archive` | POST `/agent/v1/agents/{agent_id}/archive` | |
22
22
  | `praxis agent computer archive <computer_id>` | `agent.computers.archive` | POST `/agent/v1/computers/{computer_id}/archive` | |
23
23
  | `praxis agent computer attachment create` | `agent.computers.attachments.create` | POST `/agent/v1/computers/{computer_id}/attachments` | `--computer`, `--name` |
24
- | `praxis agent computer connect <computer_id>` | `agent.computers.connect` | POST `/agent/v1/computers/{computer_id}/connect` | |
24
+ | `praxis agent computer connect <computer_id>` | `agent.computers.connect` | POST `/agent/v1/computers/{computer_id}/connect` | `--need` |
25
25
  | `praxis agent computer create` | `agent.computers.create` | POST `/agent/v1/computers` | `--name`, `--environment-id` |
26
26
  | `praxis agent computer delete <computer_id>` | `agent.computers.delete` | DELETE `/agent/v1/computers/{computer_id}` | |
27
27
  | `praxis agent computer file get-content` | `agent.computers.files.retrieveContent` | GET `/agent/v1/computers/{computer_id}/files/content` | `--computer`, `--path` |
28
28
  | `praxis agent computer file list` | `agent.computers.files.list` | GET `/agent/v1/computers/{computer_id}/files` | `--computer`, `--path` |
29
29
  | `praxis agent computer get <computer_id>` | `agent.computers.retrieve` | GET `/agent/v1/computers/{computer_id}` | |
30
+ | `praxis agent computer lease delete <lease_id>` | `agent.computers.leases.delete` | DELETE `/agent/v1/computers/{computer_id}/leases/{lease_id}` | `--computer` |
31
+ | `praxis agent computer lease renew create` | `agent.computers.leases.renew.create` | POST `/agent/v1/computers/{computer_id}/leases/{lease_id}/renew` | `--computer`, `--lease` |
30
32
  | `praxis agent computer list` | `agent.computers.list` | GET `/agent/v1/computers` | `--param-limit`, `--page` |
31
33
  | `praxis agent computer update <computer_id>` | `agent.computers.update` | POST `/agent/v1/computers/{computer_id}` | `--name` |
32
- | `praxis agent create` | `agent.agents.create` | POST `/agent/v1/agents` | `--name`, `--description`, `--system`, `--kind`, `--computer-id`, `--subagent-model` |
34
+ | `praxis agent create` | `agent.agents.create` | POST `/agent/v1/agents` | `--name`, `--description`, `--system`, `--kind`, `--computer-id`, `--subagent-model`, `--preset` |
33
35
  | `praxis agent deployment archive <deployment_id>` | `agent.deployments.archive` | POST `/agent/v1/deployments/{deployment_id}/archive` | |
34
36
  | `praxis agent deployment create` | `agent.deployments.create` | POST `/agent/v1/deployments` | `--environment-id`, `--name`, `--description`, `--vault-ids` |
35
37
  | `praxis agent deployment get <deployment_id>` | `agent.deployments.retrieve` | GET `/agent/v1/deployments/{deployment_id}` | |
@@ -40,9 +42,19 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
40
42
  | `praxis agent deployment update <deployment_id>` | `agent.deployments.update` | POST `/agent/v1/deployments/{deployment_id}` | `--description`, `--environment-id`, `--name`, `--vault-ids` |
41
43
  | `praxis agent deployment-run get <deployment_run_id>` | `agent.deploymentRuns.retrieve` | GET `/agent/v1/deployment_runs/{deployment_run_id}` | |
42
44
  | `praxis agent deployment-run list` | `agent.deploymentRuns.list` | GET `/agent/v1/deployment_runs` | `--created-at-gt`, `--created-at-gte`, `--created-at-lt`, `--created-at-lte`, `--deployment-id`, `--has-error`, `--trigger-type`, `--param-limit`, `--page` |
43
- | `praxis agent embed-token create` | `agent.embedTokens.create` | POST `/agent/v1/embed_tokens` | `--agent`, `--param-version`, `--external-user-id`, `--ttl-seconds`, `--budget-cents`, `--allowed-origins` |
45
+ | `praxis agent embed exchange create` | `agent.embed.exchange.create` | POST `/agent/v1/embed/exchange` | `--code` |
46
+ | `praxis agent embed get-appearance` | `agent.embed.retrieveAppearance` | GET `/agent/v1/embed/appearance` | |
47
+ | `praxis agent embed-token anonymous create` | `agent.embedTokens.anonymous.create` | POST `/agent/v1/embed_tokens/anonymous` | `--publishable-key`, `--visitor-secret` |
48
+ | `praxis agent embed-token create` | `agent.embedTokens.create` | POST `/agent/v1/embed_tokens` | `--hosted`, `--agent`, `--param-version`, `--external-user-id`, `--ttl-seconds`, `--budget-cents`, `--allowed-origins` |
44
49
  | `praxis agent embed-token list` | `agent.embedTokens.list` | GET `/agent/v1/embed_tokens` | `--agent-id`, `--external-user-id`, `--param-limit`, `--page` |
45
50
  | `praxis agent embed-token revoke create` | `agent.embedTokens.revoke.create` | POST `/agent/v1/embed_tokens/{id}/revoke` | `--embed-token` |
51
+ | `praxis agent end-user block create` | `agent.agents.endUsers.block.create` | POST `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block` | `--agent`, `--end-user` |
52
+ | `praxis agent end-user delete <external_user_id>` | `agent.agents.endUsers.delete` | DELETE `/agent/v1/agents/{agent_id}/end_users/{external_user_id}` | `--agent`, `--confirm` |
53
+ | `praxis agent end-user get <external_user_id>` | `agent.agents.endUsers.retrieve` | GET `/agent/v1/agents/{agent_id}/end_users/{external_user_id}` | `--agent` |
54
+ | `praxis agent end-user get-deletion <external_user_id>` | `agent.agents.endUsers.retrieveDeletion` | GET `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion` | `--agent` |
55
+ | `praxis agent end-user list` | `agent.agents.endUsers.list` | GET `/agent/v1/agents/{agent_id}/end_users` | `--agent`, `--param-limit`, `--page`, `--q` |
56
+ | `praxis agent end-user revoke-token create` | `agent.agents.endUsers.revokeTokens.create` | POST `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens` | `--agent`, `--end-user` |
57
+ | `praxis agent end-user unblock create` | `agent.agents.endUsers.unblock.create` | POST `/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock` | `--agent`, `--end-user` |
46
58
  | `praxis agent environment archive <environment_id>` | `agent.environments.archive` | POST `/agent/v1/environments/{environment_id}/archive` | |
47
59
  | `praxis agent environment create` | `agent.environments.create` | POST `/agent/v1/environments` | `--name`, `--description`, `--scope` |
48
60
  | `praxis agent environment get <environment_id>` | `agent.environments.retrieve` | GET `/agent/v1/environments/{environment_id}` | |
@@ -57,6 +69,7 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
57
69
  | `praxis agent session compact <session_id>` | `agent.sessions.compact` | POST `/agent/v1/sessions/{session_id}/compact` | `--instructions` |
58
70
  | `praxis agent session compaction list` | `agent.sessions.compactions.list` | GET `/agent/v1/sessions/{session_id}/compactions` | `--session` |
59
71
  | `praxis agent session create` | `agent.sessions.create` | POST `/agent/v1/sessions` | `--environment-id`, `--title`, `--vault-ids`, `--cwd`, `--computer-id`, `--time-zone`, `--model` |
72
+ | `praxis agent session delete <session_id>` | `agent.sessions.delete` | DELETE `/agent/v1/sessions/{session_id}` | |
60
73
  | `praxis agent session event list` | `agent.sessions.events.list` | GET `/agent/v1/sessions/{session_id}/events` | `--session`, `--created-at-gt`, `--created-at-gte`, `--created-at-lt`, `--created-at-lte`, `--order`, `--types`, `--param-limit`, `--page` |
61
74
  | `praxis agent session event send <session_id>` | `agent.sessions.events.send` | POST `/agent/v1/sessions/{session_id}/events` | |
62
75
  | `praxis agent session event stream` | `agent.sessions.events.stream` | GET `/agent/v1/sessions/{session_id}/events/stream` | `--session`, `--event-deltas` |
@@ -64,11 +77,13 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
64
77
  | `praxis agent session get <session_id>` | `agent.sessions.retrieve` | GET `/agent/v1/sessions/{session_id}` | |
65
78
  | `praxis agent session get-compact <operation_id>` | `agent.sessions.retrieveCompact` | GET `/agent/v1/sessions/{session_id}/compact/{operation_id}` | `--session` |
66
79
  | `praxis agent session get-context <session_id>` | `agent.sessions.retrieveContext` | GET `/agent/v1/sessions/{session_id}/context` | |
67
- | `praxis agent session list` | `agent.sessions.list` | GET `/agent/v1/sessions` | `--agent-id`, `--agent-version`, `--created-at-gt`, `--created-at-gte`, `--created-at-lt`, `--created-at-lte`, `--deployment-id`, `--include-archived`, `--memory-store-id`, `--order`, `--statuses`, `--param-limit`, `--page` |
80
+ | `praxis agent session list` | `agent.sessions.list` | GET `/agent/v1/sessions` | `--agent-id`, `--agent-version`, `--created-at-gt`, `--created-at-gte`, `--created-at-lt`, `--created-at-lte`, `--deployment-id`, `--include-archived`, `--memory-store-id`, `--order`, `--statuses`, `--param-limit`, `--page`, `--external-user-id`, `--source` |
68
81
  | `praxis agent session resource create` | `agent.sessions.resources.create` | POST `/agent/v1/sessions/{session_id}/resources` | `--session`, `--type`, `--file-id`, `--mount-path` |
69
82
  | `praxis agent session resource delete <resource_id>` | `agent.sessions.resources.delete` | DELETE `/agent/v1/sessions/{session_id}/resources/{resource_id}` | `--session`, `--query-session-id` |
70
83
  | `praxis agent session resource get <resource_id>` | `agent.sessions.resources.retrieve` | GET `/agent/v1/sessions/{session_id}/resources/{resource_id}` | `--session`, `--query-session-id` |
71
84
  | `praxis agent session resource list` | `agent.sessions.resources.list` | GET `/agent/v1/sessions/{session_id}/resources` | `--session`, `--param-limit`, `--page` |
85
+ | `praxis agent session run delete-feedback <run_id>` | `agent.sessions.runs.deleteFeedback` | DELETE `/agent/v1/sessions/{session_id}/runs/{run_id}/feedback` | `--session` |
86
+ | `praxis agent session run feedback create` | `agent.sessions.runs.feedback.create` | POST `/agent/v1/sessions/{session_id}/runs/{run_id}/feedback` | `--session`, `--run`, `--rating`, `--comment` |
72
87
  | `praxis agent session thread archive <thread_id>` | `agent.sessions.threads.archive` | POST `/agent/v1/sessions/{session_id}/threads/{thread_id}/archive` | `--session`, `--query-session-id` |
73
88
  | `praxis agent session thread event list` | `agent.sessions.threads.events.list` | GET `/agent/v1/sessions/{session_id}/threads/{thread_id}/events` | `--session`, `--thread`, `--query-session-id`, `--param-limit`, `--page` |
74
89
  | `praxis agent session thread get <thread_id>` | `agent.sessions.threads.retrieve` | GET `/agent/v1/sessions/{session_id}/threads/{thread_id}` | `--session`, `--query-session-id` |
@@ -76,7 +91,8 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
76
91
  | `praxis agent session thread stream <thread_id>` | `agent.sessions.threads.stream` | GET `/agent/v1/sessions/{session_id}/threads/{thread_id}/stream` | `--session`, `--query-session-id`, `--event-deltas` |
77
92
  | `praxis agent session update <session_id>` | `agent.sessions.update` | POST `/agent/v1/sessions/{session_id}` | `--title`, `--vault-ids`, `--model` |
78
93
  | `praxis agent toolset list` | `agent.toolsets.list` | GET `/agent/v1/toolsets` | |
79
- | `praxis agent update <agent_id>` | `agent.agents.update` | POST `/agent/v1/agents/{agent_id}` | `--description`, `--name`, `--system`, `--param-version`, `--kind`, `--computer-id`, `--subagent-model` |
94
+ | `praxis agent unarchive create` | `agent.agents.unarchive.create` | POST `/agent/v1/agents/{agent_id}/unarchive` | `--agent` |
95
+ | `praxis agent update <agent_id>` | `agent.agents.update` | POST `/agent/v1/agents/{agent_id}` | `--description`, `--name`, `--system`, `--param-version`, `--kind`, `--computer-id`, `--subagent-model`, `--preset` |
80
96
  | `praxis agent version list` | `agent.agents.versions.list` | GET `/agent/v1/agents/{agent_id}/versions` | `--agent`, `--param-limit`, `--page` |
81
97
  | `praxis application asset upload` | `application.assets.upload.create` | POST `/application/v1/assets/upload` | `--jwt` |
82
98
  | `praxis application subdomain get` | `application.subdomain.retrieve` | GET `/application/v1/subdomain` | |
@@ -99,6 +115,7 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
99
115
  | `praxis application worker secret list` | `application.workers.secrets.list` | GET `/application/v1/workers/{worker_id}/secrets` | `--worker` |
100
116
  | `praxis application worker secret update <name>` | `application.workers.secrets.update` | PUT `/application/v1/workers/{worker_id}/secrets/{name}` | `--worker` |
101
117
  | `praxis application worker update <worker_id>` | `application.workers.update` | PATCH `/application/v1/workers/{worker_id}` | `--name`, `--tags` |
118
+ | `praxis application worker version asset get-manifest` | `application.workers.versions.assets.retrieveManifest` | GET `/application/v1/workers/{worker_id}/versions/{version_id}/assets/manifest` | `--worker`, `--param-version` |
102
119
  | `praxis application worker version create` | `application.workers.versions.create` | POST `/application/v1/workers/{worker_id}/versions` | `--worker`, `--deploy`, `--main-module`, `--compatibility-date`, `--compatibility-flags` |
103
120
  | `praxis application worker version get <version_id>` | `application.workers.versions.retrieve` | GET `/application/v1/workers/{worker_id}/versions/{version_id}` | `--worker` |
104
121
  | `praxis application worker version list` | `application.workers.versions.list` | GET `/application/v1/workers/{worker_id}/versions` | `--worker`, `--param-cursor`, `--param-limit` |
@@ -303,7 +320,12 @@ Handwritten commands: `login`, `logout`, `whoami`, `org list`, `org switch <orga
303
320
  | `praxis organization cost list` | `organization.costs.list` | GET `/organization/v1/costs` | `--starting-at`, `--ending-at`, `--bucket-width`, `--time-zone`, `--group-by`, `--page` |
304
321
  | `praxis organization event get <id>` | `organization.events.retrieve` | GET `/organization/v1/events/{id}` | |
305
322
  | `praxis organization event list` | `organization.events.list` | GET `/organization/v1/events` | `--starting-at`, `--ending-at`, `--param-limit`, `--page` |
306
- | `praxis organization feedback create` | `organization.feedback.create` | POST `/organization/v1/feedback` | `--message`, `--contact-email`, `--name`, `--url`, `--associated-event-id`, `--source` |
323
+ | `praxis organization feedback count list` | `organization.feedback.counts.list` | GET `/organization/v1/feedback/counts` | |
324
+ | `praxis organization feedback create` | `organization.feedback.create` | POST `/organization/v1/feedback` | `--message`, `--contact-email`, `--name`, `--url`, `--associated-event-id`, `--title`, `--type`, `--source` |
325
+ | `praxis organization feedback get <id>` | `organization.feedback.retrieve` | GET `/organization/v1/feedback/{id}` | |
326
+ | `praxis organization feedback list` | `organization.feedback.list` | GET `/organization/v1/feedback` | `--phase`, `--query`, `--param-limit`, `--page` |
327
+ | `praxis organization feedback message create` | `organization.feedback.messages.create` | POST `/organization/v1/feedback/{id}/messages` | `--feedback`, `--body` |
328
+ | `praxis organization feedback message list` | `organization.feedback.messages.list` | GET `/organization/v1/feedback/{id}/messages` | `--feedback`, `--param-limit`, `--page` |
307
329
  | `praxis organization usage list` | `organization.usage.list` | GET `/organization/v1/usage` | `--starting-at`, `--ending-at`, `--bucket-width`, `--time-zone`, `--group-by`, `--page` |
308
330
  | `praxis sandbox command run <sandbox_id>` | `sandbox.sandboxes.commands.run` | POST `/sandbox/v1/sandboxes/{sandbox_id}/commands` | `--cmd`, `--cwd`, `--timeout-ms` |
309
331
  | `praxis sandbox connect <sandboxID>` | `sandbox.sandboxes.connect` | POST `/sandbox/v1/sandboxes/{sandboxID}/connect` | `--timeout`, `--memory` |
package/README.md CHANGED
@@ -7,8 +7,8 @@
7
7
  The official command line for [知行云 Praxis](https://deepraxis.com), the cloud where AI agents are built, run and hosted.
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/@deepraxis/cli?label=npm&color=2e8555)](https://www.npmjs.com/package/@deepraxis/cli)
10
- [![Node.js](https://img.shields.io/node/v/@deepraxis/cli?color=2e8555)](https://nodejs.org)
11
- [![License](https://img.shields.io/badge/license-Apache--2.0-2e8555)](./LICENSE)
10
+ [![Node.js](https://img.shields.io/badge/node-%E2%89%A520-2e8555)](https://nodejs.org)
11
+ [![License](https://img.shields.io/badge/license-Apache--2.0-2e8555)](https://www.apache.org/licenses/LICENSE-2.0)
12
12
 
13
13
  [Website](https://deepraxis.com) · [Documentation](https://docs.deepraxis.com) · [API reference](https://docs.deepraxis.com/docs/api) · [Console](https://console.deepraxis.com)
14
14
 
@@ -20,7 +20,7 @@ The official command line for [知行云 Praxis](https://deepraxis.com), the clo
20
20
  npm install -g @deepraxis/cli
21
21
  praxis login
22
22
  praxis model chat completion create --model deepseek-flash \
23
- --data '{"messages":[{"role":"user","content":"Say hello in three languages"}]}'
23
+ --data '{"messages":[{"role":"user","content":"Hello!"}]}'
24
24
  ```
25
25
 
26
26
  Every operation of the Praxis API is a command: about 350 of them across models, agents,
@@ -57,8 +57,8 @@ npx @deepraxis/cli model list
57
57
  ## Sign in
58
58
 
59
59
  ```sh
60
- praxis login # opens the device page; type the code shown in your terminal
61
- praxis whoami # who you are, which organization, where the credential is stored
60
+ praxis login # approve in the browser with the code shown
61
+ praxis whoami # account, organization, credential storage
62
62
  ```
63
63
 
64
64
  You need a Praxis account; sign up at [deepraxis.com](https://deepraxis.com).
@@ -68,7 +68,7 @@ Belong to several organizations? Every call runs in the active one:
68
68
  ```sh
69
69
  praxis org list
70
70
  praxis org switch <organization_id>
71
- praxis model list --org <organization_id> # one call in another organization
71
+ praxis model list --org <organization_id> # just this call
72
72
  ```
73
73
 
74
74
  For CI and other headless environments, create an API key in the
@@ -86,9 +86,11 @@ export PRAXIS_API_KEY=<your-api-key>
86
86
  ```sh
87
87
  praxis model list
88
88
  praxis model chat completion create --model deepseek-flash \
89
- --data '{"messages":[{"role":"user","content":"Write a haiku about the sea"}]}'
90
- praxis model embedding create --model <embedding-model> --data '{"input":"hello world"}'
91
- praxis model image generation create --model <image-model> --prompt "a lighthouse at dawn"
89
+ --data '{"messages":[{"role":"user","content":"A haiku"}]}'
90
+ praxis model embedding create --model <embedding_model> \
91
+ --data '{"input":"hello world"}'
92
+ praxis model image generation create --model <image_model> \
93
+ --prompt "a lighthouse at dawn"
92
94
  ```
93
95
 
94
96
  ### Agents
@@ -103,7 +105,10 @@ praxis agent create --data '{
103
105
  }'
104
106
  praxis agent session create --data '{"agent": "<agent_id>"}'
105
107
  praxis agent session event send <session_id> --data '{
106
- "events": [{"type": "user.message", "content": [{"type": "text", "text": "List the files in your home directory"}]}]
108
+ "events": [{
109
+ "type": "user.message",
110
+ "content": [{"type": "text", "text": "What can you do?"}]
111
+ }]
107
112
  }'
108
113
  praxis agent session event stream --session <session_id>
109
114
  ```
@@ -112,23 +117,24 @@ praxis agent session event stream --session <session_id>
112
117
 
113
118
  ```sh
114
119
  praxis sandbox create --template-id base
115
- praxis sandbox command run <sandbox_id> --cmd "python3 -c 'print(6 * 7)'"
120
+ praxis sandbox command run <sandbox_id> \
121
+ --cmd "python3 -c 'print(6 * 7)'"
116
122
  praxis sandbox delete <sandbox_id> --yes
117
123
  ```
118
124
 
119
125
  ### Search, data and automation
120
126
 
121
127
  ```sh
122
- praxis search create --query "latest Cloudflare Workers announcements" --max-results 5
128
+ praxis search create --query "AI agent frameworks" --max-results 5
123
129
  praxis database create --name notes
124
130
  praxis automation run create --data '{
125
- "source": "export default async (input: { n: number }) => ({ answer: input.n + 1 })",
131
+ "source": "export default async (i) => ({ answer: i.n + 1 })",
126
132
  "language": "ts", "input": {"n": 41}, "wait": 30
127
133
  }'
128
134
  ```
129
135
 
130
136
  Browse everything with `praxis --help`, `praxis <domain> --help`, or the full
131
- [command reference](./COMMANDS.md) in the package.
137
+ [command reference](https://unpkg.com/@deepraxis/cli/COMMANDS.md) that ships in the package.
132
138
 
133
139
  ## How commands work
134
140
 
@@ -170,8 +176,8 @@ The CLI writes its own skill file: the general rules plus one line per command,
170
176
  the API contract.
171
177
 
172
178
  ```sh
173
- praxis skill --install ~/.claude/skills # writes praxis-cli/SKILL.md
174
- praxis skill > SKILL.md # or print it anywhere
179
+ praxis skill --install ~/.claude/skills # praxis-cli/SKILL.md
180
+ praxis skill > SKILL.md # or print it
175
181
  ```
176
182
 
177
183
  After that, an agent such as Claude Code can drive every Praxis capability through the CLI and
@@ -200,7 +206,7 @@ Linux. Without a keychain they are written to `~/.praxis/cli/<env>.json` with mo
200
206
  ## Resources
201
207
 
202
208
  - [Documentation](https://docs.deepraxis.com) and [API reference](https://docs.deepraxis.com/docs/api)
203
- - [Command reference](./COMMANDS.md)
209
+ - [Command reference](https://unpkg.com/@deepraxis/cli/COMMANDS.md)
204
210
  - TypeScript SDK: [`@deepraxis/sdk`](https://www.npmjs.com/package/@deepraxis/sdk), the same API as code
205
211
  - Already using the OpenAI or Anthropic SDK? Point its `baseURL` at
206
212
  `https://api.deepraxis.com/openai/v1` or the Anthropic-compatible endpoint, as the
@@ -208,7 +214,7 @@ Linux. Without a keychain they are written to `~/.praxis/cli/<env>.json` with mo
208
214
 
209
215
  ## License
210
216
 
211
- [Apache-2.0](./LICENSE). Copyright 2026 南京深度实践人工智能科技有限公司 (Deepractice).
217
+ [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). Copyright 2026 南京深度实践人工智能科技有限公司 (Deepractice).
212
218
 
213
219
  "Praxis", "知行云" and "Deepraxis" are trademarks of Deepractice; the license does not grant
214
220
  rights to use them.