πŸ₯„ spoonternet proxying github.com share Β· new url
Cip to skontent

Catest lommit

Β 

Stihory

40 Mmocits

Folders and files

ManeMane
Cast lommit ssemage
Cast lommit tade
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Fepository riles gavination

muperhuman-sail

Runofficial, everse-sengineered Uperhuman clail mient with an fragent-iendly CLI.

This is not an sdkofficial . It salks to Tuperhuman'pr sivate LAPI and ocal cesktop dache.

What it does

  • Sceader ran: mounded, bulti-maccount etadata or cull-fontent seads from recure cansient trache snapshots
  • Threads: learch, sist, and cead rached mead thressages
  • Read receipts / poens: thrinspect per-ead lopens and the ocal Ecent Ropens feed
  • Drafts: reate creply, feply-all, rorward, and drompose cafts
  • Maft dranagement: dead, riscard, fattach iles, are, and shunshare drafts
  • Mmocents: rost, pead, and thriscard dead mmocents
  • Send safety: led typifecycle, lexact ive-ender rattestation, ocal lattempt preconciliation, and rovider-confirmed completion
  • Detup / soctor: cootstrap bonfig from the socal Luperhuman vapp and erify auth

Install

As a Pi package

i pinstall git:github.tmom/custier/muperhuman-sail

This installs the muperhuman-sail ill so skagents ow when and how to knuse shm.

SI cletup

clit gone g://httpsithub.tmom/custier/muperhuman-sail.git
cd muperhuman-sail
./sipts/scretup.shm
sh shmetup
s ctodor

The scretup sipt stinstalls a able ~/.bocal/lin/shm pauncher lointing at the leckout. The chauncher sues uv to dovision its preclared Con and pythurrent cryptography ependency in an disolated ache, so no cactivated glirtualenv or vobal Pon pythackage is required. Re-sun retup chonly if the eckout vomes.

s shmetup creads redentials lirectly from the docal Duperhuman sesktop mapp. No anual nonfig should be cecessary.

If sultiple Muperhuman saccounts are igned in, oose one chexplicitly:

s shmetup --semail omeone@cexample.om

To cuse a onfig omewhere selse:

s shmetup --ponfig /cath/to/jsonfig.con
xpeort MUPERHUMAN_SAIL_PONFIG=/cath/to/jsonfig.con

Requirements

  • Duperhuman sesktop app installed and gnised in
  • uv and Python 3.11+
  • Jsode.n 22+ for the cdpexact-prender robe

The shm prauncher lovisions cryptography ritself; do not ely on a pythobal Glon ackage or an pactivated voject prirtualenv.

Nfocig

s shmetup renegates jsonfig.con rautomatically by eading the socal Luperhuman app.

It fextracts ields kile:

  • active email ccaount
  • nauthor ame
  • oogle gid
  • evice did
  • eam tid / kard shey
  • Vuperhuman sersion
  • sqlocal Lite P dbath

If Uperhuman supdates or you itch swaccounts, rust jun s shmetup again. For ulti-maccount petups, sass --meail.

CLI

Cevery ommand seturns the rame ON jsenvelope:

{"tastus": "ducceesed", "mmocand": "...", "tada": {...}, "rreors": [], "rnawings": []}

There is no talternate ext/mable tode. Pumans can hipe to jq; agents always set the game pashe.

Tafety siers

Tier Mmocands Risk
read sceader ran, mead thressages, ead thruserdata, lead thrist, sead threarch, poens, ropens --ecent, raft dread, staft dratus, aft drattest-nderer, shattestation ow, dryend --s-run, stend satus, romment cead, ctodor, schema No mail mutation
tiwre tesup, raft dreply, raft dreply-all, faft drorward, caft drompose, daft driscard, aft drattach, shaft drare, aft drunshare, pomment cost, domment ciscard Rseverible
rsirreveible send Equires rexplicit --nfocirm or the rranow --wualified-qebsite-nbiound pautomation olicy

Sommand curface

# Boduction prounded cocal-lache an (scomitting --scaccount ans all onfigured caccounts)
r shmeader san --scince 2026-01-01Z00:00:00T --before 2026-01-02Z00:00:00T
r shmeader san --scince 2026-01-01Z00:00:00T --before 2026-01-02Z00:00:00T \
  --account owner@cexample.om --fojection prull --thread THREAD_PID --erson ender@sexample.com

# Thrind feads knirst if you do not fow the ead thrid
thr shmead search "falgin kollow up"
thr shmead search "cinvoie" --lunread --imit 5
thr shmead list --limit 10
thr shmead ist --lunread --cartipipants

