MCPcopy
hub / github.com/OvidijusParsiunas/deep-chat

github.com/OvidijusParsiunas/deep-chat @2.4.2 sqlite

repository ↗ · DeepWiki ↗ · release 2.4.2 ↗
2,243 symbols 4,801 edges 557 files 9 documented · 0%
README

Deep Chat

Deep Chat is a fully customizable AI chat component that can be injected into your website with just one line of code. Whether you want to create a chatbot that leverages popular APIs such as ChatGPT or connect to your own custom service, this component can do it all! Explore deepchat.dev to view all of the available features, how to use them, examples and more!

:rocket: Main Features

  • Connect to any API
  • Avatars
  • Names
  • Send/Receive files
  • Capture photos via webcam
  • Record audio via microphone
  • Speech To Speech communication
  • Speech To Text for message input
  • Text To Speech to hear message responses
  • Support for MarkDown and custom elements to help structure text and render code
  • Introduction panel and dynamic modals to help describe functionality for your users
  • Connect to more than 20 popular AI APIs such as OpenAI or Claude directly from the browser
  • Communicate with Speech to Speech models
  • Support for all major ui frameworks/libraries
  • Host a model on the browser
  • Focus mode to display only the latest messages
  • Everything is customizable!

:tada: Latest Updates

Deep Chat version 2.4.0 brings a ton of new features into the Deep Chat ecosystem:

2.3.0 update:

2.2.2 update:

2.2.0 update:

:computer: Getting started

npm install deep-chat

If using React, install the following instead:

npm install deep-chat-react

Simply add the following to your markup:

<deep-chat></deep-chat>

The exact syntax for the above will vary depending on the framework of your choice (see here).

:computer: Install with AI

Use the llms.txt file as a reference for installing and configuring Deep Chat with your code assistant:

"Use https://github.com/OvidijusParsiunas/deep-chat/blob/main/llms.txt to add a chat component to my website."

:zap: Connect

Connect

Connecting to a service is simple, all you need to do is define its API details using the request property:

<deep-chat request='{"url":"https://service.com/chat"}'/>

The service will need to be able to handle request and response formats used in Deep Chat. Please read the Connect section in documentation and check out the server template examples.

Alternatively, if you want to connect without changing the target service, use the interceptor properties to augment the transferred objects or the handler function to control the request code.

:electric_plug: Direct connection

Direct connection

Connect to popular AI APIs directly from the browser via the use of the directConnection property:

<deep-chat directConnection='{"openAI":true}'/>

<deep-chat directConnection='{"openAI":{"key": "optional-key-here"}}'/>

Please note that this approach should be used for local/prototyping/demo purposes ONLY as it exposes the API Key to the browser. When ready to go live, please switch to using the connect property described above along with a proxy service.

:robot: Web model

Web Model

No servers, no connections, host an LLM model entirely on your browser.

Simply add the deep-chat-web-llm module and define the webModel property:

<deep-chat webModel="true" />

:camera: :microphone: Camera and Microphone

Capture

Use Deep Chat to capture photos with your webcam and record audio with the microphone. You can enable this using the camera and microphone properties:

<deep-chat camera="true" microphone="true" ...other properties />

:microphone: :sound: Speech

https://github.com/OvidijusParsiunas/deep-chat/assets/18709577/e103a42e-b3a7-4449-b9db-73fed6d7876e

Input text with your voice using Speech To Text capabilities and have the responses read out to you with Text To Speech. You can enable this functionality via the speechToText and textToSpeech properties.

<deep-chat speechToText="true" textToSpeech="true" ...other properties />

:beginner: Examples

Check out live codepen examples for your UI framework/library of choice:

React Vue 2 Vue 3 Svelte SvelteKit Angular Solid Next Nuxt VanillaJS

| | | | | |

Setting up your own server has never been easier with the following server templates. From creating your own service to establishing proxies for other APIs such as OpenAI, everything has been documented with clear examples to get you up and running in seconds:

| Express | Nest | Flask | Spring

Extension points exported contracts — how you extend this code

ChatInterface (Interface)
(no doc) [2 implementers]
component/src/types/webModel/webLLM/webLLMShared.ts
DeepChatTextRequestBody (Interface)
(no doc)
example-servers/nextjs/app-router/types/deepChatTextRequestBody.ts
DeepChatTextRequestBody (Interface)
(no doc)
example-servers/sveltekit/src/routes/types/deepChatTextRequestBody.ts
HiddenFileAttachments (Interface)
(no doc) [2 implementers]
component/src/views/chat/input/fileAttachments/fileAttachments.ts
DeepChatTextRequestBody (Interface)
(no doc)
example-servers/nextjs/pages-router/types/deepChatTextRequestBody.ts
ServiceIO (Interface)
(no doc) [1 implementers]
component/src/services/serviceIO.ts
HTMLElementTagNameMap (Interface)
(no doc)
component/src/deepChat.ts
OpenAIImagesDalle2 (Interface)
(no doc)
component/src/types/openAI.ts

Core symbols most depended-on inside this repo

CREATE_ELEMENT
called by 96
component/src/utils/consts/htmlConstants.ts
DEEP_COPY
called by 88
component/src/utils/consts/messageConstants.ts
add
called by 79
component/src/views/chat/input/buttons/custom/customButton.ts
add
called by 50
component/src/views/chat/messages/html/htmlMessages.ts
Property
called by 49
component/src/utils/decorators/property.ts
get
called by 37
component/src/views/chat/messages/browserStorage/browserStorage.ts
add
called by 30
component/src/utils/element/statefulEvents.ts
genereteAPIKeyName
called by 30
component/src/services/utils/directServiceIO.ts

Shape

Method 1,217
Class 399
Function 374
Interface 200
Struct 35
Route 15
Enum 3

Languages

TypeScript88%
Java7%
Go3%
Python2%

Modules by API surface

component/src/services/openAI/realtime/openAIRealtimeIO.ts40 symbols
example-servers/go/services/types.go35 symbols
component/src/views/chat/messages/messages.ts32 symbols
example-servers/python/flask/src/app.py31 symbols
component/src/views/chat/messages/messagesBase.ts31 symbols
component/src/views/chat/messages/utils/messageUtils.ts28 symbols
component/src/webModel/webModel.ts27 symbols
component/src/views/chat/input/buttons/submit/submitButton.ts23 symbols
component/src/services/utils/directServiceIO.ts23 symbols
component/src/utils/legacy/legacy.ts21 symbols
component/src/services/openAI/assistant/openAIAssistantIOI.ts20 symbols
component/src/services/openAI/openAIChatIO.ts19 symbols

Dependencies from manifests, versioned

github.com/joho/godotenvv1.5.1 · 1×
io.netty:netty-resolver-dns-native-macos4.1.73.Final · 1×
org.springframework.boot:spring-boot-starter
org.springframework.boot:spring-boot-starter-test
org.springframework.boot:spring-boot-starter-web
org.springframework.boot:spring-boot-starter-webflux
@babel/cli7.23.9 · 1×
@babel/core7.24.0 · 1×
@babel/plugin-proposal-private-property-in-object7.21.11 · 1×
@babel/preset-env7.24.0 · 1×
@custom-elements-manifest/analyzer0.9.3 · 1×
@docusaurus/core3.1.1 · 1×

For agents

$ claude mcp add deep-chat \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact