ae-system

AE Agent system administration CLI for root and agent administrators. Use when the user asks to manage Agent members, sandboxes and shared tools, company model visibility/defaults/pricing, usage statistics and exports, cost quotas, balance alerts, IM channels, channel routing, WhatsApp Web linking,

By thinkingaiagenticengine · 400 installs

npx skills add thinkingaiagenticengine/ae-cli --skill ae-system

Source repository · Upstream listing

ae system Use the system domain for Agent system administration: Mandatory Rules These commands are only for users whose Agent role is root or agent admin . The te agent /api/admin/ and /api/cli/channel/v1/ endpoints are the final authorization boundaries. A member receives a permission error (HTTP 403). Do not retry login or attempt a different endpoint after a 403. Run ae cli auth login host <host before using this domain. System administration requires a valid user CLI token session; sandbox identity headers are not an authorization substitute. +npm install is the exception that must also run inside a Linux te agent sandbox because it packages the installed Linux files. It still requires the logged in user to be root or agent admin . Discover real IDs with a list command before any update or delete. Never guess a user, sandbox, model, quota rule, or channel ID. Before every write, run dry run , show the target and effect, and obtain explicit user confirmation. The CLI itself prompts only for high risk write ; yes can bypass that prompt and is not a security boundary. Use dry run to inspect method, path, query, and redacted body without executing. JSON inputs accept inline JSON, @file , or for stdin. Prefer @file for channel credentials and other sensitive values. Successful output is JSON by default. Use format table only when a human readable table is more useful. After each command, check stderr and notice.host compat . If present, show the version warning and its update commands before the business result. Do not treat an absent ae cli command as proof that an HTTP endpoint is unreachable. An Agent with Bash/network access can construct requests directly; server authentication, role checks, company isolation, and resource ownership are the actual controls. Do not call DELETE /api/admin/members?openId=... or /api/internal/sandboxes/ through ad hoc HTTP. They are intentionally excluded from this Skill because other systems own those integration contracts. Command Groups Members Command Risk Purpose +list member candidates read List TE company users that can be added. +list members read List Agent members in the current company. +add members write Add one or more TE users, optionally binding a quota rule or creating sandboxes. +set member status write Enable or disable a member. +set member role write Change a non root member between agent admin and member . +remove member high risk write Remove a non root member. +get member stats read Get one member's token usage and recent conversation count. Examples: +list members filters: q : login/display name search. status : all enabled disabled . page , page size : page size is 1 100. all : return all matches. sort field periodUsedAmount , sort dir asc desc : central usage sort. +add members members schema: Optional flags are rule id and create sandbox true false . Sandboxes Command Risk Purpose +list sandboxes read List company sandboxes. +get sandbox config read Read feature status and create/active seat limits. +batch create sandboxes write Create personal sandboxes for 1 100 users. +update sandbox write Update a sandbox description. +set sandbox enabled write Enable or disable a sandbox. +start sandbox write Start a sandbox container. +stop sandbox write Stop a sandbox container. +list sandbox users read List users bound to a sandbox. +bind sandbox user write Bind a member to a sandbox. +unbind sandbox user high risk write Remove a sandbox user binding. +remove sandbox high risk write Delete a sandbox and its bindings. Examples: Use Agent database user IDs from +list members , not TE openIds, for sandbox commands. Shared Sandbox Tools Command Risk Purpose +upload sandbox tool write Validate, ZIP, and upload an existing tool directory. +npm install write Install one exact npm CLI version in a temporary sandbox directory, generate tool.json , and upload it. +list sandbox tools read List preset and custom tools for the current company. +sync sandbox tools write Synchronize preset tools from the server manifest. +get sandbox tool distribution read Read the sandboxes currently receiving one tool. +set sandbox tool enabled write Enable or disable one registered tool. +remove sandbox tool high risk write Delete a fully reclaimed tool registration. +activate sandbox tools write Activate selected commands on selected or all running sandboxes. +deactivate sandbox tools write Remove managed command shims from selected or all running sandboxes. +refresh sandbox tool status write Refresh observed tool state on target sandboxes. +list sandbox tool operations read List activation/deactivation history. Uploaded tools are registered for the current company with enabled=false . Upload does not activate the tool in any running sandbox. Review and enable/activate it through sandbox tool management after upload. For activate/deactivate/status operations: target mode selected requires 1 50 sandbox ids ; all running forbids them. tool ids contains 1 20 real IDs from +list sandbox tools . command names by tool id optionally limits an operation to named commands. expected tool snapshots by id carries the version/package/command snapshot returned by the server for optimistic concurrency checks. JSON maps accept inline JSON, @file , or stdin. Use dry run and user confirmation before distribution changes. Preferred npm Flow Run this inside the target Linux te agent sandbox: For a scoped package or a custom shared tool identifier: Requirements and behavior: package must be an exact registry package version. Tags, ranges, URLs, Git sources, npm aliases, and local paths are rejected. The installed package must expose at least one package.json bin entry. Each bin becomes one tool command. The default tool name is the unscoped package name. Use name only when a different valid lowercase tool identifier is required. npm lifecycle scripts are disabled with ignore scripts by default. Use allow scripts true only after reviewing and trusting the package and all transitive dependencies. The command calls the admin upload policy endpoint before starting npm. A disabled feature, expired session, or non admin role fails before installation. Installation uses a temporary prefix with development dependencies omitted. Temporary installation and ZIP files are removed whether upload succeeds or fails. npm created node modules/.bin symlinks are converted to regular executable wrappers in the ZIP. All other symlinks, special files, and links resolving outside the package root are rejected. Pure JavaScript Node.js CLIs are the supported baseline. Packages that require native addons, downloaded platform binaries, build tools, system libraries, or lifecycle setup may fail when scripts are disabled or when activated in a different runtime image. If lifecycle scripts are necessary, install and upload from the same Linux sandbox image family that will execute the tool. Upload never makes an incompatible native artifact portable. Existing Directory Flow Use the low level command when the tool is already installed or assembled: The directory root must contain exactly one tool.json . An external manifest is allowed only when the root has no tool.json : Minimal manifest: Upload contract: name and command names must start with a lowercase letter and contain only lowercase letters, numbers, . , , or , with a maximum length of 64. Command names must not replace reserved runtime commands such as node , npm , npx , bash , python , git , curl , or sudo . Every command entry must be a regular file under the upload root. Use runtime: "node" for JavaScript entry files and runtime: "native" only for an executable compatible with the sandbox Linux image. Paths must be relative and normalized. Absolute paths, .. , backslashes, control characters, empty segments, and a current path segment are rejected. ZIP limits are 50 MB compressed, 500 MB unpacked, 50 MB per file, and 10,000 files. The server publishes only after independently validating the same boundaries. Do not pre create or write /data/app/te agent ta/share/tools from a sandbox. Sandboxes are read only for that directory; the authenticated te agent upload endpoint owns the final write and registration. A tool name can be registered only once per company in this first static version flow. Choose the final name and version before upload. Models Command Risk Purpose +list system models read List system models and company visibility. +set system model enabled write Toggle a system model for the current company. +get model sync settings read Read the default visibility policy for newly synchronized system models. +set model sync settings write Update the new system model visibility policy. +get system model price rules read Read one managed system model's stored pricing snapshot. +list company models read List company models, including disabled models. +set company model enabled write Toggle a company model for all company users. +get default models read Read the AE AGENT and AI QA default slots. +set default model write Set one default model slot. +clear default model high risk write Clear one default model slot. Examples: biz type is AE AGENT AI QA and defaults to AE AGENT . Use the database id returned by a model list, not the provider model name. Usage Command Risk Purpose +get usage summary read Get token/cost summary for a relative or absolute range. +get usage details read Get paginated usage grouped by user, model, date, or application type. +get agent tool calls read Get Agent tool call count for a range, optionally refreshing the cache. +get usage combinations read Drill one parent group into the remaining dimensions. +export usage read Stream filtered one dimension usage groups to CSV. +export usage details read Stream full or drill down multi dimension details to CSV. Examples: Summary range: Use days 1..365 , or provide both start date and end date . Dates use YYYY MM DD . Do not combine days with an absolute date pair. refresh true is available on +get usage summary and +get agent tool calls and bypasses the overview cache. Details flags: start date and end date are required. group by : user model date app type . Optional filters: search , open id , model id , model scope , app type . model scope requires model id . sort by : totalTokens cost share requestCount . sort dir : asc desc . Combination drill down requires exactly one parent selector: user → open id only. model → model id and model scope only. app type → app type only. date → date only, inside the selected range. CSV exports require an explicit output . The target is created exclusively: an existing file is never overwritten, and an HTTP or stream failure removes the incomplete file. The JSON result reports the absolute local path, bytes written, server filename, and content type. Cost Control Command Risk Purpose +get cost summary read Get company cost, quota, and usage summary. +get balance read Get the current model account balance and currency. +list over limit users re