Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0 roadmap #180

Open
2 of 8 tasks
realcoloride opened this issue Jul 23, 2024 · 16 comments
Open
2 of 8 tasks

2.0 roadmap #180

realcoloride opened this issue Jul 23, 2024 · 16 comments

Comments

@realcoloride
Copy link
Owner

realcoloride commented Jul 23, 2024

Hello!

First of, thank you all for the support you guys bring to node_characterai.

I come here to talk about the fact I want to switch to the new endpoints and much more. I also feel limited by the codebase and I'd like to use something much more strongly typed and better written. Make a much more easier interface for beginners and a less confusing one as well.

In fact I have started to get very comfortable with programming in TypeScript and such I'd like to really make a better environment for node_characterai.

If you have suggestions for the rewrite please let me know.

Roadmap:

Current branch: https://github.com/realcoloride/node_characterai/tree/2.0

Let me know if you guys are interested in a rewrite and or if you have ideas/feedback.

@realcoloride realcoloride pinned this issue Jul 23, 2024
This was referenced Jul 23, 2024
@realcoloride
Copy link
Owner Author

realcoloride commented Jul 23, 2024

Note: switching to the new endpoint will cut off features like guest mode, and some endpoints/features might be removed since they are not available on the new interface.

@realcoloride
Copy link
Owner Author

Hello there again, I've opened a new branch (2.0) to handle directly here: https://github.com/realcoloride/node_characterai/tree/2.0

Currently work in progress. I am busy working on another project at the same time, but I will try my best to keep up for a new update.

@matsukky
Copy link

Hi, do you think it will be possible to use/manage persona?

@realcoloride
Copy link
Owner Author

What do you mean by persona?

@matsukky
Copy link

Persona

@realcoloride
Copy link
Owner Author

Hello everyone,

I come forward to indicate the migration might be happening sooner than I thought. Announced today, the CharacterAI team have officially announced the departure of the old characterAI interface and endpoints (which will inevitably break the older versions of node_characterai).

Source: https://www.reddit.com/r/CharacterAI/s/W0T6cZ3B9q

Personally, I think this is a bad idea. I believe the new website has a worse interface and worse language capabilities and the model quality isn't the same and plenty of features are missing.
Most of the community is against it (including me) but this is probably not going to change the matter.

So, I recommend users of node_characterai to prepare for these changes as the new rewrite of the package will come sooner than expected and everyone will probably have to migrate, and I will have to also handle the new package version faster.

The new migration will also take new features in place, and they will probably be in newer versions of the 2.0+ branch.
image

The changes will take immediate effect on September 10th.

@realcoloride
Copy link
Owner Author

realcoloride commented Aug 28, 2024

Persona

Sure. This will be probably added as a feature in node_characterai if possible.

@realcoloride
Copy link
Owner Author

realcoloride commented Aug 30, 2024

Hello, anyone else been having issues using the new interface? I am getting a lot of CORS related errors whilst using the website.
chrome_y3JI4lFkbn
image
image

@ming736
Copy link

ming736 commented Aug 30, 2024

Hello, anyone else been having issues using the new interface? I am getting a lot of CORS related errors whilst using the website. chrome_y3JI4lFkbn image image

I just checked, and I'm not having any issues currently.

@realcoloride realcoloride changed the title Thinking about rewriting the whole package in TypeScript (2.0 roadmap) 2.0 roadmap Sep 24, 2024
@realcoloride
Copy link
Owner Author

Hello there! Just want to let you know all that I am actively working on 2.0 and it took me a long time to find the perfect design, but I will now aim for developer experience first.

I just managed to get my first dms to send. Still got quite the stuff to go.
Code_mXDBKAwfKH
image

Also, no puppeteer is used. Atleast for now.
Current branch: https://github.com/realcoloride/node_characterai/tree/2.0

Again like usual, if you have feedback, feel free to let me know.
Cheers

@IqroNegoro
Copy link

