MCPcopy Index your code
hub / github.com/Watfaq/PowerSession-rs

github.com/Watfaq/PowerSession-rs @v0.1.16

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.16 ↗ · + Follow
98 symbols 170 edges 14 files 4 documented · 4% updated 12d agov0.1.16 · 2026-06-11★ 2936 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PowerSession

Asciinema-compatible terminal session recorder for Windows

Crates.io Crates.io License Build Status Contributors

A port of asciinema for Windows, based on Windows Pseudo Console(ConPTY)

This is a new Rust implemented version. if you are looking for the C# implementation, please go to the C# version

Checkout A Demo

asciicast

Installation

Cargo

cargo install PowerSession

Winget

winget install Watfaq.PowerSession

Scoop

scoop install powersession-rs

Usage

Get Help

PS D:\projects\PowerSession> PowerSession.exe -h
Usage: PowerSession [OPTIONS] <COMMAND>

Commands:
  rec     Record and save a session
  play    Play a recorded session
  auth    Authentication with api server (default is asciinema.org)
  upload  Upload a session to api server
  server  The url of asciinema server
  stream  Stream a live terminal session to the asciinema server
  help    Print this message or the help of the given subcommand(s)

Options:
  -l, --log-level <log-level>  can be one of [error|warn|info|debug|trace] [default: error]
  -h, --help                   Print help
  -V, --version                Print version

Record with a specific shell or startup arguments

Use -c / --command to choose the shell explicitly and include any startup arguments you need.

PowerSession.exe rec demo.cast --command "powershell.exe -NoLogo"
PowerSession.exe rec demo.cast --command "pwsh.exe -NoLogo"

Use a self-hosted asciinema server

Set the server URL once, then authenticate and upload as usual. The configured server is reused for auth, upload, and stream.

PowerSession.exe server https://asciinema.example.com
PowerSession.exe auth
PowerSession.exe upload demo.cast

Credits

Supporters

Extension points exported contracts — how you extend this code

ApiService (Interface)
(no doc) [1 implementers]
src/commands/api/mod.rs
Terminal (Interface)
(no doc) [1 implementers]
src/terminal/mod.rs

Core symbols most depended-on inside this repo

execute
called by 10
src/commands/play.rs
setup_logger
called by 6
src/main.rs
execute
called by 5
src/commands/auth.rs
wait_interruptible
called by 3
src/commands/play.rs
run
called by 3
src/terminal/impl_win/terminal.rs
attach_stdin
called by 3
src/terminal/impl_win/terminal.rs
attach_stdout
called by 3
src/terminal/impl_win/terminal.rs
parse_reader
called by 2
src/commands/play.rs

Shape

Method 42
Function 33
Class 19
Enum 2
Interface 2

Languages

Rust100%

Modules by API surface

src/commands/play.rs38 symbols
src/commands/api/asciinema.rs18 symbols
src/terminal/impl_win/terminal.rs13 symbols
src/terminal/impl_win/process.rs5 symbols
src/commands/types.rs4 symbols
src/commands/stream.rs4 symbols
src/commands/record.rs4 symbols
src/commands/upload.rs3 symbols
src/commands/auth.rs3 symbols
src/terminal/mod.rs2 symbols
src/main.rs2 symbols
src/commands/api/mod.rs2 symbols

For agents

$ claude mcp add PowerSession-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact