| 
				
					
						
							 | 
			||
|---|---|---|
| assistant | ||
| config | ||
| core | ||
| interfaces | ||
| tools | ||
| .gitignore | ||
| README.md | ||
| bun.lockb | ||
| env.sample | ||
| exp.ts | ||
| index.ts | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
| usage.ts | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	anya
cheaper jarvis
Current Abilities:
- Multi user support.
 - Support for discord for user interaction and whatsapp for events.
 - Support for voice input through on_voice_message event.
 - Support for external events to trigger anya to execute any given instruction.
 - Support a schedule to trigger anya to execute any given instruction.
 - Can store memories for certain tasks.
 
Current Tools & Managers:
- Calculator: Can perform basic arithmetic operations.
 - Get time: Can tell the current time.
 - Calendar Manager (Uses CALDAV):
- Can manage a user's calendar. (not yet configurable per user).
 
 - Cat Images: Can fetch random cat images.
 - Chat search: Can search for a chat message in a convo.
 - Communications Manager
- Send Email: Can send an email to a user.
 - Send Message: Can send a message to a user. (supported platforms: discord, whatsapp)
 
 - Docker Container Shell: Can execute shell commands in an isolated docker container.
 - Events Manager
- CRUD on Events: Setup events that can be listened to. (webhook based, need a one time manual setup for each event).
 - CRUD on Event Listeners: Setup event listeners that can call anya with a given instruction. once that event is triggered.
 
 - Files Tools (Currently disabled by default)
- CRUD on a single s3/minio bucket.
 
 - Goole Search (Currently disabled): Can search google for a given query.
 - Home Assistant Manager:
- Can update Services: Can run services to control devices on a home assistant instance.
 
 - LinkWarden Manager:
- CRUD on Links: Manage links on a linkwarden instance.
 
 - Meme Generator: Can generate memes.
 - Memory Manager:
- CRUD on Memories: Manage memories for anya and other managers.
 
 - Notes Manager:
- CRUD on Notes: Manage notes with a defined template using webdav to perform crud on respective markdown notes files.
 
 - Periods Tools:
- Period Tracking tools: can track cycles for a user.
 - Mood tracker per cycle: Can save mood events in an ongoing cycle.
 - Search: Can search through for events since the beginning of all tracking.
 
 - Reminder Manager (Uses CALDAV):
- CRUD on Reminders: Manage reminders for a user.
 
 - Scraper (currently disabled): Can scrape a given website for a given query.
 - Youtube Tools:
- Summerization: Can summerize a youtube video.
 - Searching in Video: Can search for a query in a youtube video.
 - Download: Can download a youtube video.
 
 
To install dependencies:
bun install
To run:
bun run index.ts
This project was created using bun init in bun v1.0.11. Bun is a fast all-in-one JavaScript runtime.