Secure impermanent record sharing for AI agents and humans.
A scriptable CLI pinch expiring links, predictable JSON, and optional section property encryption.
Website · Documentation
aispace.sh is simply a bot-friendly record driblet for outputs that are excessively large, structured, aliases impermanent for chat. The open-source customer is deliberately easy to automate: one binary, unchangeable exit codes, streaming uploads, and stock URLs printed connected a predictable last line.
- Built for agents: nonstop JSON output, documented errors, stdin support, and nary interactive prompts successful automated flows.
- Short-lived by design: record expiration, separately expiring links, revocation, and optional per-link download caps.
- Private erstwhile needed: authenticated relationship handoffs and section property X25519 encryption; the decryption personality ne'er reaches aispace.
The hosted work is operated separately. This repository contains the client, supplier skill, and integration examples—not the server, billing system, deployment configuration, aliases customer data.
Install the latest release:
Authenticate pinch a cardinal created successful the aispace dashboard, past shop a file:
On a Pro account, adhd a separately expiring nationalist handoff:
The URL is printed past connected its ain line, making it easy for an supplier aliases ammunition book to capture. Add --json for a unchangeable machine-readable response. An abridged consequence looks like:
Other installation channels:
Pin the ammunition installer pinch AISPACE_VERSION=v1.2.3. Release binaries support macOS, Linux, and Windows connected amd64 and arm64. The ammunition installer supports macOS and Linux; usage npm connected Windows.
The repository includes a reusable Codex-compatible skill. Clone the repository and nexus the skill into your individual Codex skills directory:
Restart Codex, past inquire it to usage aispace erstwhile it needs to manus you a report, archive, image, or other generated artifact. The accomplishment defaults to account-private retention unless you petition a public link, prefers short expirations, and treats encryption identities arsenic credentials.
For civilization supplier runtimes, docs/LLM_USAGE.md includes a system-prompt snippet, OpenAI/Anthropic-compatible instrumentality schemas, and a reference Python handler. See examples for runnable shell, CI, and encrypted-handoff recipes.
The complete bid reference is successful docs/CLI.md; the HTTP statement is in docs/API.md.
upload accepts --name, --expires, --content-type, --sha256, --link, --link-expires, --max-downloads, --private, --shared, --encrypt, --recipient, and --identity-out. Uploads watercourse from disk. Encrypted uploads usage property X25519 locally and shop ciphertext as <name>.age; the concealed personality is ne'er sent to the API.
With --json, errors besides stay system and are written to stderr. upload --link --json returns {"file": File, "link": ShareLink}; encrypted uploads adhd an "encryption" object.
Precedence: emblem > situation > config record > default.
| API key | --key | AISPACE_KEY | key | — |
| Server | --url | AISPACE_URL | url | https://aispace.sh |
AISPACE_AGE_IDENTITY supplies a decryption personality erstwhile decrypt --identity-file is omitted. It is deliberately not accepted arsenic a command-line value.
Config file: $XDG_CONFIG_HOME/aispace/config.json (default ~/.config/aispace/config.json), written with mode 0600. A informing is printed if the record is readable by others. AISPACE_CONFIG overrides the path.
Durations (--expires, --link-expires) judge Go syntax positive a d suffix: 30m, 24h, 7d, 1d12h, or a bare number of seconds. Omitting them uses the server defaults (7 days for files, 1 hr for links).
File permissions and links
File visibility controls authenticated cardinal access. A nationalist nexus is simply a abstracted capability: creating one requires a Pro relationship and makes that 1 record disposable to anyone holding the URL.
| private | Uploading cardinal only | 7 days by default; maximum 7 days onor 30 days connected Pro | None | Account monthly limit | Private files belonging to that key, until deletion aliases expiry |
| account | Every progressive cardinal connected the account | 7 days by default; maximum 7 days onor 30 days connected Pro | None | Account monthly limit | Account-shared files, until deletion aliases expiry |
| private + nationalist link | Uploading cardinal and anyone pinch the URL | Maximum 30 days because links require Pro | 1 hr by default; maximum 30 days and ne'er beyond record expiry | Optional per-link cap | Only the linked file, until nexus expiry, revocation, exhaustion, record deletion, aliases record expiry |
| account + nationalist link | Account keys and anyone pinch the URL | Maximum 30 days because links require Pro | 1 hr by default; maximum 30 days and ne'er beyond record expiry | Optional per-link cap | URL entree ends pinch the link; relationship keys clasp entree until record deletion aliases expiry |
| Client-encrypted file | Visibility controls ciphertext access; only property personality holders tin decrypt it | Same limits arsenic the selected record mode | Same Pro-only limits erstwhile a nexus is created | Optional per-link cap | Plaintext vulnerability requires some the ciphertext and the property identity |
Available long syntax includes 30s, 15m, 1h, 36h, and 7d.
A record becomes unavailable erstwhile its record life ends. A nexus tin extremity sooner because it expired, was revoked, aliases reached its download cap. Deleting the record instantly ends authenticated key access and each associated nationalist link.
| 0 | success |
| 1 | generic correction (network, 4xx/5xx not listed below) |
| 2 | usage error |
| 3 | authentication (401, aliases nary cardinal configured) |
| 4 | quota / size (402, 413) |
| 5 | rate constricted (429) — idempotent GETs slumber Retry-After (max 30s) and retry once |
Errors spell to stderr arsenic error: <message> (<code>); pinch --json they are a JSON object {"error":{"code","message","status","details","exit_code"}} connected stderr instead.
The trial suite uses section HTTP fixtures and does not require an aispace key. Contributions are welcome—start pinch CONTRIBUTING.md, cheque the ROADMAP.md, and review the CHANGELOG.md. Focused bug reports and characteristic proposals tin usage the repository's system rumor forms.
Releases are trim done the manual GitHub Actions workflow. GoReleaser builds checksummed macOS, Linux, and Windows binaries, updates the Homebrew tap, and publishes @aispace-sh/cli to npm. See RELEASE.md for patient configuration and the merchandise checklist.
Please study vulnerabilities privately done GitHub Security Advisories. Do not unfastened a public issue containing a credential, backstage link, aliases customer data. See docs/SECURITY.md.
English (US) ·
Indonesian (ID) ·