deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

aispace.sh open-sources a scriptable CLI for expiring file sharing aimed at AI agents

aispace.sh has released an open-source CLI for temporary file sharing, pairing expiring links and predictable JSON output with optional local age encryption so both AI agents and shell scripts can drive it.

aispace.sh open-sources a scriptable CLI for expiring file sharing aimed at AI agents

A new open-source project has surfaced on Hacker News's front page: aispace, the command-line client for the aispace.sh file-sharing service. It targets a specific gap — handing off generated artifacts such as reports, archives, images, and datasets that do not belong in a chat window and often only need to exist for a few minutes or hours. The pitch is that a human at a terminal and an autonomous agent should be able to use the tool interchangeably.

A file drop built for scripts

According to the project's GitHub README, the client is deliberately easy to automate. It ships as a single binary, streams uploads from disk, accepts input over stdin, and avoids interactive prompts in automated flows. After an upload finishes, the last line of output is the share URL on its own, so a shell script or agent can capture it, and a -- flag returns a stable machine-readable response describing both the file and any link that was created.

Errors get the same treatment. Exit codes are fixed and documented, with distinct codes for usage mistakes, authentication failures, quota and size limits, and rate limiting. In JSON mode, errors arrive as a structured object on stderr rather than free-form text. When rate-limited with a 429, idempotent GET requests sleep according to the Retry-After header — up to 30 seconds — and retry once.

Expiry is the default

Nothing in aispace is meant to live forever. Files expire after seven days by default, with a seven-day ceiling on free accounts and 30 days on Pro. Public links, which the README says require a Pro account, are a separate capability layered on top of a file: they default to one hour of validity, can carry a per-link download cap, never outlive the underlying file, and can be revoked individually. Deleting a file immediately ends authenticated access and every public link attached to it. A separate account-wide mode hands a file to another key on the same account without creating any public URL.

Optional local encryption

For sensitive payloads, the client can encrypt before uploading, using age with X25519 keys. Only the ciphertext is uploaded — encrypted files are stored with a .age suffix — and the decryption identity is written to a local file and, per the README, never sent to aispace's API. Someone who obtained the stored ciphertext would still need the identity to read anything. A decryption identity can be supplied through an environment variable, but deliberately not as a command-line value. On the receiving side, downloads can optionally check the recorded SHA-256 hash of a file.

An agent skill in the box

The repository includes a Codex-compatible agent skill that can be symlinked into Codex's skills directory. The skill defaults to account-private storage, prefers short expirations, and treats encryption identities as credentials. For custom agent runtimes, the documentation provides a system-prompt snippet, tool schemas compatible with OpenAI and Anthropic APIs, and a reference Python handler, alongside runnable shell, CI, and encrypted-handoff examples.

Installation is available through a shell script, npm, Homebrew, or go install, with release binaries for macOS, Linux, and Windows on amd64 and arm64. Configuration lives in a file under the user's config directory, written with 0600 permissions, and the client warns if that file becomes readable by others.

Worth noting: the repository contains the client, the agent skill, and integration examples — not the service itself. The hosted server, billing, and deployment configuration are operated separately, so the client's behaviour can be inspected directly while the backend remains closed.

Why it matters

As coding agents generate more and larger artifacts, chat windows and ad-hoc pastebins are becoming the weak link in the pipeline. A tool designed around stable output, documented exit codes, no prompts, and expiry-by-default is precisely what an autonomous caller needs — the difference between a capability an agent can reliably invoke and one it fumbles. The local age encryption model also reduces the trust users must place in the operator, since plaintext never has to reach the server, although these security claims are the project's own and have not been independently audited. Even developers who never use the hosted service may find the design a useful template for what agent-friendly tooling should look like.

  • #cli
  • #file-sharing
  • #ai-agents
  • #open-source
  • #developer-tools

Related posts