New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@viceme-ai/cli

Package Overview
Dependencies
Maintainers
1
Versions
93
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@viceme-ai/cli

Install the ViceMe creator CLI and official Agent Skills

latest
Source
npmnpm
Version
0.45.2
Version published
Weekly downloads
1.5K
-48.24%
Maintainers
1
Weekly downloads
 
Created
Source

ViceMe CLI

Turn local AI Agent Skills into publishable products—from the conversation you already use.

Install the CLI and official Agent Skills together, then ask Codex, Claude Code, or WorkBuddy to do the rest.

简体中文 · Quick Start · Agent Skills · Commands · Security

Why ViceMe CLI?

  • Agent-native — describe what you want in natural language instead of memorizing a publication command sequence.
  • One installation — the native CLI and matching official Skills are installed together for Codex, Claude Code, WorkBuddy, and the shared ~/.agents/skills fallback.
  • Human-controlled publishing — the model can suggest bilingual copy and media, but only the user decides the price and authorizes public publication.
  • Deterministic and resumable — the CLI validates and packages locally, preserves publication identity across interruptions, and avoids duplicate listings when a response is lost.
  • Built for Agents and automation — stable JSON output, error codes, dry runs, and explicit state transitions make every action inspectable.
  • Safe by default — browser authorization, origin-bound profiles, local secret checks, immutable digests, and verified uploads protect the release path.

What you can do

CapabilityWhat ViceMe provides
Publish a SkillValidate a local Skill directory or ZIP, set a CNY price, upload it, review platform suggestions, and publish a paid listing.
Publish a websiteRegister and publish a creator website with a stable Website Work identity; verify ownership separately only for commerce, follow, or paid-access features that require it.
Add creator accessAdd host-native login, follow gates, and independently priced one-time feature access.
Add hosted engagementBranch between danmaku on a published Website Work with an exact canonical Origin, open tips on any eligible published Merchant Work, or both; no engagement route requires DNS ownership verification.
Set up an AgentInstall, authenticate, update, diagnose, and repair the CLI and official Skills as one compatible release.
Recover safelyContinue the same publication after a network or process interruption without uploading a duplicate product.

Quick Start

  • Install the CLI and official Skills:

    curl -fsSL https://s3.viceme.cn/start/install.sh | sh
    
  • Start a new Codex, Claude Code, or WorkBuddy conversation so the Agent can discover the installed Skills.

  • Attach a local Skill directory or ZIP and ask naturally:

    Publish this Skill to ViceMe.

The Agent checks login, keeps the selected Profile fixed throughout the workflow, validates the Skill, immediately uploads the private Draft, and opens its real Owner Preview. It uploads media candidates without asking for a price, then the user's Agent prepares the bilingual copy and media suggestions. The Agent shows the complete listing—including the images—and asks one combined question for the price and any desired changes. It then shows the final review and asks once whether to confirm and publish it publicly.

Local Skill → Login → Validate and private upload → Owner Preview → Agent enrichment
            → Complete listing details + price question → Final review
            → Confirm and publish → Public URL

The initial request to “publish” is not permission to make the listing public. Public publication happens only after the final review is displayed and the user explicitly confirms it.

From the terminal

# Verify the installation and current account.
viceme doctor
viceme auth status

# Sign in only when auth status reports unauthenticated.
viceme auth login

# Confirm the MerchantAccountMember(OWNER) authority used for publication.
viceme merchant accounts

# Upload the real private draft and open its Owner Preview before pricing.
viceme skill publish --path ./my-skill --edition-key my-skill --edition-order 0
# With multiple active Merchant accounts, select the confirmed account:
# viceme skill publish --path ./my-skill --edition-key my-skill --edition-order 0 --merchant <merchant-account-id>

# Continue the same unpriced draft and upload media candidates.
viceme skill publish --resume <publication-id>
viceme publication review <publication-id>

# The Agent writes a revision-protected suggestion. Platform analysis is an explicit fallback only.
viceme publication suggest <publication-id> --input <suggestion.json>
# viceme publication analyze <publication-id> && viceme publication wait <publication-id>

