tabclaw 0.1.0
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.
- package/README.md +113 -0
- package/config.example.toml +29 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +1858 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/daemon/process.js +5712 -0
- package/dist/daemon/process.js.map +1 -0
- package/package.json +66 -0
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Tabclaw
|
|
2
|
+
|
|
3
|
+
Tabclaw is a local gateway for AI assistant event hooks and notification channels. It helps connect hook-enabled agents to channels like Telegram while keeping runtime state under `~/.tabclaw`.
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
- Runs a local gateway daemon for hook-based agent integrations
|
|
8
|
+
- Attaches supported agents such as `claude` to the gateway
|
|
9
|
+
- Routes session events, permission requests, and status updates to configured channels
|
|
10
|
+
- Provides CLI commands for daemon control, status, logs, and agent attachment
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install -g tabclaw
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Or run without installing:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx tabclaw init
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Quick start
|
|
25
|
+
|
|
26
|
+
1. Initialize configuration:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
tabclaw init
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. Start the gateway daemon:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
tabclaw gateway start
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
3. Attach an agent:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
tabclaw attach claude
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
4. Check gateway status:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
tabclaw gateway status
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Main commands
|
|
51
|
+
|
|
52
|
+
- `tabclaw init` — initialize or update `~/.tabclaw/config.toml`
|
|
53
|
+
- `tabclaw gateway start` — start or restart the gateway daemon
|
|
54
|
+
- `tabclaw gateway stop` — stop the gateway daemon
|
|
55
|
+
- `tabclaw gateway restart` — restart the gateway daemon
|
|
56
|
+
- `tabclaw gateway status` — show gateway health and active sessions
|
|
57
|
+
- `tabclaw attach <agent-type>` — attach a supported agent to the gateway
|
|
58
|
+
- `tabclaw status` — view CLI status
|
|
59
|
+
- `tabclaw logs` — inspect logs
|
|
60
|
+
- `tabclaw stop` — stop the daemon
|
|
61
|
+
|
|
62
|
+
## Configuration
|
|
63
|
+
|
|
64
|
+
Copy `config.example.toml` to `~/.tabclaw/config.toml` and fill in your values.
|
|
65
|
+
|
|
66
|
+
Example:
|
|
67
|
+
|
|
68
|
+
```toml
|
|
69
|
+
[general]
|
|
70
|
+
default_agent = "claude"
|
|
71
|
+
log_level = "info"
|
|
72
|
+
hook_server_port = 9876
|
|
73
|
+
|
|
74
|
+
[channel.telegram]
|
|
75
|
+
enabled = true
|
|
76
|
+
bot_token = "YOUR_BOT_TOKEN"
|
|
77
|
+
allowed_users = [123456789]
|
|
78
|
+
|
|
79
|
+
[agent.claude]
|
|
80
|
+
adapter = "hooks"
|
|
81
|
+
binary = "claude"
|
|
82
|
+
work_dir = ""
|
|
83
|
+
model = ""
|
|
84
|
+
permission_mode = ""
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Development
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm install
|
|
91
|
+
npm run dev -- init
|
|
92
|
+
npm test
|
|
93
|
+
npm run build
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Supported platforms
|
|
97
|
+
|
|
98
|
+
- CLI agent support: `claude`
|
|
99
|
+
- Chat channel support: `Telegram`
|
|
100
|
+
|
|
101
|
+
## Future plan
|
|
102
|
+
|
|
103
|
+
- Add more agent adapters beyond Claude Code
|
|
104
|
+
- Support more chat and notification channels
|
|
105
|
+
- Improve permission and session event delivery
|
|
106
|
+
- Make gateway setup and channel configuration more flexible
|
|
107
|
+
|
|
108
|
+
## Notes
|
|
109
|
+
|
|
110
|
+
- Use `config.example.toml` as the starting point.
|
|
111
|
+
- Runtime files are stored in `~/.tabclaw`.
|
|
112
|
+
|
|
113
|
+
MIT
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# tabclaw configuration
|
|
2
|
+
# Copy to ~/.tabclaw/config.toml and fill in your credentials
|
|
3
|
+
|
|
4
|
+
[general]
|
|
5
|
+
default_agent = "claude"
|
|
6
|
+
log_level = "info"
|
|
7
|
+
hook_server_port = 9876
|
|
8
|
+
|
|
9
|
+
[channel.telegram]
|
|
10
|
+
enabled = true
|
|
11
|
+
bot_token = "YOUR_BOT_TOKEN"
|
|
12
|
+
allowed_users = [123456789]
|
|
13
|
+
|
|
14
|
+
[channel.feishu]
|
|
15
|
+
enabled = false
|
|
16
|
+
app_id = ""
|
|
17
|
+
app_secret = ""
|
|
18
|
+
|
|
19
|
+
[agent.claude]
|
|
20
|
+
adapter = "hooks"
|
|
21
|
+
binary = "claude"
|
|
22
|
+
work_dir = ""
|
|
23
|
+
model = ""
|
|
24
|
+
permission_mode = ""
|
|
25
|
+
|
|
26
|
+
# Agent-specific permission settings
|
|
27
|
+
[agent.claude.permission]
|
|
28
|
+
# Low-risk tools that won't trigger permission prompts
|
|
29
|
+
lowRiskTools = ["Read", "Glob", "Grep", "List", "WebSearch", "codesearch"]
|