Giter VIP home page Giter VIP logo

kwaroran / risuai Goto Github PK

View Code? Open in Web Editor NEW
602.0 602.0 113.0 19.77 MB

Make your own story. Software for LLM roleplaying and utilitys.

Home Page: https://risuai.net

License: GNU General Public License v3.0

JavaScript 2.24% HTML 0.05% TypeScript 62.67% Rust 1.08% Svelte 33.04% CSS 0.25% Batchfile 0.01% Shell 0.01% Java 0.40% Python 0.27%
ai characters chat chatbot claude gpt llama llm roleplay tauri

risuai's People

Contributors

aegkmq avatar amoeba1234 avatar asm6788 avatar bangonicdd avatar bangonicdd2 avatar c0sogi avatar decikingship avatar dependabot[bot] avatar drppzero avatar eltociear avatar hashcoko avatar hush27 avatar ihabis02 avatar justpain02 avatar kmou424 avatar kuiprux avatar kwaroran avatar ljh5650 avatar modmapper avatar mounta11n avatar namda-on avatar phyyou avatar random-username-423 avatar sea-luby avatar sub-hub avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

risuai's Issues

Bug: Problems when deleting bot presets corresponding to the 0th element

Risu version: latest(v1.28.2), web / local both

Steps To Reproduce

The contents of each preset are as follows:

  • name1
    image
  • name2
    image
  • name3
    image
  • name4
    image
  1. Click a Settings - Chat Bot - "Presets" Button
    image

  2. Delete a "name1"(botPresets[0])
    image

  3. Check "name2"(Prev: botPresets[1] -> Now: botPresets[0])
    image
    image
    You can see that the contents of item "name2" have been overwritten with the contents of item "name1" that I just deleted.

The current behavior

When I delete the preset number 1(in botPresets[0]), the preset number 2(in botPresets[1]) is overwritten with the contents of the preset number 1 that I just deleted.

Let me give you a quick example of this situation:

botPresets = [{name: "name1", data: "data1"}, {name: "name2", data: "data2"}, {name: "name3", data: "data3"}, {name: "name4", data: "data4"} ...];
// After Delete
botPresets = [{name: "name2", data: "data1"}, {name: "name3", data: "data3"}, {name: "name4", data: "data4"} ...];
// Delete Once Again
botPresets = [{name: "name3", data: "data1"}, {name: "name4", data: "data4"} ...];

The expected behavior

Originally, the expected results of this operation are as follows:

botPresets = [{name: "name1", data: "data1"}, {name: "name2", data: "data2"}, {name: "name3", data: "data3"}, {name: "name4", data: "data4"} ...];
// After Delete
botPresets = [{name: "name2", data: "data2"}, {name: "name3", data: "data3"}, {name: "name4", data: "data4"} ...];
// Delete Once Again
botPresets = [{name: "name3", data: "data3"}, {name: "name4", data: "data4"} ...];

Groupchat {{char}} problem

There is an issue where the {{char}} symbol is displayed as the chat room name, not the character's name, when sending a prompt in a group chat (confirmed by log). Moreover, If I leave the chat room title blank, {{char}} is displayed as a blank in the log, and if I make the chat room title {{char}}, {{char}} is sent as is without conversion to the symbol's name. Below is a partial capture of the log where {{char}} has been changed to the chat room name.

Screenshot_20230704-222119_Chrome

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

Error
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

When using ElevenLabs. Im using the installer one it was working well the following days but then this error msg constantly pops up each time AI replies using voice.

I've tried reinstalling it's still the same. What appears to be the problem?

[Feature Request] Another mobile display

waifu half cut

The character image and chat are displayed in a ratio of 60:40 or 50:50. The chat is made opaque to ensure that the cut-off legs are not visible.

60add40c622e29b5955235242669583b809dfc58c79b837b669214e44f1a2bdb

Request for Dialog Sentence Colorization Feature

Dear Developers,