# After reviewing the complete listing details, set CNY 1.00 on that draft.
viceme skill publish --resume <publication-id> --price-minor 100

Installation

The official bootstrap installs the native CLI and all official Agent Skills from one immutable release.

macOS or Linux

China:

curl -fsSL https://s3.viceme.cn/start/install.sh | sh

International:

VICEME_REGION=global sh -c "$(curl -fsSL https://s3.viceme.ai/start/install.sh)"

Windows PowerShell

China:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
irm https://s3.viceme.cn/start/install.ps1 | iex

International:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
$env:VICEME_REGION="global"; irm https://s3.viceme.ai/start/install.ps1 | iex

If the bootstrap cannot be used, npm is the fallback:

npx --yes @viceme-ai/cli@latest install

The installer writes the compatibility fallback to ~/.agents/skills and the native user directory of every detected supported Agent:

AgentNative directory
Codex~/.agents/skills (shared fallback; written once)
Claude Code~/.claude/skills
WorkBuddy~/.workbuddy/skills

Codex uses the shared directory documented in Codex Skills. --agent codex is an alias for agents, including install results and doctor checks; it no longer writes $CODEX_HOME/skills (default ~/.codex/skills). Existing legacy copies are left intact. Claude Code still needs its separate native directory: Claude Code Skills does not list .agents/skills as a discovery location.

Select a target explicitly with viceme install --agent codex, claude, workbuddy, or agents. Run viceme doctor after installation or repair.

Official Agent Skills

SkillUse it when you want to...
creator-toolsinstall ViceMe, sign in through the browser, manage Profiles, update, diagnose, or repair the local setup.
become-a-creatorapply for or check creator qualification for merchant-only workflows; personal profile publishing stays independent.
customize-your-profile-pageuse AI to create, locally preview, publish, update, or roll back any signed-in user's personal profile page.
customize-your-work-pageuse AI to redesign or import a downloadable Skill work page, including its visible actions and final preview.
sell-a-skillpublish or update a paid or free downloadable Skill; websites, services, and generic goods are out of scope.
use-a-skillresolve free, purchased, or purchase-required access, install the selected Skill, and continue the original task.
charge-for-your-workconfigure follow or paid unlock for an existing website and integrate it into host code after the shared creator qualification check; platform resources stay internal.
let-people-interactbranch between danmaku, open tips, or both; danmaku-bearing routes require a published Website Work with an exact canonical Origin, while Tip can use any eligible published Merchant Work. It defaults to Mounted UI and uses Headless only for an explicit custom-UI request; none requires DNS ownership verification.
let-others-make-a-copypublish a complete website source ZIP with a root VICEME-REPLICA.md, then integrate the platform-provided replica prompt into the creator's own site; it does not perform buyer checkout or installation.
let-me-make-a-copyaccept a website copy invitation; install from the regional S3-hosted official Skill ZIP, reuse account-bound or anonymous CLI purchasing when available, preserve an existing standalone recovery, and fall back to the bundled no-CLI script.

Buyer-side use-a-skill and let-me-make-a-copy keep independent names because they are not creator workflows.

The Agent Skills own the conversational workflow and approval rules. The CLI owns deterministic local work and API calls. This separation lets an Agent explain decisions while the same command contract remains reproducible from a terminal or automation.

How Skill publishing works

The current publication flow accepts one local directory containing a root SKILL.md, or one local ZIP. Common GitHub ZIPs with a single wrapping directory are normalized automatically. Remote URLs and multi-Skill bundles are not accepted.

StageResponsibility
LoginBrowser authorization happens before protected API work. Every command remains pinned to the same Profile and API origin.
InspectLocal validation rejects unsafe paths, special files, excessive content, sensitive files, and common secret patterns.
Private upload and previewThe initial publish request authorizes the private Draft upload. The real package is verified and its Owner Preview opens before pricing.
Agent enrichmentThe user's Agent reads the Skill as untrusted source data, prepares bilingual copy, and selects verified cover and gallery uploads. Platform analysis is an explicit fallback only.
Listing details and priceAfter enrichment, the Agent displays the exact title, bilingual copy, cover, and gallery, then asks one combined question for the CNY price in fen and any desired changes. It never asks for price by itself.
ReviewThe Agent displays the exact copy, price, cover, and gallery images. The listing title is at most 20 characters and the summary is at most 100; Chinese and ASCII each count as 1.
PublishOne explicit final confirmation authorizes review confirmation followed by immediate, irreversible public publication.

If the upload or response is interrupted, continue the existing publication:

viceme skill publish --resume <publication-id>

Never create a second publication merely because the previous response was unknown. Query or resume the existing ID first.

Authentication and Profiles

Each Profile binds one API base URL, Web base URL, market region, and device-authorized account as one authority. The separately stored distribution region selects only the CLI and bundled Skill download source.

Official CN Profiles use API https://viceme.cn/api and Web https://viceme.cn; GLOBAL uses API https://viceme.ai/api and Web https://viceme.ai. Commands append /v1/... to the API base, so requests enter the site's Gateway as /api/v1/....

Profiles saved with the retired https://api.viceme.cn or https://api.viceme.ai roots resolve to the corresponding Gateway URL in memory. Reading a Profile does not rewrite its configuration file; the next explicit save persists the canonical URL. Profile IDs, existing credentials, publication bindings and pending requests keep their original local storage identity. Only these two official endpoint aliases are recognized; custom hosts, paths, ports and local development endpoints remain separate.

Previously installed product Skills can contain an older Python runtime. After updating the CLI, viceme skill ready <product> --skill-dir <directory> reports that installation needs repair. Run viceme skill install <product> --skill-dir <directory> explicitly to refresh it in place. Repair preserves trial identity, pending requests and user files; it does not reset the server's trial quota. Background CLI updates do not rewrite installed Skills. Standalone Python users need the newly published official bootstrap before repairing an old installation; an old embedded script cannot update itself after its API host has been removed.

viceme auth login
viceme auth status
viceme auth logout

viceme profile list
viceme profile use default

For a test or private deployment, persist a generic HTTPS endpoint in a dedicated Profile before signing in:

viceme profile add \
  --name private-cn \
  --api-base-url https://api.example.com \
  --web-base-url https://www.example.com \
  --market-region cn \
  --use
viceme auth login

VICEME_API_BASE_URL is an API-only one-process CI/debug override, not Profile state. Persistent login is disabled while it is set. Remote custom endpoints require HTTPS; only localhost and loopback development may use HTTP. Credentials are isolated by Profile authority, and an Agent must never switch to another Profile merely because it is already signed in.

The official hosted development environment uses API https://dev.viceme.cn/api, Web https://dev.viceme.cn, and market cn. The CLI pins its Commerce signing key to that HTTPS origin for paid Skills and Website Replica licenses. Select an existing dev Profile, or substitute these addresses and name in the profile add example above. The development key is not trusted on production origins, other domains, or other ports. Unknown remote keys are never fetched and trusted dynamically. Key rotation requires a CLI release first; see the release guide.

viceme auth login intentionally keeps running until browser authorization finishes or its bounded timeout expires. Keep the command active, show the one-time complete URL to the user, and wait for the final result. The page signs the user in when necessary and authorizes the CLI automatically; the user never types a device code. If the wait expires, start a fresh viceme auth login. Never copy an access token into the conversation.

Command reference