Used puppeteer is hard enough to setup and make server resources too heavy, hope you can make it more lightweight in 2.0 ver, wish u the best for this!

@realcoloride
Copy link
Owner Author

realcoloride commented Sep 28, 2024 via email

@gamersindo1223
Copy link

Hello, Thank you for your support. I am using the Android's app's endpoints. Meaning that if they plan on adding anti fetching measures like they do with cloudflare, they would have to constantly update the Android app, which would probably cause some problems for their massive mobile app user base. It all relies on how long before I am forced to use puppeteer for good. For now, it has been doing fine. Some endpoints are not available without cloudflare or specific things that I cannot fully get (like following an user for example) but we'll eventually get to it. Cheers

On Sat, Sep 28, 2024 at 11:33 AM Nadila Vira @.> wrote: Used puppeteer is hard enough to setup and make server resources too heavy, hope you can make it more lightweight in 2.0 ver, wish u the best for this! — Reply to this email directly, view it on GitHub <#180 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZ4WO5M5REBEE5X7RN3ZP2TZYZZVVAVCNFSM6AAAAABLJPKDL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBQGU4DCNRVHE . You are receiving this because you authored the thread.Message ID: @.>

Just a suggestion, you may want to look into curl_cffi / curl_impersonate

@realcoloride
Copy link
Owner Author

realcoloride commented Oct 7, 2024

Just a suggestion, you may want to look into curl_cffi / curl_impersonate

It's not really necessary at the moment, but it is definitely something worth a note. Thank you for the suggestion.

@Xtr4F
Copy link

Xtr4F commented Oct 9, 2024

Just a suggestion, you may want to look into curl_cffi / curl_impersonate

+ 1 for curl impersonate. You don't need a whole browser, in fact you just need any http library that can make its TLS fingerprint look like the browser's one.

In short, the connection parameters of regular http libraries are different from those used by popular browsers and some websites use this to block requests from “not real” users. You can read more about this here: https://lwthiker.com/networks/2022/06/17/tls-fingerprinting.html

@realcoloride
Copy link
Owner Author

realcoloride commented Nov 3, 2024

TODO 2.0 (better) Roadmap

Everything already done will not be shown here. Check the links by yourself to see what's done and what not.
Note that most of these endpoints are lacking due to me needing to reverse the Android app... which is hella hard.
This message aims to add more transparency for the development.

TODO means that I have not planned on looking forward to it yet. The classes below are in priority, but the extents of the classes shown below (because I use classes from now on and types) are not shown for the sake of simplicity, see the codebase for yourself.

The following emojis have the following meaning:

  • 🔒 Needs android reversal for the endpoint
  • 🔓 Needs android reversal and or research to know how it works but I am aware of the endpoint
  • 🤷 No idea yet
  • ⚡ Requires lower level work beforehand

Character class roadmap

  • createGroupChat() 🔒⚡
  • get/setVote() 🔓
  • hide() 🔓

Conversation class roadmap

  • sendMessage() 🔒⚡
  • getPinnedMessages() 🔓
  • rename() 🔒
  • deleteMessagesInBulk() 🔓
  • reset() 🔓
  • close() 🔓⚡

CharacterAI (client) class roadmap

  • searchCharacter() 🔒
  • fetchProfileById() 🔒
  • connectToConversation() for groupchat 🔒⚡

Persona class roadmap

TODO

Message class roadmap

  • switchToCandidate() ⚡
  • getMessageBefore() ⚡
  • getMessageAfter() ⚡
  • isPinned() ⚡
  • pin() 🔓
  • unpin() 🔓
  • copyFromHere() 🔒
  • rewindFromHere() 🔒
  • delete() 🔒
  • edit() for groupchat 🔒⚡

GroupChat class roadmap

TODO

Conclusion

For more information and if you wanna see the rest for yourself > 2.0 branch

If you want to give ideas or feedback, let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants