Skip to content

Latest commit

Β 

History

History
158 lines (116 loc) Β· 5.78 KB

File metadata and controls

158 lines (116 loc) Β· 5.78 KB

Credits & Attribution

OpenCami is a fork of WebClaw, created by @ibelick.

We deeply appreciate the original work that made this project possible.


Original WebClaw (MIT License)

Repository: https://github.com/ibelick/webclaw
Author: @ibelick (Julien Thibeaut)
License: MIT

What Comes From WebClaw

The following components, architecture, and functionality are inherited from the original WebClaw project:

Core Architecture

  • TanStack Start framework setup and SSR configuration
  • TanStack Router file-based routing system
  • Vite build configuration and dev server setup
  • React 19 integration with server components

UI Components (src/components/)

  • ui/ β€” Complete UI component library (Button, Menu, Dialog, etc.)
  • prompt-kit/ β€” Prompt input components with textarea handling
  • chat-message.tsx β€” Message rendering with markdown support
  • theme-toggle.tsx β€” Dark/light mode switching
  • scroll-button.tsx β€” Scroll-to-bottom functionality

Chat Screen (src/screens/chat/)

  • chat-screen.tsx β€” Main chat orchestration and state management
  • hooks/use-chat.ts β€” Chat history and message handling
  • hooks/use-stream.ts β€” WebSocket streaming implementation
  • components/chat-history.tsx β€” Message list rendering
  • components/chat-header.tsx β€” Session header with controls
  • components/chat-empty-state.tsx β€” Welcome screen

Server & Gateway (src/server/)

  • gateway.ts β€” OpenClaw Gateway WebSocket RPC client
  • auth.ts β€” Gateway authentication handling

Styling

  • styles.css β€” Base Tailwind configuration
  • CSS custom properties for theming
  • Responsive design breakpoints

Routes

  • __root.tsx β€” Root layout with providers
  • index.tsx β€” Home/redirect logic
  • connect.tsx β€” Gateway connection setup
  • $sessionKey.tsx β€” Dynamic session routing
  • new.tsx β€” New session creation

Utilities (src/lib/)

  • utils.ts β€” Helper functions (cn, etc.)
  • constants.ts β€” App constants

Assets

  • logo.svg β€” OpenClaw logo
  • favicon.svg β€” Browser icon
  • cover.webp β€” Social media preview image

OpenCami Additions

The following features were added in the OpenCami fork:

New Components

  • model-selector.tsx β€” Dynamic model switching dropdown
  • command-help.tsx β€” Slash command reference panel
  • keyboard-shortcuts.tsx β€” Keyboard shortcut handler
  • export-dialog.tsx β€” Conversation export (MD/JSON/TXT)

New API Routes (src/routes/api/)

  • models.ts β€” Fetch available models from Gateway config
  • follow-ups.ts β€” Smart follow-up suggestions

New Hooks

  • use-follow-up-suggestions.ts β€” Follow-up generation logic
  • use-keyboard-shortcuts.ts β€” Global keyboard handler

Modified Files

  • chat-composer.tsx β€” Added model selector and command help integration
  • chat-screen.tsx β€” Added model parameter to message sending
  • package.json β€” Changed default port to 3001

Documentation

  • README.md β€” Comprehensive feature documentation
  • CREDITS.md β€” This attribution file
  • docs/FEATURE_WISHLIST.md β€” Future feature roadmap

Third-Party Dependencies

OpenCami uses many excellent open-source packages. Key dependencies include:

Package Purpose License
React UI framework MIT
TanStack Router File-based routing MIT
TanStack Start Full-stack framework MIT
Tailwind CSS Utility-first CSS MIT
Vite Build tool MIT
Zustand State management MIT
Radix UI Accessible primitives MIT
Hugeicons Icon library MIT
react-markdown Markdown rendering MIT

See package.json for the complete dependency list.


License

Both WebClaw and OpenCami are released under the MIT License.

MIT License

Copyright (c) 2026 Julien Thibeaut (WebClaw)
Copyright (c) 2026 robbyczgw-cla (OpenCami additions)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Thank You

Special thanks to:

  • @ibelick β€” For creating WebClaw and releasing it as open source. The clean architecture and modern stack made it a joy to build upon.
  • OpenClaw β€” For building an incredible AI assistant platform.
  • The open source community β€” For all the amazing tools and libraries that make projects like this possible.

If you use OpenCami or WebClaw in your project, please consider giving credit by linking back to the original repositories.