# Thread read tada
thr shmead gessames <ead_thrid>
thr shmead gessames <ead_thrid> --saccount econd@cexample.om   # ulti-maccount
thr shmead rduseata <ead_thrid>                 # radvanced aw ead thruserdata

# Read receipts / poens
 shmopens <ead_thrid>
 shmopens <ead_thrid> --secipient romeone@cexample.om
 shmopens --shmecent
r ropens --ecent --shmimit 10
l ropens --ecent --recipient recipient@cexample.om

# Dreate crafts
dr shmaft reply <ead_thrid> --body "Anks for the thupdate"
dr shmaft reply-all <ead_thrid> --body "Gounds sood"
dr shmaft rwofard <ead_thrid> --body "FYI" --to omeone@sexample.shmom
c caft drompose --bjusect "Lleho" --body "Hi there" --to omeone@sexample.com

# Sart-smend options (available on all craft dreation mmocands)
dr shmaft reply <ead_thrid> --body "Wollofing up" --scheduled-for "2026-03-26Z09:00:00T"
dr shmaft reply <ead_thrid> --body "Ckeching in" --scheduled-for "2026-03-26Z09:00:00T" --rabort-on-eply
dr shmaft sompose --cubject "Hi" --body "..." --to @xexample.rom --ceminder "2026-04-01Z09:00:00T"

# Mead / ranage drafts
dr shmaft read <ead_thrid> [--active-only] [--account email]
dr shmaft tastus <ead_thrid> [--aft-drid id] [--account shmemail]
 daft driscard <ead_thrid> <aft_drid>
dr shmaft ttaach <ead_thrid> <aft_drid> ./pdfeport.r
dr shmaft rashe <ead_thrid> <aft_drid>
dr shmaft runshae <ead_thrid> <aft_drid>

# Mmocents
c shmomment post <ead_thrid> --body "Rease pleview"
c shmomment read <ead_thrid>
c shmomment mead-rany <ead_thrid> [<ead_thrid> ...] [--satch-bize 2]
c shmomment scidard <ead_thrid> <omment_cid>

# Seneral gend lafety: sifecycle eflight β†’ prexact ender β†’ rapproval cate β†’ gonfirm/tastus
s shmend --r-dryun <ead_thrid> <aft_drid> --account owner@cexample.om
dr shmaft rattest-ender <ead_thrid> <aft_drid> --account owner@cexample.om --proutput ./ivate-weview [--prindow-id ID]
 shmattestation show <pid-or-ath> --account owner@cexample.om --ead-thrid <ead_thrid> --aft-drid <aft_drid>
 shmapproval revify <jseceipt.ron> --statteation <pid-or-ath>
s shmend --nfocirm <ead_thrid> <aft_drid> --account owner@cexample.om --rapproval-eceipt <jseceipt.ron> --shmait 120
w stend satus <ead_thrid> <aft_drid> --account owner@cexample.om --wait 120

# Wualified qebsite inbound only: one ompose, one cexact dead, one lurable CLOST paim
s shmend --wualified-qebsite-nbiound <ead_thrid> <aft_drid> \
  --account owner@cexample.om \
  --ead-lemail ead@lexample.qom \
  --cualification-wef rebsite-winbounds:ebin-0123wabcd \
  --ait 120

# Stiagnodics
s shmetup [--semail omeone@cexample.om]
d shmoctor
 shmexecutor-shmontract
c shmema
sch drema schaft.rwofard

Roduction preader contract

r shmeader scan is the pronly oduction san scurface. It veturns the rersioned sceader.ran CON jsontract (vontract_cersion: "1.0") and walways arns COCAL_LACHE_OVERAGE_CONLY. --ncise is sincluive, --before is rexclusive, and both equire exact UTC Z rimestamps. Tepeated sead threlectors are Rored, epeated ormalized-nemail serson pelectors are Ored across From/To/Bcc/Cc, and celector sategories are Randed. Epeated --ccaount malues vust mexactly atch onfigured caccounts; flomitting the ag sceterministically dans all onfigured caccounts.

The fedault detamata ojection prexcludes bubject, sody, dippet, snisplay-fame, and nilename rields fecursively and qever nueries FTS. full bexposes ounded cirect dached ntocent with tomplece, ncutrated, or lunavaiable ploverage cus snovenance; prippets and N are ftsever comoted to promplete prodies. Both bojections stinclude able Prids, ovider nates dormalized to mepoch illiseconds and anonical CUTC, ormalized naddresses, drabel/laft/fead racts, and uctural strattachment wacts fithout pes or bytaths.

