Metadata-Version: 2.4
Name: edith-pc
Version: 0.5.0
Summary: EDITH on this PC: a body of your EDITH server, linked with a Google Authenticator code
Author: Shuvo
License-Expression: MIT
Keywords: assistant,voice assistant,automation,windows,openai
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Microsoft :: Windows
Classifier: Environment :: Win32 (MS Windows)
Classifier: Topic :: Desktop Environment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai>=1.70.0
Requires-Dist: websockets>=15.0
Requires-Dist: httpx>=0.27
Requires-Dist: python-dotenv>=1.0
Requires-Dist: requests>=2.31
Requires-Dist: psutil>=5.9
Requires-Dist: APScheduler<4.0,>=3.10
Requires-Dist: SQLAlchemy>=2.0
Requires-Dist: pycaw>=20240210; sys_platform == "win32"
Requires-Dist: comtypes>=1.2; sys_platform == "win32"
Requires-Dist: pynput>=1.7
Requires-Dist: screen-brightness-control>=0.22
Requires-Dist: pyautogui>=0.9.54
Requires-Dist: pyperclip>=1.8
Requires-Dist: AppOpener>=1.7; sys_platform == "win32"
Requires-Dist: mss>=9.0
Requires-Dist: windows-toasts>=1.1; sys_platform == "win32"
Requires-Dist: pypdf>=4.0
Requires-Dist: Pillow>=10
Requires-Dist: customtkinter>=5.2
Provides-Extra: voice
Requires-Dist: sounddevice>=0.4.6; extra == "voice"
Requires-Dist: numpy>=1.26; extra == "voice"
Dynamic: license-file

# EDITH for your PC

`edith-pc` makes a Windows PC a body of your **EDITH** server: the server's brain can use this
PC's tools (apps, windows, files, the screen, the keyboard, the shell) when you talk to EDITH
from your phone or the browser, from anywhere.

You need an EDITH server (the brain) with Google Authenticator sign-in set up. This package is
only the PC side.

## Install and link

```
pip install edith-pc
edith link
```

`edith link` asks for your server's address, how this PC should link, and the 6-digit code
Google Authenticator shows for EDITH. That's all: no token or key to copy. The PC is linked,
EDITH runs in the background, and it starts with Windows from then on.

- **Body** (press Enter): EDITH can use this PC; nobody can use EDITH from it. You run it
  from an admin PC, EDITH's web page or the phone.
- **Admin**: you use EDITH from this PC too: `edith chat` in the terminal, `edith open` for
  EDITH's web page already signed in, and `edith voice` to talk (install the voice part once
  with `pip install "edith-pc[voice]"`). It can run your other PCs and the phone.

## Commands

| Command | What it does |
| --- | --- |
| `edith status` | what this PC is linked to, as body or admin, and whether EDITH is running |
| `edith chat` | talk to EDITH (admin PCs) |
| `edith open` | EDITH's web page, signed in (admin PCs) |
| `edith voice` | talk to EDITH by voice (admin PCs) |
| `edith start` / `edith stop` | start or stop the background body |
| `edith app` | open the EDITH window |
| `edith run` | run the body in the terminal (Ctrl+C stops it) |
| `edith update` | install the newest version and restart |
| `edith unlink` | unlink this PC and stop starting with Windows |

## What the PC can and can't do

The server gives this PC a key of its own when you link it, so no OpenAI key lives on the PC.
A body's key only lets the PC answer the brain's tool calls. An admin PC's key also lets you
talk to EDITH and approve actions, like signing into EDITH's web page; neither can change the
sign-in or download the server's backups. Remove the PC in
EDITH's HUD (Bodies, PCs) and its key stops working at once.

Windows only (64-bit), Python 3.10 to 3.14. The package is compiled: no compiler is needed to
install it, and `edith update` (or `pip install -U edith-pc`) gets the newest version.
