A 24/7 self-learning AI agent with an integrated IDE workspace that runs itself. Works with your existing Claude Code or OpenAI Codex subscription. No extra API key needed.
$ npx -y skills add suitedaces/dorabot --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: suitedaces/dorabot
What's inside
A 24/7 self-learning AI agent with an integrated IDE workspace that runs itself.
Works with your existing Claude Code or OpenAI Codex subscription. No extra API key needed.
Download for macOS ยท Website ยท Discord ยท Demo
The agent manages its own goals, tracks research, messages you on Telegram and WhatsApp, runs scheduled tasks, and remembers everything across sessions.
https://github.com/user-attachments/assets/2ec5dd22-7b47-4ec0-a60b-62380e560bd0
Recent releases turned dorabot desktop into a practical IDE-style workspace:
Daily journals, curated memory, personality config. The agent remembers decisions, preferences, and context across every session. Full-text search over all past conversations. It gets better the more you use it.
Cron jobs, scheduled pulses, recurring tasks. The agent wakes up, does work, and messages you. iCal RRULE support, Apple Calendar sync (shows on Watch and iPhone).
The agent proposes goals, writes plans, and executes them. You approve from the desktop app or Telegram. Full pipeline: research, plan, review, execute, done.
The agent creates and maintains its own research for you. Topics tracked, categorized, and searchable. Point it at anything and it keeps the knowledge organized.
Same agent on WhatsApp and Telegram, with the same memory and context as desktop sessions. Send text, photos, voice, and documents.
Built-in skills for GitHub, email, macOS, PR review, and agent swarms. Browse community skills and connect MCP servers via Smithery.
Download the macOS app -- open the DMG, drag to Applications. Onboarding walks you through setup.
Requires: macOS + a Claude Code or OpenAI Codex subscription (or any API key: Claude, OpenAI, MiniMax).
git clone https://github.com/suitedaces/dorabot.git && cd dorabot
npm install && npm run build && npm link
npm run dev # gateway + desktop with HMR
dorabot -g # production gateway mode
dorabot -i # interactive terminal
dorabot -m "message" # one-off question
The onboard skill interviews you and builds:
| File | What it does |
|---|---|
SOUL.md | How the agent talks and thinks |
USER.md | Who you are, your goals, context |
MEMORY.md | Facts that persist across sessions |
All files live in ~/.dorabot/workspace/. Edit directly or let the agent manage them.
Runtime: Local-only, no telemetry. Scoped file access (sensitive dirs blocked). Token-authenticated gateway. Configurable tool approval per channel. macOS native sandbox.
Supply chain: All dependencies are pinned to exact versions (no ^ or ~ ranges). New packages must be at least 7 days old before CI will accept them. Every PR and push runs:
npm audit across all workspaces--all-projects).npmrc enforces save-exact=true so future installs pin automatically.
To run locally:
npm audit # known vulnerabilities
snyk test --all-projects --strict-out-of-sync=false # deep scan
node scripts/check-package-age.mjs --min-days=7 # package age
Open an issue or PR on GitHub.
.env.example
.github/
workflows/
auto-release.yml
build.yml
claude-review.yml
claude.yml
security.yml
test.yml
.gitignore
.npmrc
.nvmrc
AGENTS.md
CLAUDE.md
desktop/
.npmrc
build/
entitlements.mac.plist
icon.icns
components.json
electron/
electron-builder.yml
electron.vite.config.ts
dorabot-paths.ts
gateway-bridge.ts
gateway-manager.ts
http-auth-client.ts
main.ts
preload.ts
preview-paths.test.ts
preview-paths.ts
index.html
package-lock.json
package.json
public/
claude-icon.svg
dorabot.png
openai-icon.svg
sprites/
dorabot.png
telegram.png
whatsapp.png
src/
App.tsx
assets.ts
components/
aceternity/
aurora-background.tsx
bento-grid.tsx
compare.tsx
flip-words.tsx
focus-cards.tsx
lens.tsx
multi-step-loader.tsx
spotlight.tsx
text-generate-effect.tsx
timeline.tsx
approval-ui/
BashApproval.tsx
BrowserApproval.tsx
CronApproval.tsx
DefaultApproval.tsx
EditApproval.tsx
index.tsx
MessageApproval.tsx
TaskApproval.tsx
WriteApproval.tsx
Automations.tsx
ChannelSecurity.tsx
DorabotSprite.tsx
EditorGroupPanel.draft.test.tsx
EditorGroupPanel.tsx
ElicitationForm.tsx
ErrorBoundary.tsx
file-explorer.sim.test.tsx
FileExplorer.tsx
FileViewer.test.tsx
FileViewer.tsx
GlobalSearch.tsx
MarkdownEditor.tsx
Onboarding.tsx
Progress.tsx
ProviderCard.tsx
ProviderSetup.tsx
QuickOpen.tsx
SessionHistory.tsx
ShortcutHelp.tsx
TabBar.tsx
TerminalView.tsx
ToastContainer.tsx
tool-stream/
BrowserStream.tsx
CronStream.tsx
ElapsedTime.tsx
FileStream.tsx
index.tsx
MessageStream.tsx
PlanStream.tsx
ResearchStream.tsx
ScreenshotStream.tsx
SearchStream.tsx
TaskStream.tsx
TerminalStream.tsx
WebFetchStream.tsx
tool-ui/
AskUserQuestionTool.tsx
BashTool.tsx
BrowserTool.tsx
CronTool.tsx
DefaultTool.tsx
EditTool.tsx
GlobTool.tsx
GrepTool.tsx
index.tsx
MessageTool.tsx
PlanTool.tsx
ReadTool.tsx
ScreenshotTool.tsx
TaskTool.tsx
WebFetchTool.tsx
WebSearchTool.tsx
WriteTool.tsx
ui/
alert-dialog.tsx
badge.tsx
breadcrumb.tsx
button.tsx
card.tsx
collapsible.tsx
context-menu.tsx
dialog.tsx
dropdown-menu.tsx
input.tsx
label.tsx
resizable.tsx
scroll-area.tsx
select.tsx
separator.tsx
sheet.tsx
sidebar.tsx
skeleton.tsx
switch.tsx
tabs.tsx
textarea.tsx
tooltip.tsx
viewers/
DiffViewer.tsx
ExcelViewer.tsx
HtmlViewer.tsx
HtmlViewer.unmount.test.tsx
ImageDiffViewer.tsx
ImageViewer.tsx
JsonViewer.tsx
MarkdownViewer.tsx
MonacoEditor.tsx
PDFViewer.tsx
VideoViewer.tsx
VirtualChatList.tsx
gateway/
client.ts
globals.css
hooks/
__tests__/
useLayout.edgecases.test.ts
pane-roles.sim.test.tsx
use-mobile.ts
useEditorPrefs.ts
useGateway.ts
useKeyboardShortcuts.test.tsx
useKeyboardShortcuts.ts
useLayout.ts
useTabs.ts
useTheme.ts
useToast.ts
lib/
diff.ts
file-preview.test.ts
file-preview.ts
json-viewer.test.ts
json-viewer.ts
modelCatalog.ts
palettes.ts
safe-parse.ts
utils.ts
main.tsx
views/
Agents.tsx
Channel.tsx
Chat.tsx
CodexExtensions.tsx
Extensions.tsx
Goals.tsx
Mcp.tsx
projects/
helpers.ts
KanbanBoard.tsx
KanbanCard.tsx
KanbanColumn.tsx
TaskDetailView.tsx
PullRequest.tsx
Research.tsx
Settings.tsx
Skills.tsx
Soul.tsx
Status.tsx
Tools.tsx
vite-env.d.ts
tsconfig.json
vitest.config.ts
gifs/
automations.gif
channels.gif
extensions.gif
goals.gif
memory.gif
research.gif
LICENSE
package-lock.json
package.json
public/
architecture.svg
desktop-goals.jpeg
image.png
README.md
scripts/
audit-gate.mjs
bundle-gateway.sh
check-package-age.mjs
check-session-stats.ts
claude-oauth-login.ts
complete-oauth.ts
migrate-to-sqlite.ts
smoke-claude-sdk.mjs
smoke-codex-145.mjs
strip-tool-result-images.ts
test-event-log.ts
test-fs-ops.ts
test-fs-watch-events.ts
test-load-7x4.ts
test-oauth-refresh.ts
test-question-lifecycle.ts
test-reconnect-replay.ts
test-scheduler-run-item.ts
test-session-sanitization.ts
test-session-stats.ts
site/
.gitignore
.npmrc
app/
api/
download/
route.ts
components/
aceternity/
hover-border-gradient.tsx
below-fold.tsx
demo-video.tsx
lazy-video.tsx
scroll-reveal.tsx
sections/
Also.tsx
CTA.tsx
Features.tsx
Footer.tsx
Hero.tsx
Navbar.tsx
docs/
page.tsx
globals.css
layout.tsx
page.tsx
lib/
utils.ts
next-env.d.ts
next.config.ts
package-lock.json
package.json
postcss.config.mjs
public/
claude-icon.svg
demo-poster.jpg
demo-poster.webp
dorabot.png
favicon.ico
favicon.png
og.jpg
tsconfig.json
skills/
skills-registry.json
agent-swarm-orchestation/
SKILL.md
github/
SKILL.md
himalaya/
references/
configuration.md
message-composition.md
SKILL.md
macos/
SKILL.md
meme/
SKILL.md
nano-banana/
SKILL.md
onboard/
SKILL.md
polymarket/
SKILL.md
remotion/
rules/
3d.md
animations.md
assets/
assets.md
charts-bar-chart.tsx
text-animations-typewriter.tsx
text-animations-word-highlight.tsx
audio-visualization.md
audio.md
calculate-metadata.md
can-decode.md
charts.md
compositions.md
display-captions.md
extract-frames.md
ffmpeg.md
fonts.md
get-audio-duration.md
get-video-dimensions.md
get-video-duration.md
gifs.md
images.md
import-srt-captions.md
light-leaks.md
lottie.md
maps.md
measuring-dom-nodes.md
measuring-text.md
parameters.md
sequencing.md
subtitles.md
tailwind.md
text-animations.md
timing.md
transcribe-captions.md
transitions.md
transparent-videos.md
trimming.md
videos.md
voiceover.md
SKILL.md
review-pr/
SKILL.md
src/
agent.ts
agents/
definitions.ts
auth/
keychain.ts
autonomous.ts
browser/
actions.ts
manager.ts
refs.ts
calendar/
scheduler.ts
channels/
index.ts
telegram/
bot.ts
index.ts
media.ts
monitor.ts
send.ts
types.ts
whatsapp/
index.ts
login.ts
monitor.ts
send.ts
session.ts
config.ts
db.ts
gateway/
auth-state.ts
channel-manager.ts
event-log.ts
fs-ops.ts
fs-watch-events.ts
http-auth-server.ts
index.ts
server.ts
session-registry.ts
tool-policy.ts
types.ts
hooks/
index.ts
ideas/
tools.ts
image-utils.ts
... 38 moreFAQ
dorabot is a Claude Code plugin with 10 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes agent-swarm-orchestation, github, himalaya. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.