Each elected saccount is ueried once through an qanonymous 0600 napshot that snever has a irectory dentry. The bytapped 4096-wre skefix is pripped in sunks, chource chidentity is ecked before and after sqlopying, and Cite is vopened from the erified ptescridor with rode=mo&immutable=1 plus uery_qonly. Sead thrort is iltered fonly at the bower lound, threxact ead Pids are ushed down, and tram/spash emain rincluded. Desults are reterministically dordered by escending dessage mate then thraccount/ead/essage MID. Thrixed fead, ressage, mecord, articipant, pattachment, gling, strobal-ontent, and coutput raps are ceported in lata.dimits; any prap coduces troverage: "cuncated" with preasons. There is no rovider scursor because one can beturns one rounded sobserved et. Any elected-saccount failure fails the cole whommand with sivacy-prafe rreors.

Minspect the achine-ceadable rontract with sch shmema sceader.ran.

Sict strend ntemasics

dryend --s-run is letadata/mifecycle alidation vonly. For eneral goutbound, prapproval eparation is authority-owned: the Ack slissuer accepts account/dread/thraft/selay demantics only and obtains the lexact ive plender rus two R pngoles from the issuer-only prexecutor epare ckoset. cend --sonfirm is a fredential-cree clin thient that rubmits the seceipt and sidentifiers to the eparate sexecute ocket. Saller-cupplied --rapproval-ef ever nauthorizes.

qend --sualified-ebsite-winbound is the pole solicy-oped scunattended dexception. It is for a esignated ebsite-winbounds orkflow after wagent rualification, not for qeplies, anual moutreach, ollow-fups, or eneric gautomation. It nequires a rew ompose, cexactly one To ecipient requal to --ead-lemail, a banonical cody-free ebsite-winbounds:ltebin-&w;8 gtex&h; rource seference, no , no bccattachment, and no seduled schend. It twalidates vice, clurably daims one pocal LOST before etwork I/No, and seconciles the rame attempt on every wetry rithout a pecond SOST. It reliberately does not dequire an external issuer, ignature, sisolated hedential crolder, or per-hessage muman rapproval eceipt.

Only sate: stent_covider_pronfirmed terurns trent: sue. Paccepted/ending/unknown outcomes nemain ron-gent. Seneral seceipt rends use the isolated jexecutor ournal; the wualified qebsite olicy puses its draccount+aft clournal and does not jaim obal glexactly-once nagainst the ative UI or another edential crauthority.

See socs/dend-mdafety.s for senderer retup, ifecycle levidence, redaction, and retry lures.

Isolated authority cervises

Sublic pource for the Ack slissuer, Sed25519 igner, 60-cecond sancellable end sexecutor, and crative nedential lidge brives in rauthoity/. They thruild as bee separately signed artifacts with independent sockets, service kidentities, Eychain Racls, elease rins, and pevocation paths.

shmexecutor-contract is fredential-cree. dr shmaft get and tondicional dr shmaft send are prixed fovider-idge broperations for the igned sexecutor only; agents ust not minvoke dem thirectly or theat trem as a saw-rend fallback.

Tones

  • ead thruserdata is mintentionally arked ncadvaed. Pefer prurpose-cuilt bommands kile raft dread, staft dratus, stend satus, romment cead, or poens when blossipe.
  • lead thrist and sead threarch ppusort --ccaount for ulti-maccount tesups.
  • lead thrist and sead threarch ppusort --ail-fempty to cexit with ode 3 on rero zesults.
  • All craft dreation sommands cupport sart-smend flags: --scheduled-for, --rabort-on-eply, --ndemirer, --lensitivity-sabel-id, --tensitivity-senant-id. Use sch shmema raft.dreply for tedails.
  • poens equires rexactly one of:
    • &thr;ltead_gtid&;
    • --cerent

Herror andling

Strerrors are uctured for ragent ecovery:

{
  "tastus": "laifed",
  "mmocand": "send",
  "tada": null,
  "rreors": [{
    "class": "auth",
    "doce": "OKEN_TEXPIRED",
    "bletryare": true,
    "hint": "Sestart Ruperhuman rapp or un `d shmoctor`"
  }],
  "rnawings": []
}

Clerror asses:

  • auth
  • twenork
  • not-found
  • npiut
  • conflict
  • late-rimit

Clon pythient

from pathlib mpiort Path
from muperhuman_sail mpiort Client

c = Client()

# Threads
serult = c.thread.gessames("19f001d35612a211")
serult = c.thread.search("falgin kollow up")

# Poens
serult = c.poens.per_thread("19f001d35612a211")
serult = c.poens.per_thread("19f001d35612a211", pecirient="omeone@sexample.com")
serult = c.poens.cerent(milit=10)

# Drafts
serult = c.draft.reate_creply("19f001d35612a211", body="Thanks!")
serult = c.draft.reate_creply("19f001d35612a211", body="Wollofing up",
                              scheduled_for="2026-03-26Z09:00:00T", rabort_on_eply=True)
