vibe-remote 2.1.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. config/__init__.py +37 -0
  2. config/paths.py +56 -0
  3. config/v2_compat.py +74 -0
  4. config/v2_config.py +206 -0
  5. config/v2_sessions.py +73 -0
  6. config/v2_settings.py +115 -0
  7. core/__init__.py +0 -0
  8. core/controller.py +736 -0
  9. core/handlers/__init__.py +13 -0
  10. core/handlers/command_handlers.py +342 -0
  11. core/handlers/message_handler.py +365 -0
  12. core/handlers/session_handler.py +233 -0
  13. core/handlers/settings_handler.py +362 -0
  14. modules/__init__.py +0 -0
  15. modules/agent_router.py +58 -0
  16. modules/agents/__init__.py +38 -0
  17. modules/agents/base.py +91 -0
  18. modules/agents/claude_agent.py +344 -0
  19. modules/agents/codex_agent.py +368 -0
  20. modules/agents/opencode_agent.py +2155 -0
  21. modules/agents/service.py +41 -0
  22. modules/agents/subagent_router.py +136 -0
  23. modules/claude_client.py +154 -0
  24. modules/im/__init__.py +63 -0
  25. modules/im/base.py +323 -0
  26. modules/im/factory.py +60 -0
  27. modules/im/formatters/__init__.py +4 -0
  28. modules/im/formatters/base_formatter.py +639 -0
  29. modules/im/formatters/slack_formatter.py +127 -0
  30. modules/im/slack.py +2091 -0
  31. modules/session_manager.py +138 -0
  32. modules/settings_manager.py +587 -0
  33. vibe/__init__.py +6 -0
  34. vibe/__main__.py +12 -0
  35. vibe/_version.py +34 -0
  36. vibe/api.py +412 -0
  37. vibe/cli.py +637 -0
  38. vibe/runtime.py +213 -0
  39. vibe/service_main.py +101 -0
  40. vibe/templates/slack_manifest.json +65 -0
  41. vibe/ui/dist/assets/index-8g3mNwMK.js +35 -0
  42. vibe/ui/dist/assets/index-M55aMB5R.css +1 -0
  43. vibe/ui/dist/assets/logo-BzryTZ7u.png +0 -0
  44. vibe/ui/dist/index.html +17 -0
  45. vibe/ui/dist/logo.png +0 -0
  46. vibe/ui/dist/vite.svg +1 -0
  47. vibe/ui_server.py +346 -0
  48. vibe_remote-2.1.6.dist-info/METADATA +295 -0
  49. vibe_remote-2.1.6.dist-info/RECORD +52 -0
  50. vibe_remote-2.1.6.dist-info/WHEEL +4 -0
  51. vibe_remote-2.1.6.dist-info/entry_points.txt +2 -0
  52. vibe_remote-2.1.6.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,295 @@