CommandPurpose
viceme versionShow the CLI and bundled Skill versions.
viceme doctorCheck the CLI, active Profile, credentials, API readiness, and installed official Skills.
viceme auth statusShow whether the active Profile is signed in.
viceme profile listShow Profiles and their API, Web, and market authorities.
viceme profile page describeResolve the signed-in user's server-authoritative personal profile URL and supported page capabilities.
viceme profile page upload ...Validate and upload a static personal profile bundle together with its owner-only editable source, without Merchant or an online preview.
viceme profile page status/source/publish/activate ...Inspect, restore, publish, or roll back the current user's immutable personal profile releases with concurrency protection.
viceme skill inspect --path <path>Validate a local Skill without side effects.
viceme skill listing prepare --path <path>Create or recover the stable private owner preview and persist the local binding.
viceme skill listing get <listing-id>Read the authoritative private Listing state.
viceme skill listing bind <listing-id> --path <path>Explicitly bind a source to a selected owned Listing.
viceme skill publish --path <path> --edition-key <key> --edition-order <order> [--merchant <id>]Freeze the selected owned Merchant, upload the real private package, and return its Owner Preview before pricing. Edition selection is always explicit; --merchant is required only when multiple active Merchants exist.
viceme skill publish --resume <id>Continue the same unpriced Draft and upload media candidates without starting a platform model.
viceme publication review <id>Read the authoritative bilingual copy, price, selected media, and review state.
viceme publication suggest <id> --input ...Apply Agent-generated bilingual copy and media with Draft revision protection.
viceme publication analyze <id>Explicitly request platform-model analysis when the current Agent cannot perform enrichment.
viceme publication wait <id>Wait for an explicitly requested platform analysis without re-uploading.
viceme skill publish --resume <id> --price-minor <fen>Apply the reviewed CNY price to the same Draft without creating another Listing.
viceme publication asset upload ...Replace user-selected media, or add --candidate-only to stage Agent-provided media for publication suggest.
viceme publication update ...Replace the complete listing draft from a strict JSON file.
viceme publication confirm ...Confirm the exact current review digest.
viceme publication publish ...Make a confirmed listing public.
viceme replica preview --url <loopback-page-url>Open the actual local page for the creator. The CLI validates connectivity; the creator reviews styling and the agent owns the server lifecycle. WorkBuddy flows present the page with present_files in the task preview. Missing input returns PROVIDE_PREVIEW_URL, without inspecting project filenames.
viceme replica publish --path <project-or-zip> --page-dir <directory> --page-entry <relative-html> --preview-reviewed ...Agent 明确选择可部署页面目录和 HTML 入口;CLI 不搜索 dist/build/out,不推断框架,不运行构建。纯静态项目可以用 --page-dir .,相对目录基于源码根目录(ZIP 输入基于 ZIP 所在目录)。创作者确认预览后冻结 SOURCE 与 PAGE,返回 30 分钟终审;原样执行 --confirm 命令上传。未提供页面选择时返回 PREPARE_HOSTED_PAGEPROCESSING 仅表示已提交。
viceme replica repair-hosting --publication <ID> --path <page-directory> --page-entry <relative-html>Agent 选择目录与入口,只修复页面托管;已有 WorkPage ZIP 则以 ZIP 为 --path,不传入口参数。执行返回的确认命令,中断后复用同一请求,源码和买家权益保持不变。
viceme replica sales --replica <ID>Inspect the current source version, price and management permission; suspended owners retain read-only access.
viceme replica analytics <work-url>使用当前 Profile 校验作品 OWNER 权限,再带身份实时读取该作品的 Markdown;返回 markdownUrlmarkdownfetchedAt。拒绝其他 Web authority 和重定向,不向输出暴露凭据。
viceme replica price --replica <ID> --price-cents <cents>Review a price change (0 is free), then run the complete returned confirmation command. No source upload is required.
viceme replica delist --replica <ID> / viceme replica relist --replica <ID>Review delisting or relisting, then run the complete returned confirmation command. Existing purchase rights remain unchanged.
viceme replica publish --path <project-or-zip> --state-project <same-project-or-zip> ...Keep atomic publication recovery state in the authorized project’s .viceme directory. Preserve this locator for confirmation, status, resume and cancel; existing requests are never silently migrated. See sandbox storage and recovery.
viceme replica status <publication-id>Read authoritative Website Replica Publication state and complete the stable local binding after a published terminal state.
viceme replica resume <publication-id>Continue only the missing upload, verification, submission, or allowed retry step from authoritative state.
viceme replica cancel <publication-id>Cancel a Publication before activation and clean its local recoverable source.
viceme replica install <code> [--target <new-directory>]With an authenticated Profile, display the authoritative Quote before --confirm; add --accept-price-cents <fen> for anonymous checkout and --payment-presented only after its hosted payment page opens. Both paths atomically install the paid source.
viceme updateExplicitly update the CLI. Refresh official Skills separately with viceme install --agent auto.
viceme merchant accountsList ordinary MerchantAccounts where the current User is the OWNER member.
viceme merchant work ...Create, inspect, update, and publish Merchant Works, including Website Works.
viceme merchant page ...Validate, preview, publish, inspect, and roll back immutable custom Creator/Work page bundles.
viceme merchant work website-verification ...Create, inspect, verify, or revoke DNS ownership for one Website Work.
viceme merchant work sdk-access ...Manage hosted danmaku/tip and follow/paid access on one Work. Hosted and access domains preserve each other; creation returns permanent public keys.test and keys.live identifiers, not credentials.
viceme merchant commerce-application ...Manage Commerce Applications. For open tips, a matching application is optional trusted-source attribution rather than an authorization gate.
viceme merchant product ...List, suspend, or archive Products (downloadable Skill editions and website access products).
viceme commerce ...Install and run a signed purchase Skill through session, quote, payment order, and same-session status commands.

