@shadowob/connector 1.1.3-dev.271 → 1.1.4
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 +33 -7
- package/dist/cli.js +593 -81
- package/dist/index.cjs +52 -18
- package/dist/index.js +50 -18
- package/hermes-shadowob-plugin/README.md +2 -2
- package/hermes-shadowob-plugin/adapter.py +124 -32
- package/hermes-shadowob-plugin/shadow_sdk.py +33 -2
- package/hermes-shadowob-plugin/tests/test_adapter_env.py +102 -0
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -26,6 +26,14 @@ npx @shadowob/connector@latest connect \
|
|
|
26
26
|
|
|
27
27
|
Use `--dry-run` to preview writes and commands. Use `--json` with `plan` when embedding the plan in another tool.
|
|
28
28
|
|
|
29
|
+
`connect` merges existing configuration instead of replacing it:
|
|
30
|
+
|
|
31
|
+
- OpenClaw JSON defaults to `~/.shadowob/openclaw.json` or `--openclaw-config`.
|
|
32
|
+
- Hermes updates `~/.hermes/.env` and merges `~/.hermes/config.yaml`.
|
|
33
|
+
- cc-connect merges the ShadowOB platform into `~/.cc-connect/config.toml`.
|
|
34
|
+
|
|
35
|
+
Existing model providers, plugins, projects, platforms, and unrelated keys are preserved.
|
|
36
|
+
|
|
29
37
|
## OpenClaw
|
|
30
38
|
|
|
31
39
|
```bash
|
|
@@ -57,7 +65,7 @@ npx @shadowob/connector@latest connect \
|
|
|
57
65
|
|
|
58
66
|
The Hermes plugin is bundled in `hermes-shadowob-plugin/`. The connector copies it to `~/.hermes/plugins/shadowob`, writes the Shadow token/base URL, and enables the plugin.
|
|
59
67
|
|
|
60
|
-
Hermes does not need `agentId` or `channelId` in the setup command. The plugin calls `/api/auth/me` to resolve the Buddy agent id, then `/api/agents/:id/config` to receive channel access policy dynamically, matching the OpenClaw plugin behavior.
|
|
68
|
+
Hermes does not need `agentId` or `channelId` in the setup command. The plugin calls `/api/auth/me` to resolve the Buddy agent id, then `/api/agents/:id/config` to receive channel access policy dynamically, matching the OpenClaw plugin behavior. If no channel is available yet, Hermes stays online and waits for a DM, server join, channel membership, or policy update. By default it creates/uses the DM with the Buddy owner as the home channel.
|
|
61
69
|
|
|
62
70
|
Manual config shape:
|
|
63
71
|
|
|
@@ -90,6 +98,11 @@ export SHADOW_SLASH_COMMANDS_JSON='[]'
|
|
|
90
98
|
|
|
91
99
|
## cc-connect
|
|
92
100
|
|
|
101
|
+
The connector uses the ShadowOB-capable fork
|
|
102
|
+
`buggyblues/cc-connect@63b5d59`. It does not install the official npm
|
|
103
|
+
`cc-connect` package, because the npm package currently points to the upstream
|
|
104
|
+
`chenhg5/cc-connect` release line.
|
|
105
|
+
|
|
93
106
|
```bash
|
|
94
107
|
npx @shadowob/connector@latest connect \
|
|
95
108
|
--target cc-connect \
|
|
@@ -97,9 +110,18 @@ npx @shadowob/connector@latest connect \
|
|
|
97
110
|
--token buddy-token \
|
|
98
111
|
--work-dir . \
|
|
99
112
|
--project-name shadow-buddy \
|
|
100
|
-
--agent-type codex
|
|
113
|
+
--agent-type codex \
|
|
114
|
+
--install \
|
|
115
|
+
--start
|
|
101
116
|
```
|
|
102
117
|
|
|
118
|
+
With `--install`, the CLI first tries the fork's GitHub release asset matching
|
|
119
|
+
the local OS/CPU and verifies its pinned SHA-256. If the fork release asset is
|
|
120
|
+
missing or does not match, it pulls the pinned source archive, builds a `no_web`
|
|
121
|
+
Go binary, caches it under
|
|
122
|
+
`~/.shadowob/connector/cc-connect/63b5d59/bin/`, and starts that binary when
|
|
123
|
+
`--start` is present.
|
|
124
|
+
|
|
103
125
|
Equivalent TOML:
|
|
104
126
|
|
|
105
127
|
```toml
|
|
@@ -107,8 +129,12 @@ language = "zh"
|
|
|
107
129
|
|
|
108
130
|
[[projects]]
|
|
109
131
|
name = "shadow-buddy"
|
|
132
|
+
|
|
133
|
+
[projects.agent]
|
|
134
|
+
type = "codex"
|
|
135
|
+
|
|
136
|
+
[projects.agent.options]
|
|
110
137
|
work_dir = "."
|
|
111
|
-
agent_type = "codex"
|
|
112
138
|
|
|
113
139
|
[[projects.platforms]]
|
|
114
140
|
type = "shadowob"
|
|
@@ -148,10 +174,10 @@ pnpm -C packages/connector build
|
|
|
148
174
|
uv run --project .tmp/hermes-agent --with pytest python -m pytest packages/connector/hermes-shadowob-plugin/tests
|
|
149
175
|
```
|
|
150
176
|
|
|
151
|
-
The tests cover plan generation for OpenClaw
|
|
177
|
+
The tests cover plan generation, config merging for OpenClaw/Hermes/cc-connect, and Hermes dynamic channel behavior without static `agentId` or `channelId` arguments.
|
|
152
178
|
|
|
153
179
|
## Capability Coverage
|
|
154
180
|
|
|
155
|
-
- OpenClaw: channel messages, DMs, threads, mentions, attachments/images, interactive components, slash commands, online status, typing/activity, reactions, edits/deletes.
|
|
156
|
-
- Hermes Agent: channel messages, DMs, threads, attachments/images, interactive components, slash commands, online status, typing/activity, cron delivery.
|
|
157
|
-
- cc-connect: channel messages, DMs, attachments/images, interactive components, slash commands, typing, streaming previews, forms.
|
|
181
|
+
- OpenClaw: channel messages, DMs, threads, mentions, attachments/images, interactive components, slash commands, online status, typing/activity, reactions, edits/deletes, status checks, usage/cost telemetry, multi-Agent Buddy binding, Shadow CLI login/notifications, official skills, cron tasks.
|
|
182
|
+
- Hermes Agent: channel messages, DMs, threads, attachments/images, interactive components, slash commands, online status, typing/activity, cron delivery, status checks, usage/cost telemetry, Shadow CLI login/notifications, official skills.
|
|
183
|
+
- cc-connect: channel messages, DMs, attachments/images, interactive components, slash commands, typing, streaming previews, forms, status checks, usage/cost telemetry, multi-Agent Buddy binding, Shadow CLI login/notifications.
|