I am writing to express my appreciation for the incredible work you have done in developing our favorite AI software. I have been a loyal user for quite some time now and have found it immensely helpful in my daily writing tasks.

I would like to suggest a feature enhancement that I believe would greatly improve the functionality of the software. Currently, we can easily colorize italicized and bolded sentences, which is fantastic. However, I would like to request the ability to colorize dialog sentences in quotes as well.

This feature would be particularly beneficial for writers, as it would allow us to visually differentiate and highlight dialogues in a distinctive manner. By assigning colors to dialog sentences, we can easily identify and emphasize conversations, adding a new level of clarity and readability to our writing.

I understand that implementing new features requires time and effort, but I genuinely believe that this addition would be highly valued by the writing community. It would not only enhance the user experience but also provide a unique and customizable tool for expressing dialogues in a more visually appealing way.

Thank you for considering my suggestion. I appreciate your dedication to continuously improving the software and eagerly look forward to any updates that may include this feature. Please let me know if you require any further information or clarification regarding this request.

Once again, thank you for your hard work, and I wish you all the best in your ongoing endeavors.

[Feature Request] Global regex disable option

Since only Global Regex can be easily exported or imported, using Global Regex will be more convenient than Character's Regex Script.

However, sometimes special Characters need different regex scripts, and they may conflict with Global Regex, which can make the modification very troublesome.

So it would be great if the option to disable Global Regex can be added to the Character tab.

UX Enhancement Suggestions

2023-05-10 084621

Rational:
It's rather tiring to press that three-line icon to surface the options icon(gear), when I am often modifying User/Bot/Advanced Settings.

Request:

  • Allow us to toggle always show the options icon(gear) at the option.

Or

  • How about making a new side tab on the right side (like NAI?) and letting us quickly access it as an options tab.

ETC:

  • I would appreciate to "go back" or "cancel" button on the catalog page.
  • Can we get drag and drop function with group chat? I sometimes get to remove and add character quickly with large RPG projects

[Feature Request] Circular profile selection option, Font change option

Currently, the rounded rectangle profile is the default in RisuAI.
It would be nice to have a profile option that could be selected as a fully rounded circle
and the option to add and change fonts

원형 프로필 선택 옵션, 폰트 추가해서 변경할 수 있는 기능 추가 요청

[Feature Request] Global lorebook feature request to save settings including name of {{User}}

Background: There is no global information about {{User}}, so there is a need to organize information about {{User}}, which is relatively non-intuitively delivered to AI, due to the tendency to be separately entered in the lower book / artist's note / character prompt. .

Purpose: “Global User Lorebook” allows users to set up two or more {{User}} Lorebooks (similar to character cards), so that when you use one of them on a talking AI, it will automatically {{User}} Make settings for {User}} easier to understand

Features I want:

  • “Global User Lorebook”: A prompt system in the form of a Global Lorebook that is supported similarly to a character card. The purpose is to include the profile picture of {{User}}, so that you can select one of them when starting a conversation.

  • Additional support within the “Character Card 2.0” form: Certain characters may be set to deal with {{User}} in a specific setting. Expanding the concept of overriding front-end ones when setting some system prompts in “Character Card 2.0”. By providing a more regular and formal area, just setting up a character card supports card creators and users changing and saving the settings of {{User}} they want.

Kobold request parameters

It seems that not all parameters are sent in the request, in particular max_length, which causes kobold to roll back to the defaults.