Run viceme <command> --help for the full flags and JSON fields.

The page hosting Tip UI and the selected Work are separate resources. No engagement route requires Website ownership or DNS verification. A Tip-only integration does not register the host as a Website Work. Danmaku-only and combined routes still use a published Website Work whose canonical Origin exactly matches the deployment Origin. The current release likewise does not require DNS TXT verification or a registered embedding Origin for Website follow/paid access.

The combined route uses one published Website Work because danmaku requires that identity. It renders one bottom interaction bar on one target, with Tip opened from that bar instead of a body card or host-rendered Headless control. Tip itself adds no domain or Commerce Application gate, and engagement does not create or mutate Website Widget applications. Website follow/paid access and its platform-managed WEBSITE_WIDGET resources are provisioned internally by the charging flow and Shop, with no Origin/DNS or checkout-parent gate. Separately configured domain-bound HOSTED_CHECKOUT applications and signed webhooks retain their ownership-verification rules.

Without matching optional trusted-source attribution, ViceMe still records the actual browser source as an unverified Origin; it does not reject an open tip.

Output and updates

Business output is JSON by default. Successful output is the only content on stdout; progress and diagnostics use stderr. Errors use a non-zero exit code and a stable error.code, so Agents and automation never need to parse message text.

{
  "ok": true,
  "data": {},
  "meta": {
    "executingCliVersion": "<version>",
    "autoUpdate": {
      "from": "<previous-version>",
      "to": "<executing-version>",
      "status": "updated"
    },
    "requestId": "optional"
  }
}

meta.executingCliVersion is the version of the process that emitted the response. For viceme update, the newly installed version is reported separately as data.cli_version because the response is still emitted by the process that started the update. meta.autoUpdate may appear when startup recovery had to hand an already-started command to a newly committed CLI.

After an ordinary command has emitted its response, a detached worker checks the stable release channel and updates only the CLI. The foreground command never waits for release discovery or activation, and background launch, network, permission, or installation failures never replace its JSON response. A successful replacement is used by the next viceme process; it does not require restarting the surrounding Codex, Claude Code, or WorkBuddy app. Checks are coalesced for 24 hours, while failed checks or updates become eligible for another background attempt after one hour.

Official Skills are a separate lifecycle because an Agent usually loads them when a task starts. CLI auto-update therefore never rewrites Skill directories. Refresh them intentionally with viceme install --agent auto, then start a new Agent task when the host needs to rediscover the files.

viceme update --check
viceme update
viceme install --agent auto

viceme update remains the explicit CLI repair command and keeps the same permission preflight and durable recovery rules. For compatibility, viceme update --agent <target> still requests a combined CLI and Skill repair, but new automation should keep the two commands separate.