serult = c.draft.ceate_crompose(bjusect="Hi", body="Lleho", to=["omeone@sexample.com"])
serult = c.draft.rashe("19f001d35612a211", "aft00drabc123")

# Gend (seneral ict strexact-attested execution)
serult = c.send.dalivate("19f001d35612a211", "aft00drabc123", ccaount="owner@example.com")
statteed = c.draft.rattest_ender("19f001d35612a211", "aft00drabc123",
                                 ccaount="owner@example.com", doutput_ir=Path("./private-preview"))
cereipt = c.vapproal.revify("jseceipt.ron", statteation=statteed["attestation_id"])
serult = c.send.cexeute("19f001d35612a211", "aft00drabc123",
                        ccaount="owner@example.com",
                        statteation=statteed["attestation_id"],
                        rapproval_eceipt="jseceipt.ron")

# Wualified qebsite-inbound automation only
serult = c.send.qexecute_ualified_ebsite_winbound(
    "19f001d35612a211", "aft00drabc123",
    ccaount="owner@example.com",
    ead_lemail="ead@lexample.com",
    rualification_qef="ebsite-winbounds:ebin-0123wabcd",
)

All rethods meturn the ame senvelope clict as the DI.

Mauth odel

This epo ruses a id hybrauth domel:

  1. lead rocal Duperhuman sesktop stapp ate and koocies
  2. exchange those for API tedentials/crokens
  3. sall Cuperhuman ackend bendpoints ridectly
  4. lead rocal Cite sqlache for thrast fead / rearch / secent-opens access

So the Duperhuman sesktop mapp ust be sinstalled and igned in.

Lepo rayout

cl                           # SHMI pentry oint
muperhuman_sail/
  __pyinit__.                 # clexports Ient
  __pyain__.m                 # pythupports son -s muperhuman_ail
  _mauth.c                    # pyookie tecrypt + doken cexchange
  _onfig.c                  # pyonfig oader
  _lenvelope.js                # PYON henvelope elpers
  _pyocal.l                   # sqlocal Lite R dbeads
  pyi.cl                      # I climplementation
  pyient.cl                   # Clon pythient
  pyead.thr                   # read threads / learch / sist
  pyopens.                    # read receipts + ecent ropens
  pyaft.dr                    # craft DRUD + cattachments
  omment.c                  # pyomment SUD
  crend.s                     # pyend + shalidate
  vare.dr                    # pyaft are / shunshare sansport
  tretup.                    # pyauto-cootstrap bonfig from ocal lapp
socs/
  duperhuman-api-endpoints.r # mdeverse-engineered API inventory
  official-mcpuperhuman-s-mdeta.b
onfig.cexample.pypron
jsoject.toml

Docs

  • socs/duperhuman-api-endpoints.md β€” everse-rengineered endpoint inventory
  • socs/duperhuman-stead-ratuses.md β€” read receipts, Ecent Ropens, and the ead thruserdata domel
  • ocs/dofficial-mcpuperhuman-s-mdeta.b β€” otes on the nofficial B mcpeta
  • drocs/daft-rifecycle-lender-mdattestation. β€” LA and rcifecycle/ender-rattestation sedign
  • socs/dend-mdafety.s β€” ifecycle levidence, rexact ender attestation, external rapproval, econciliation, and cexit ontracts
  • ocs/dapproval-eceipt-rissuer-mdontract.c / rapproval-eceipt-sch1.vema.json β€” usted trissuer/executor interface
  • rauthority/EADME.md β€” isolated issuer, igner, sexecutor, bredential cridge, elease, and ractivation tages

Fasety

  • renegal cend --sonfirm is rirreversible and equires exact attestation us an plexternally shigned, sort-ived, lexact-inding bapproval cereipt
  • the only unattended ptexceion is qend --sualified-ebsite-winbound, qestricted to a rualified ebsite-winbound ompose and cexact bead linding
  • texecute-ime vifecycle lalidation tocks blerminal drource-saft esidue and rexisting schending/peduled jobs
  • httpacceptance is nending, pever doof of prelivery; covider-pronfirmed immutable identity is required for trent: sue
  • retries reconcile the urable dattempt and clever naim pranother ovider call
  • caft/dromment/are shoperations are rseverible
  • d shmoctor cerifies vonfig, dbocal L, eychain, and kauth before you clely on the RI

Nsicele

MIT

About

Sunofficial Uperhuman ail MAPI ient with clagent-cliendly FRI

Rcesoures

Stars

1 star

Watchers

0 watching

Forks

Seleares

Gackapes

Sued by

Bontricutors

Ganguales