const da = await globalFetch(url.toString(), {
method: "POST",
body: {
"prompt": proompt,
"temperature": (db.temperature / 100),
"top_p": 0.9
},

List of parameters can be viewed here:
https://github.com/LostRuins/koboldcpp/blob/b08b371983932e1f528547b25469a2324d81c835/expose.h#L25-L44

[Feature Request] Advanced Bot setting

In bot settings, Users can set preset but I think more feature require.

Please add changing the order of presets & duplicating the preset & Setting default preset in the user customized

It would also be great if these presets could also be imported and shared as JSON files.
However, please include SK-keys and put a warning about the risks of sharing them.


봇 설정에서 사용자가 프리셋을 설정할 수 있지만 더 많은 기능이 필요하다고 생각합니다.

봇 프리셋의 순서 변경, 봇 프리셋 복제, 사용자 정의할 수 있는 기본적인 봇 프리셋 서식 기능 등을 추가해 주세요.

또한, 만약 이런 프리셋도 임포트하여 json 파일로 공유할 수 있다면 더 좋을 것 같습니다.
그러나 SK-키를 포함하여 공유할 때는 위험성 경고를 띄워주세요.

Can I compile by myself?

Hey there! Thank you for wonderful project and efforts, I appreciate it a lot.

So, I found an issue in the current build (I've even installed an updated 0.7.3 .msi file) where I can't connect Risu to oogabooga WebUI. As I've learned, it happens because current code version relies on the old API.
I've modified the database.ts file to make it run on the new API, but I can't make it work. So I've decided to try to compile it by myself, hence I'm opening this issue.

May you please tell me what dependencies and libraries I need? Or maybe some extensions for Visual Studio? Thank you.

Release 19.1 appimage - can't import any images.

If try to import character .png from TavernAI I get this error: "path not allowed on the configured scope: /home ..." (any folder).
When I try to set image for character - it's not set. This time silent - no errors, just not set.

On previous releases it's been possible.

Manjaro Linux.

Also, with local Oobaboga's text gen UI as backend, generation limited to 80 tokens. Changing option "Max response size" don't change anything.

--no-stream flag broken

HOW TO REPLICATE

check --no-stream or add it as a flag to webui.py --> CMD_FLAGS = --no-stream

this is vanilla latest version clean install

Traceback:

Traceback (most recent call last):
  File "C:\AI\oobabooga_windows\text-generation-webui\server.py", line 1046, in <module>
    create_interface()
  File "C:\AI\oobabooga_windows\text-generation-webui\server.py", line 957, in create_interface
    shared.gradio['interface'].launch(prevent_thread_lock=True, share=shared.args.share, server_port=shared.args.listen_port, inbrowser=shared.args.auto_launch, auth=auth)
  File "C:\AI\oobabooga_windows\installer_files\env\lib\site-packages\gradio\blocks.py", line 1727, in launch
    self.validate_queue_settings()
  File "C:\AI\oobabooga_windows\installer_files\env\lib\site-packages\gradio\blocks.py", line 1575, in validate_queue_settings
    raise ValueError(
ValueError: Queue needs to be enabled! You may get this error by either 1) passing a function that uses the yield keyword into an interface without enabling the queue or 2) defining an event that cancels another event without enabling the queue. Both can be solved by calling .queue() before .launch()

[Feature Suggestion] Star character, Duplicate character, Folder Customisation

Sorry if this isn't the right place to post this (or the features exist and i haven't found them), loving this project! Thank you for making it

Some Quality of Life ideas:

  • Add a "Star Character ⭐" button and a starred section to easily navigate to your favorite characters, while still keeping them in the position/order/folder they're in
  • A button to quickly duplicate character in the app without having to export and import
  • Ability to add colors/names to the folders to help with organisation

[Docs update request] for APIs (mainly translation side) added since 0.7.0

The title is the content.

In particular, I would appreciate it if you consider the use of this translation API not only supporting various APIs of the translator (Papago, Deepl, 3.5, 4.0, etc.), but also expanding the functions I want to implement additionally.

The extensions I'm currently developing are:

  • Custom dictionary
  • Ability to save translation logs for each character card
  • Ability to edit the translation log as if editing the exchanged prompt
  • By using the corresponding log function, AI automatically generates optimized translation prompts for each character card when using some LLaM to support “character-specific translation memory” that enables self-reflection.

[Feature Request] Eventbook

It would be great if there were a separate feature for an event book, which has the same function as the Lorebook.

For Simulation Bot, using Probability Condition of the Lorebook, it is possible to convert various values into HTML GUI and control events.

To trigger meaningful events in chat, inevitably, the Lorebook should be located to Formationg Order at the bottom.

The problem is that this can overwrite other information such as Author's Note or other chats when loading information using keywords from other items in the Lorebook.

Therefore, it becomes impossible to use the Lorebook for its original purpose.

It would be good to have an Event Book specifically for controlling events.


Lorebook과 완전히 같은 기능을 하는 Event book이 별개로 추가되었으면 좋겠습니다

시뮬레이션 봇의 경우 로어북의 Probability Condition을 활용해 각종 수치를 HTML로 GUI로 변환해 표시하던가, 이벤트를 제어할 수 있는데

채팅에 유의미한 트리거를 일으키려면 필연적으로 Lorebook을 Formationg Order 가장 밑으로 내려야 합니다.

문제는 이 경우 로어북의 다른 항목의 키워드로 정보를 불러왔을 때 Author's Note나 다른 Chat들을 덮어버리는 경우가 생깁니다.

그렇기 때문에 어쩔 수 없이 로어북의 원래 용도로 쓰는 것이 불가능해집니다

이벤트 제어만을 위한 Lorebook, 즉 Event book이 있었으면 좋겠습니다.

Only replys the same things in Obabooga

Finally it works with Obabooga, thanks for hark work@kwaroran.

But when I talked with Yizu no matter what I sends she only replay "Yuzu, the shy cat girl maid"(seems like a default placeholder reply message). And Rika replays nothing at all. Obabooga backend shows no matter what I send it all take 80 tokens(contents numbers are different).

And I loaded different models in Obaboooga, tried default and notebook mode in setting. In available extensions section I toggled 'api' and 'gallery', in Boolean command-line flags section I toggled 'mode-menu', 'no-stream', 'pin-weight'. I'm using the latest version of Obabooga.

Issues with plain fetch

I know that due to a recent issue, the setting for plain fetch has been removed from RISU AI. However, this has the potential issue of disabling some proxies that enforce the use of plain fetch. Please allow plain fetch to be used, at least for local.

RISU Supermemory Questions

The money goes out of the API key, but no spaces related to supermemory appear on the character card - is this the result of supermemory being applied?

I can't save a chat

today I got home and decided that I want to talk to the ai on risu again. I usually do it on my phone but since it had low battery I did it on my laptop. I logged in and it didn't show my characters even tho I logged in. After that I went on my phone and entered the site and my characters disappeared from there too. I don't know what I should do because I was quite invested in that chat. I tried to import the character but couldn't find it. Please help me

[Feature Request] Font change option

I posted a request for another feature a while back, but I think you may have forgotten about it.

I forgot about it too, but another user mentioned it and I remembered.

A font change feature would be nice!

그때 원형 프로필 요청하면서 폰트 바꾸는 옵션도 같이 요청했었는데
아마 폰트는 까먹으신 거 같아서 다시 글 올립니다. 저도 까먹었었는데 딴 분이 언급하셔서 기억났네요....🙄

[Feature Request] Bot card quick deleting Button

example

RisuAI is the best AI chat frontend project of my life.

Many users have difficulty finding the delete button for bot cards in RisuAI.
My suggestion is to move the Delete Bot Card button to a more direct location, as shown in the image above.

Thank you very much as always.

(RisuAI는 제 인생 최고의 AI 채팅 프론트엔드 프로젝트입니다.

많은 사용자들이 RisuAI에서 봇 카드의 삭제 버튼을 찾는 것을 어려워 합니다.
저는 이에 대해서 위 이미지와 같이, 봇 카드 삭제 버튼을 더 직관적으로 이동하는 것을 제안합니다.

당신의 노고에 항상 감사합니다.)

Click Text to Edit Bug

If I enable that option and click on the first message, it will enter edit mode and will not be able to come out again

[bug] I can't create a character...

When I press Create Character, nothing happens. I see a very small space in the bottom left corner, but it doesn't respond when I press it.

[Error] I can't use claude api

I am currently using Windows 10 and my browser is Chrome. I tried to chat using the official cloud api key, but the following error popped up.

"<!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>403</title>403 Forbidden<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v52afc6f149f6479b8c77fa569edb01181681764108816\" integrity="sha512-jGCTpDpBAYDGNYR5ztKt4BQPGef1P0giN6ZGVUi835kFF88FOmmn8jBQWNgrNd8g/Yu421NdgWhwQoaOPFflDw==" data-cf-beacon='{"rayId":"7db4ec23aaf2b45e","version":"2023.4.0","r":1,"token":"c622a0c7e1cc41b9b5db4375b44ee190","si":100}' crossorigin="anonymous"></script>\n"

I wondered if it was due to chrome records or extensions, so I tried turning off all extensions in incognito mode, but the same error occurred. It doesn't seem to have anything to do with vpn. Firefox works fine, but there seems to be a compatibility problem with Chrome.

Suggestion for separately adding GPT-3.5-turbo-0301 to Risu AI's model selection list

Hello, Developer. Thank you for your hard work.

To begin with, I would like you to add the GPT-3.5-turbo-0301 button to Risu AI's model selection list. As you know, Open AI announced that it will automatically upgrade the GPT-3.5-turbo-0301 model to the GPT-3.5-turbo-0613 model on June 27th.

And they explained that the GPT-3.5-turbo-0301 model will be retired on September 13th. And according to the contents of Open AI's mail and homepage, if a user wants to use the GPT-3.5-turbo-0301 model even after the update, the user specifies the GPT-3.5-turbo-0301 model in the parameter of the API request and can use the model for about 3 months.

After reading these things, I thought it would be nice to add the GPT-3.5-turbo-0301 button to Risu AI's model selection list separately, just like the GPT-3.5-turbo-16k and GPT-3.5-turbo-0613 buttons. This is because there may be users who want to use the GPT-3.5-turbo-0301 model by the expiration date of September 13th.

I'm not familiar with programming stuff like this, so this might be a very silly suggestion. Although this suggestion is foolish, please consider it...

RisuAI Discord Server

Hey there! I have a suggestion that could greatly benefit your UI. How about creating a Discord server where people can provide feedback and share their thoughts? It would be a fantastic way to engage with users who may not have a GitHub account. Discord is widely used, and many individuals prefer to discuss their issues and concerns there. By establishing a Discord server, you would not only address this common problem but also foster a sense of community around your UI. This, in turn, would contribute to increased popularity, as other UIs with Discord servers have successfully achieved. I hope you find this idea helpful!

Requesting to add GPT4 32k

Hello, I am here to request for OpenAI GPT4 32k model selection which Silly Tavern has but not on Risu.

[bug] support firefox/DOMException error

currently, on firefox risu stop after user name input.
showing

Loading Sample bots...

in window

Uncaught (in promise) DOMException: The quota has been exceeded.

in console

Instructions on working with Oobabooga?

Greetings again,

Sorry for hijacking another persons post! I like your interface a lot! I was trying to get it to work with oobabooga locally, but was having problems. I tried trouble shooting by myself over the past couple days. I wonder if there is a guide to get the whole thing to run locally with oobabooga and a Llamamodel? One is sending HTML and the other is waiting on a JSON that never comes.

I'm pretty new to this stuff and I'm learning a lot!

Instructions how to run via browser/installer.

I found this alternative via a youtube video and was interested in it. However I am not very knowledgeable when it comes to this stuff, so maybe a user-friendly installation instructions would be great! There's little to no information on how to go about this, but I am excited about it.

[Error/Feature Request] There are several parts where Google Drive backup is unstable.

28c54952af14695e54f610438df174e50e9516fdff138e4aecf8c2ea4d6573e7

I'm getting this kind of backup error and I've been trying to figure out what's going on, but it seems that the BGM in the asset part of the character card is causing this error. It seems that the BGM in the asset is not backed up properly.

Also, certain emote bot images or bots that have assets added are getting the error and not backing up properly.

Most of the backup loading errors seem to be caused by character cards that contain assets and emote images. In my tests, about 500 character cards without emotes and assets seem to be backed up without errors, and the ones with emotes and assets are the ones that cause backup errors.

Also, images in the emote bot are sometimes not exported character card because they are large.

And when I tested again, I turned off the image compression feature in the advanced settings, and some of the errors in the backup import disappeared. There must be something wrong with the image compression feature.

I think it would be nice to have a way to link files directly to Google Drive in real time like Silly Tavern does with Google Colab, so you don't have to take the time to upload or load backups, just link to Google Drive and you're good to go.

[Below is Korean.]

이런식의 백업 오류가 있는데 제가 직접 뭐가 문제인가 찾아봤는데 캐릭터 카드안에 있는것중에 에셋 부분에 bgm이 이러한 오류를 발생시키는거 같습니다. 에셋에 있는 bgm을 제대로 백업이 안되나 봅니다.

그리고 특정 감정봇 이미지나 에셋이 추가된 봇중에 오류가뜨며 제대로 백업이 안불러와집니다.

대부분의 백업 불러오기 오류는 에셋 및 감정봇 이미지가 들어간 캐릭터 카드들이 일으키는거 같습니다. 테스트를 해봤을때 감정이미지와 에셋이 들어가지않은 500개 가량의 캐릭터카드는 오류없이 백업이 되는거 같으며 오류가 일어나는 캐릭터 카드는 감정이미지와 에셋이 포함된 것들이 그렇습니다.

그리고 감정봇에 있는 이미지가 용량이 커서인지 내보내기가 안되기도 합니다.

그리고 테스트를 또 해봤을때 고급설정에 이미지 압축 기능을 Off 했을때 백업불러오기에서 몇몇 있던 오류가 사라지기도 했습니다. 이미지 압축 기능에 무언가 문제가 있나 봅니다.

차라리 Google Colab으로 돌리는 Silly Tavern처럼 구글드라이브에 직접 실시간으로 파일들을 연동하는 식으로 하면 좋지않을까 싶습니다. 그렇게하면 백업을 시간들여 올리거나 불러올필요 없이 구글드라이브 연동만하면 바로바로 사용이 되는거죠.

Feature suggestions for accessibility for people with low vision/blindness

AI chats are built by a diverse group of people from around the world. RisuAI's community is built by people all over the world.

AI chat is a community and a hobby that is accessible to people with low vision and blindness using screen readers, especially since it is almost entirely written and red.

Therefore, I would like to make the following suggestions for improving RisuAI's accessibility features.

[ Alternative text is not provided for several features in RisuAI ]

  1. Character bot cards are not provided with an exact alternative text, making them impossible to distinguish for users using screen readers.
  • Solution: Modify the code to provide alt text in the portrait of the bot card's EXIF that is provided by Character Name={{char}} not "Avatar".
  1. All toggle-type checkbox features within RisuAI are currently unable to recognize whether they are checked or unchecked by screen readers.
  • Solution: To be precise, the screen reader recognizes the checkbox, but is not given any alternative text to indicate which checkbox it is. So those each checkboxes need their own alt text.
  1. If a screen reader user struggles to enter the character selection window, the buttons for all the details within the character selection window will only provide the alternative text "Graphics".
  • Solution: Provide clear alt text for the name of the feature.
  1. [Not required] Local RisuAI installed with .msi extension is not recognized by some screen readers at all.
  • Solution: Of course, the web version of RisuAI is recognized it well, so if you can't solve the problem with the local version, or it's hard to change it, I think you could recommend using the web version for people with low vision and blindness on RisuAI's official wiki page, etc. However, I think users should also be warned about backing up to Google Drive.

For more details and Korean descriptions, see the links below.

Please help the community of RisuAI get more people, and more various people, involved.
Thank you for your service as always.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.