Permission preflight checks every path that the selected installation method will mutate before creating an activation journal. For npm this includes the configured cache, actual scoped global package, and launcher directories through Node so the host filesystem broker is preserved. For standalone CLI-only updates it checks the executable directory; a separate Skill install checks every selected Agent destination. A denied explicit-update preflight keeps the previous generation intact and requests host approval. A denied background attempt is recorded locally and does not affect the foreground command. Permission can still change after preflight, so any failure after an install attempt retains the recovery journal until startup recovery completes.

An explicit update or pending recovery that lacks filesystem access returns UPDATE_PERMISSION_REQUIRED (exit 6, not automatically retryable). The Agent must request access through its host's official approval mechanism and retry viceme update only after access is granted. A chat message granting consent does not itself change OS or host permissions. If approval is refused, unavailable, or still insufficient, stop updating. Never delete recovery journals, uninstall the CLI, or bypass host restrictions to force an update. Pending recovery is identified by error.details.recovery_required or recovery_pending target statuses; it must not be treated as an intact old installation. Neither raw npm output nor credentials are included in errors.

Security

  • Local packaging rejects path traversal, absolute paths, symlinks, special files, oversized content, sensitive files, and common secret patterns.
  • The API independently validates the immutable ZIP, digest, and object metadata instead of trusting a client-reported result.
  • Credentials remain in the CLI's secure local store and are scoped to a Profile and API origin; they are never part of Agent conversation state.
  • Presigned upload URLs are not written to the local pending-operation store.
  • Agent enrichment treats all package content as untrusted data and cannot bypass server-side package, media, ownership, or revision validation.
  • Explicit platform-model analysis receives only filtered text, metadata, and image thumbnails.
  • Public publication requires the exact reviewed copy, price, cover, and ordered gallery to be displayed and explicitly authorized.

Development

Requirements: Go 1.23+ and Python 3.9+; Node.js 22+ is required for npm packaging checks.

make check
make npm-package-check
make release-manifest

The CLI and official Agent Skills are versioned and released together. GitHub, npm, s3.viceme.cn, and s3.viceme.ai artifacts come from the same reviewed commit.

创作者收入提现

国内站登录后,可由 Agent 调用官方 withdraw-income Skill 自主提现;旧凭证首次使用时重新运行 viceme auth login

viceme withdraw context
viceme withdraw create --request-id <稳定任务标识>
viceme withdraw create --request-id <稳定任务标识> --amount 100.00
viceme withdraw status --request-id <原任务标识>

--amount 的单位是人民币元;省略时按可提现收入、渠道上限和剩余当日额度选择金额。 每个新任务使用新请求标识;首次办理、重新登录和网络失败后沿用原标识及原参数恢复。 CLI 在当前账号与 Profile 下保存请求,确保恢复时不会重新选额或换账户。 渠道需要本人实名签约、绑定或确认收款时,Skill 展示现有网站入口,完成后继续原单。 PENDINGACTION_REQUIRED 均不代表到账;只有 SUCCEEDED 表示全部提现成功。 定期触发和长时间跟踪由上层 Agent 负责。

网站创作提示词教程

merchant work tutorial publish <work-id>--input tutorial.json 发布教程;必填 --merchant--request-id--expected-version--preview-steps--price-cents。重试复用原请求 ID 和完整输入,价格 0 表示全文公开。教程与网站源码分别授权,版本发布后不可修改。

viceme tutorial preview <work-id>
viceme tutorial read <work-id> --version 1
viceme tutorial buy <work-id> --version 1
viceme tutorial download <work-id> --version 1 --output tutorial-v1.json

预览无需登录;读取、购买入口和下载使用当前 CLI 账号。buy 返回网站结账入口,需在网站使用相同账号完成支付;不自动扣款。下载仅导出已解锁的指定版本 JSON,拒绝覆盖已有文件。网站托管预览沿用 replica publish --page-dir ... --page-entry ...,无需新增上传机制。需要先部署 Shop 的教程 API,再使用这些命令。

FAQs

Package last updated on 17 Sep 2026

Related posts