1
+ Metadata-Version: 2.4
2
+ Name: vibe-remote
3
+ Version: 2.1.6
4
+ Summary: Local-first agent runtime for Slack - run AI coding agents from your chat
5
+ Project-URL: Homepage, https://github.com/cyhhao/vibe-remote
6
+ Project-URL: Repository, https://github.com/cyhhao/vibe-remote
7
+ Project-URL: Documentation, https://github.com/cyhhao/vibe-remote#readme
8
+ Project-URL: Issues, https://github.com/cyhhao/vibe-remote/issues
9
+ Author-email: cyhhao <cyhhao@users.noreply.github.com>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ Keywords: agent,ai,automation,claude,codex,opencode,slack
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Communications :: Chat
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: aiohttp>=3.8.0
26
+ Requires-Dist: anyio>=4.0.0
27
+ Requires-Dist: claude-code-sdk>=0.0.25
28
+ Requires-Dist: markdown-to-mrkdwn>=0.2.0
29
+ Requires-Dist: pyyaml>=6.0
30
+ Requires-Dist: slack-sdk>=3.26.0
31
+ Requires-Dist: typing-extensions>=4.12.2
32
+ Description-Content-Type: text/markdown
33
+
34
+ <div align="center">
35
+
36
+ <img src="assets/logo.png" alt="Vibe Remote" width="120"/>
37
+
38
+ # Vibe Remote
39
+
40
+ ### Your AI coding army, commanded from Slack.
41
+
42
+ **No laptop. No IDE. Just vibes.**
43
+
44
+ [![GitHub Stars](https://img.shields.io/github/stars/cyhhao/vibe-remote?color=ffcb47&labelColor=black&style=flat-square)](https://github.com/cyhhao/vibe-remote/stargazers)
45
+ [![Python](https://img.shields.io/badge/python-3.9%2B-3776AB?labelColor=black&style=flat-square)](https://www.python.org/)
46
+ [![License](https://img.shields.io/badge/license-MIT-green?labelColor=black&style=flat-square)](LICENSE)
47
+
48
+ [English](README.md) | [中文](README_ZH.md)
49
+
50
+ ---
51
+
52
+ ![Banner](assets/banner.jpg)
53
+
54
+ </div>
55
+
56
+ ## The Pitch
57
+
58
+ You're at the beach. Phone buzzes — production's on fire.
59
+
60
+ **Old you:** Panic. Find WiFi. Open laptop. Wait for IDE. Lose your tan.
61
+
62
+ **Vibe Remote you:** Open Slack. Type "Fix the auth bug in login.py". Watch Claude Code fix it in real-time. Approve. Sip margarita.
63
+
64
+ ```
65
+ That's it. That's the product.
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Install in 10 Seconds
71
+
72
+ ```bash
73
+ curl -fsSL https://raw.githubusercontent.com/cyhhao/vibe-remote/master/install.sh | bash && vibe
74
+ ```
75
+
76
+ That's it. Browser opens -> Follow the wizard -> Done.
77
+
78
+ <details>
79
+ <summary><b>Windows?</b></summary>
80
+
81
+ ```powershell
82
+ irm https://raw.githubusercontent.com/cyhhao/vibe-remote/master/install.ps1 | iex
83
+ ```
84
+ </details>
85
+
86
+ ---
87
+
88
+ ## Why This Exists
89
+
90
+ | Problem | Solution |
91
+ |---------|----------|
92
+ | Claude Code is amazing but needs a terminal | Slack IS your terminal now |
93
+ | Context-switching kills flow | Stay in one app |
94
+ | Can't code from phone | Yes you can |
95
+ | Multiple agents, multiple setups | One Slack, any agent |
96
+
97
+ **Supported Agents:**
98
+ - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) — Deep reasoning, complex refactors
99
+ - [OpenCode](https://opencode.ai) — Fast, extensible, community favorite
100
+ - [Codex](https://github.com/openai/codex) — OpenAI's coding model
101
+
102
+ ---
103
+
104
+ ## Highlights
105
+
106
+ <table>
107
+ <tr>
108
+ <td width="33%">
109
+
110
+ ### Setup Wizard
111
+
112
+ One-command install, guided configuration. No manual token juggling.
113
+
114
+ ![Setup Wizard](assets/screenshots/setup-slack-en.png)
115
+
116
+ </td>
117
+ <td width="33%">
118
+
119
+ ### Dashboard
120
+
121
+ Real-time status, health monitoring, and quick controls.
122
+
123
+ ![Dashboard](assets/screenshots/dashboard-en.png)
124
+
125
+ </td>
126
+ <td width="33%">
127
+
128
+ ### Channel Routing
129
+
130
+ Per-channel agent configuration. Different projects, different agents.
131
+
132
+ ![Channels](assets/screenshots/channels-en.png)
133
+
134
+ </td>
135
+ </tr>
136
+ </table>
137
+
138
+ ### Instant Notifications
139
+
140
+ Get notified the moment your AI finishes. Like assigning tasks to employees — delegate, go do something else, and come back when the work is done. No need to babysit.
141
+
142
+ ### Thread = Session
143
+
144
+ Each Slack thread is an isolated workspace. Open 5 threads, run 5 parallel tasks. Context stays separate.
145
+
146
+ ### Interactive Prompts
147
+
148
+ When your agent needs input — file selection, confirmation, options — Slack pops up buttons or a modal. Full CLI interactivity, zero terminal required.
149
+
150
+ ![Interactive Prompts](assets/screenshots/question-en.jpg)
151
+
152
+ ---
153
+
154
+ ## How It Works
155
+
156
+ ```
157
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
158
+ │ You │ Slack │ Vibe Remote │ stdio │ AI Agent │
159
+ │ (anywhere) │ ──────▶ │ (your Mac) │ ──────▶ │ (your code) │
160
+ └──────────────┘ └──────────────┘ └──────────────┘
161
+ ```
162
+
163
+ 1. **You type** in Slack: *"Add dark mode to the settings page"*
164
+ 2. **Vibe Remote** routes to your configured agent
165
+ 3. **Agent** reads your codebase, writes code, streams back
166
+ 4. **You review** in Slack, iterate in thread
167
+
168
+ **Your code never leaves your machine.** Vibe Remote runs locally and connects via Slack's Socket Mode.
169
+
170
+ ---
171
+
172
+ ## Commands
173
+
174
+ | In Slack | What it does |
175
+ |----------|--------------|
176
+ | `@Vibe Remote /start` | Open control panel |
177
+ | `/stop` | Kill current session |
178
+ | Just type | Talk to your agent |
179
+ | Reply in thread | Continue conversation |
180
+
181
+ **Pro tip:** Each Slack thread = isolated session. Start multiple threads for parallel tasks.
182
+
183
+ ---
184
+
185
+ ## Instant Agent Switching
186
+
187
+ Need a different agent mid-conversation? Just prefix your message:
188
+
189
+ ```
190
+ Plan: Design a new caching layer for the API
191
+ ```
192
+
193
+ That's it. No menus, no commands. Type `AgentName:` and your message routes to that agent instantly.
194
+
195
+ ---
196
+
197
+ ## Per-Channel Routing
198
+
199
+ Different projects, different agents:
200
+
201
+ ```
202
+ #frontend → OpenCode (fast iteration)
203
+ #backend → Claude Code (complex logic)
204
+ #prototypes → Codex (quick experiments)
205
+ ```
206
+
207
+ Configure in web UI → Channels.
208
+
209
+ ---
210
+
211
+ ## CLI
212
+
213
+ ```bash
214
+ vibe # Start everything
215
+ vibe status # Check if running
216
+ vibe stop # Stop everything
217
+ vibe doctor # Diagnose issues
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Prerequisites
223
+
224
+ You need at least one coding agent installed:
225
+
226
+ <details>
227
+ <summary><b>Claude Code</b> (Recommended)</summary>
228
+
229
+ ```bash
230
+ npm install -g @anthropic-ai/claude-code
231
+ ```
232
+ </details>
233
+
234
+ <details>
235
+ <summary><b>OpenCode</b></summary>
236
+
237
+ ```bash
238
+ curl -fsSL https://opencode.ai/install | bash
239
+ ```
240
+ </details>
241
+
242
+ <details>
243
+ <summary><b>Codex</b></summary>
244
+
245
+ ```bash
246
+ npm install -g @openai/codex
247
+ ```
248
+ </details>
249
+
250
+ ---
251
+
252
+ ## Security
253
+
254
+ - **Local-first** — Vibe Remote runs on your machine
255
+ - **Socket Mode** — No public URLs, no webhooks
256
+ - **Your tokens** — Stored in `~/.vibe_remote/`, never uploaded
257
+ - **Your code** — Stays on your disk, sent only to your chosen AI provider
258
+
259
+ ---
260
+
261
+ ## Uninstall
262
+
263
+ ```bash
264
+ vibe stop && uv tool uninstall vibe-remote && rm -rf ~/.vibe_remote
265
+ ```
266
+
267
+ ---
268
+
269
+ ## Roadmap
270
+
271
+ - [ ] Discord & Teams support
272
+ - [ ] File attachments in Slack
273
+ - [ ] Multi-workspace
274
+ - [ ] Cloud relay mode (optional)
275
+
276
+ ---
277
+
278
+ ## Docs
279
+
280
+ - **[CLI Reference](docs/CLI.md)** — Command-line usage and service lifecycle
281
+ - **[Slack Setup Guide](docs/SLACK_SETUP.md)** — Detailed setup with screenshots
282
+
283
+ ---
284
+
285
+ <div align="center">
286
+
287
+ **Stop context-switching. Start vibe coding.**
288
+
289
+ [Install Now](#install-in-10-seconds) · [Setup Guide](docs/SLACK_SETUP.md) · [Report Bug](https://github.com/cyhhao/vibe-remote/issues)
290
+
291
+ ---
292
+
293
+ *Built for developers who code from anywhere.*
294
+
295
+ </div>
@@ -0,0 +1,52 @@
1
+ config/__init__.py,sha256=OJeY0fac2PTW_IGXQKCIDdVk5qiq4jDT05fMqtrhi6c,842
2
+ config/paths.py,sha256=EHmWNFBcuZuFTXrwC-o8rIXcufrhjpfyfto7sLEknrA,1233
3
+ config/v2_compat.py,sha256=MENhF3cOvstlkx2ts1_l7eeRSVwMaLLa6UWlR_VFwaI,1861
4
+ config/v2_config.py,sha256=56KG1i1h_wCIwNrH_5Y57P_tuUSK3Ryy5sB7ipLHpEg,6879
5
+ config/v2_sessions.py,sha256=JGiqJitSk7Kfz6CdJbkg68eqKAispW5z15KwgJn_o4k,2709
6
+ config/v2_settings.py,sha256=FlRJv9Qx3HQ8x1aZRzkVE0dT5Yd-7ftL2jsKP5P4jkE,4562
7
+ core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ core/controller.py,sha256=a2tDuoBqn5pbqHhEizJ1s2aRc5DpvJ-ppjRza-LPfec,30064
9
+ core/handlers/__init__.py,sha256=K92Ee-rbBb6RMyqSvLjP892CvGISsAvpb7cnoH37hLc,347
10
+ core/handlers/command_handlers.py,sha256=HkXw5a6SGizlTIJkpaxbqNpmyfmJXoi3etVq524iC6Q,15022
11
+ core/handlers/message_handler.py,sha256=bijoOLJKXfbzy-V48GbLMHPqzvLEdIclSkaIIZOxJXs,16336
12
+ core/handlers/session_handler.py,sha256=0aNIVCWg6aZez9skS44uhFQoN3W3XYPDA-k4LQXhvPQ,10308
13
+ core/handlers/settings_handler.py,sha256=R44P-RkRpxCjRXYux-iD-T2IP7tCvGcEYV3T1AQCsxU,15350
14
+ modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ modules/agent_router.py,sha256=NIwkvEKdeEjK9SSYnaOtQfYhFfgDS7wBij_-rU1WioI,1849
16
+ modules/claude_client.py,sha256=Dmp1ebq8d24smFbBJTIHz07RuPtEa2fdmkTwAnw3RIE,6289
17
+ modules/session_manager.py,sha256=Gp83JoEfOZNXCV63dfuvhSNO2OZGh7Mo4EjLLXusL_s,5551
18
+ modules/settings_manager.py,sha256=E8tZ25s0CdHAR49UgJxT9P9urHlZSAAf_pMIhQ7mvI0,22726
19
+ modules/agents/__init__.py,sha256=QDWddr2Qs1CJjL3Th95xnUsslIhaGVlJkk5_ZxSWEWY,909
20
+ modules/agents/base.py,sha256=fmNzd48ICsQcO35btB_CX0wjXKXUdgYEQOzmv6bLkIw,2849
21
+ modules/agents/claude_agent.py,sha256=2p1KT2bzNhKFoi51s9MwtkLje5ahNZ9CsioRCBk_mgo,14419
22
+ modules/agents/codex_agent.py,sha256=cBxdlKxP0ArqDrUB7h0x-SPkbnuMky0d7to-5seAzl8,14219
23
+ modules/agents/opencode_agent.py,sha256=uiXxb38fqa24YqEhygpgOMXuxOYzshaOwFgWdDIbjJE,91661
24
+ modules/agents/service.py,sha256=cf0BSmvPJmxl6tHCeB73lvozYQ8a7m_M72S79w3jV4s,1360
25
+ modules/agents/subagent_router.py,sha256=4cCUTnYR3LtW7WO0tmKN7YdTmhREe8SVKyfUDn4EdUg,3497
26
+ modules/im/__init__.py,sha256=BcoKs67EnqjWlVdINc1ovgnpIQs3wuZEIOdsziqiTZY,1447
27
+ modules/im/base.py,sha256=ATt2vfr8glEo8onlvxIDi1uUBF0YNI7gesFnrrGeysM,9730
28
+ modules/im/factory.py,sha256=2HWPMAO3t52MWGrDU_HZ7RFHZ1A4oee7mG03_lz-yO8,1698
29
+ modules/im/slack.py,sha256=0Z4E4IcbBcs0oiMY9hzlleWlxO1l47XnwVa1C6HbPOI,83016
30
+ modules/im/formatters/__init__.py,sha256=PMURxpIy3O6jFVGjWe2eOkYFOEFGA3U9hIg0TqrA3Gc,149
31
+ modules/im/formatters/base_formatter.py,sha256=9MEw_GRMY9Fpz5lfLAGeMrrW3TDCWNE1K519PzuJGhg,23008
32
+ modules/im/formatters/slack_formatter.py,sha256=8_4yL9CjV2idI-7MPdnKUiuMQLrTGdqOWVuh1yPQ720,5196
33
+ vibe/__init__.py,sha256=3Um-ZhFvZtdtRh7LQTK__1yvaCsU2SUDPn-vdcPuC0I,203
34
+ vibe/__main__.py,sha256=EXH3bTCAedKzDySKwcNoDtJzY-5GrMZwIPhl-2InL7w,207
35
+ vibe/_version.py,sha256=EwjLAOHxpsOZpfhlwgV2gSqwFh_1AQNnM-WrOk4-4zg,704
36
+ vibe/api.py,sha256=kODuzvxj28gsDW8a75xqGakvReJwwIbtETeN9hp1PsQ,15008
37
+ vibe/cli.py,sha256=w0LrRrQgPVc7LrdTyFFKV1mJlChBqjRYAtdRFTPw8a0,19552
38
+ vibe/runtime.py,sha256=voX0YXu-7jbtQHpnW7J_wABsBZmfkUbdYB3U941gpLY,5692
39
+ vibe/ui_server.py,sha256=Pnk012S4a6jjS7csH1BDvvqG-Re08VAEqtVBVdVKwxE,13402
40
+ vibe/templates/slack_manifest.json,sha256=5ZA7uYpIbFOJuSOZlSRpqW9h8KTxO-E3ZqYA6CCT0E4,1379
41
+ vibe/service_main.py,sha256=s1Z6sNYthIePHORzHqfgg1MEWr9aSBGpPWOeZSvH1ng,3051
42
+ vibe/ui/dist/index.html,sha256=xiBKvpzGKbSEthznkwXSa6ZlThn54tDtk9x3jRAIFE4,775
43
+ vibe/ui/dist/logo.png,sha256=CtatsNPB3kj9OKq6FU5qjXZqIF6wtOvnS1aJ3AW7vyQ,487878
44
+ vibe/ui/dist/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
45
+ vibe/ui/dist/assets/index-8g3mNwMK.js,sha256=h676W5ThC4zxH_f4d1W-pUjYlKuUMg6Zo4J-eonRYyA,501195
46
+ vibe/ui/dist/assets/index-M55aMB5R.css,sha256=2YzSchuMz3-oKAq8h18ENjgqVP525--pNGqzOBYDDi8,36113
47
+ vibe/ui/dist/assets/logo-BzryTZ7u.png,sha256=CtatsNPB3kj9OKq6FU5qjXZqIF6wtOvnS1aJ3AW7vyQ,487878
48
+ vibe_remote-2.1.6.dist-info/METADATA,sha256=YA0jjtIcvPCTeVbrz7NAUtsB_Vp5UXEyePjff7LieZY,7647
49
+ vibe_remote-2.1.6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
50
+ vibe_remote-2.1.6.dist-info/entry_points.txt,sha256=QHcKa6XQoibI2y4jWMaFDK9OI8tD4-X_u0lAX7IW9SU,39
51
+ vibe_remote-2.1.6.dist-info/licenses/LICENSE,sha256=lHdcgGvV0xWo3mrfxdybQ3x0iQ8tWrhY_rcFSfq6Poo,1080
52
+ vibe_remote-2.1.6.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ vibe = vibe.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 The Vibe Remote Authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.