agent_chatroom's People
agent_chatroom's Issues
Add a database for persistence
Right now users are stored in memory and there is no persistence to chat.
- Add a free database like thin.dev to the chat server
- Persist users
- Persist chats
- Store list of chatrooms
Github Projects Updater
Can perform updates on Github Projects for you, given details about what to update
create new room
Need a way for (logged in) users to create a new room
Stretch and Water Agent, meds reminders, food reminder
This is an instance of ScheduledAgent which should:
- Remind users in a public channel to regularly stretch, drink water, and take their meds in the morning
- Remind users privately for custom settings to be scoped later
ADHD Coach Agent
- Agent that asks you socratic questions
- Probably an instance of ScheduledAgent
- Need to find an ADHD coaching framework
DBAgent
Queries a database that it has access to and gives you data (maybe for a chatroom, this is a read-only database)
AgentClient: Throttling
Prevent agents from being overly aggressive with replies. Don't have them respond on emit only.
Some agents will respond on a timer, some agents will respond after x messages, some agents will respond only when directly addressed.
Agent Throttling should allow for agents to only respond every N messages if there are new messages that need a reply.
PointsBot
Points bot allows users to award each other points
We'll define and scope what this really means later
When users log in, any direct messages they have received are sent from the server
Whenever a user logs in, if there are any messages the user hasn't seen in channels they're in, or DMs they have received, they're able to receive those messages
Pomodoro Agent
A sub-type of ScheduledAgent that you give your current task to, and then it pings you every 15 mins to ask if it's done, and then when it is, it tells you to take a break.
TaskBot Agent
TaskBot - given a list of tasks, actually creates the tasks in your favorite task manager.
A sub-type of the mention-agent, which listens to chatrooms for mentions, and executes tasks based on them.
Students will want to fork this bot, and then set it up for themselves, connected to their favorite actual task manager they want to use.
ChannelSummary Agent
Summarizes a channel by day, week, or month, or since a given time period.
Might need to use Gemini or another long-context-window AI.
A sub-type of the message-summarizer.
ChannelSummarizer keeps all links on a multiverse board of links
Server should be able to display a list of rooms that are public
Server should somehow display or expose a list of rooms that are public. Agent clients and the front-end client will probably display these differently, so just making a standard API route that all clients can use is probably best.
Slash command handler on the server
Server listens for a / command:
to start:
/login
/register
/logout
user-configurable details
Add arbitrary fields on a user that the user can set after having logged in with a slash command:
/user-config fieldname value
AgentClient: Message Summarizer Pattern
Prevent agents from being overly aggressive with replies. Don't have them respond on emit only.
Some agents will respond on a timer, some agents will respond after x messages, some agents will respond only when directly addressed.
Add an agentClient that responds after X messages have been sent.
Users can do /login
Users can do /login in a dm with the server and the server will identify the websocket as that user.
Credentials are stored in the client, so that if the client needs to reconnect, the user is auto-logged-in.
Server supports DMs
We need a way for users to have private conversations with each other, and for the server to have a private dm with the anonymous user so they can get logged in.
AgentClient: Address by Name
Prevent agents from being overly aggressive with replies. Don't have them respond on emit only.
Some agents will respond on a timer, some agents will respond after x messages, some agents will respond only when directly addressed.
If an agent should only respond when spoken to, it should listen for it's name and an @
Add an AddressableAgent Client that invokes the agent only when it's mentioned.
ChannelSummarizer keeps summaries in a persistent area
AgentClient: ScheduledAgent
Prevent agents from being overly aggressive with replies. Don't have them respond on emit only.
Some agents will respond on a timer, some agents will respond after x messages, some agents will respond only when directly addressed.
Create a ScheduledAgent, which activated on a cron job, at specified intervals.
Need a way for users to be authorized to a channel
A list of private channels the user can access should be stored with the user
Need an /invite command that will add users to the allow list, and a /kick command that will remove them, also a channel_admins field to give /invite and /kick and maybe even /promote
Server can register and login users
Let's add really simple login through the server- just dming your username and password should work. Anonymous users should be in a DM with the server by default to get logged in. We can revisit more secure logins soon, this is mostly to get stable user identification up.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.