Skip to content

Have an AI agent? Let it explore Teleon for you. Any assistant works, personal or coding.

Connect your agent
What your agent reads

The request it copies

Explore teleon.dev for me and report back. Read https://teleon.dev/llms.txt, https://teleon.dev/.well-known/agent-card.json and https://teleon.dev/.well-known/mcp.json. Summarize the shared backend primitives at https://teleon.dev/docs and the THP v1.0 connection steps at https://teleon.dev/connect. Stay read-only.

Discovery files on teleon.dev

Read-only discovery is open. Keep TELEON_KEY in your own environment.

Teleon
Sign inApply for an instance
Find and store

Store every file once, by its bytes.

Every object gets a permanent ID made from its bytes. Identical files are kept once, edits share most of their chunks, and agents read exact byte ranges instead of whole files.

teleon.dev/docs/casMerkle content storeTELEON-SVC-02httpsjson
How a file is stored
report.pdf, 412 KBuploaded by a site
Split into content-defined chunks
c1 a91f
c2 07be
c3 5d2cadded
c4 e3a0
swh:1:cnt:ef1e…845eone permanent ID for the whole file
48 of 51 chunks already storedonly the new chunk is written

A re-upload with one edit writes one new chunk; every other chunk is shared with the earlier version.

What it does

One ID per set of bytes

Each object is named by its hash as a SWHID, so the same file uploaded twice resolves to one object.

Edits cost little

Files split into content-defined chunks. A small edit changes a few chunks and the rest are shared with earlier versions.

Fetch just the bytes you need

Byte-range reads return exact slices, so an agent fetches one function instead of a whole repository.

The contract

Objects stay exactly as written. Descriptions and tags live beside them and change on their own schedule.

Addressingswh:1:cnt:<sha1_git> plus a SHA-256 copy
ChunkingFastCDC, about 8 KB per chunk
ReadsWhole objects or byte ranges (HTTP 206)
AccessRING-3 reads; RING-2 writes with a scoped key
Identifiers
  • swh:1:cnt:sha1_git + sha256
Request and responseCopy
GET /v1/objects/swh:1:cnt:ef1e0bf7c6f94c2d1c2ddaaf92c09a016e3c845e Range: bytes=0-65535 X-Teleon-Surface-Id: files_site # Response HTTP/1.1 206 Partial Content Content-Range: bytes 0-65535/412870 { "swhid": "swh:1:cnt:ef1e...845e", "sha256": "9c1f...a07e", "chunks": 51, "shared_chunks": 48 }

Endpoints

MethodPathAccessWhat it doesStatus
GET/v1/objects/{swhid}RING-3Fetch an object, whole or by byte range
HEAD/v1/objects/{swhid}RING-3Check an object and read its size
PUT/v1/objectsRING-2Store bytes and receive their SWHID
GET/v1/objects/{swhid}/chunksRING-3List the chunks behind an object

Listed paths appear in the service’s published files today. In the one-host plan every path here is served under api.teleon.dev/v1/cas.

For agents

Give your agent the read-only guide first. It reports back before any write.

Agent prompt
Read https://teleon.dev/docs/cas.md and tell me how to fetch one object by its SWHID with a byte range. Read only: ask me before any write.
Copy

Words on this page

Full glossary
CAS
Content-addressed storage: every file is stored and fetched by a hash of its bytes, so identical bytes are kept once.
SWHID
Software Heritage identifier: a permanent ID made from a file's hash, such as swh:1:cnt: followed by 40 hex digits.
FastCDC
Content-defined chunking: files split at points chosen by their bytes, so a small edit changes few chunks.
Merkle tree
A tree of hashes where each parent hashes its children, so one root hash proves every part is intact.