@inline-chat/hermes-agent-adapter 0.0.1 → 0.0.3
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 +44 -13
- package/dist/install.js +72 -72
- package/package.json +5 -5
- package/plugin/inline/adapter.py +773 -56
- package/plugin/inline/plugin.yaml +29 -5
- package/plugin/inline/sidecar/index.mjs +342 -65
- package/plugin/inline/tools.py +99 -32
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Implemented Hermes-native surfaces:
|
|
|
10
10
|
|
|
11
11
|
- realtime inbound messages, replies, and action callbacks
|
|
12
12
|
- outbound text, markdown, opt-in edit-message streaming, deletes, typing, media uploads, and reply threads
|
|
13
|
-
- Discord-style native Hermes `inline` tool for bounded chat/message/history/thread actions
|
|
13
|
+
- Discord-style native Hermes `inline` tool for bounded chat/message/history/search/thread, reaction, and pin actions
|
|
14
14
|
- clarify prompts, command approvals, slash confirmations, and model picker buttons
|
|
15
15
|
- Hermes slash commands synced into Inline's native `/` bot command menu
|
|
16
16
|
- DM/group access policy controls compatible with Hermes gateway allowlists
|
|
@@ -27,8 +27,8 @@ Supported:
|
|
|
27
27
|
- Realtime inbound messages, catch-up, replies to bot messages, and action callbacks.
|
|
28
28
|
- Outbound text, Markdown parsing, opt-in edit-message streaming, long-message splitting, edits, deletes, typing, and presence.
|
|
29
29
|
- Inline reply-thread routing, default DM/group auto-threading, `/threads` controls, parent chat metadata, parent/thread prompt fallback, and thread-specific skill bindings.
|
|
30
|
-
- Native Hermes `inline` tool for current-chat/thread reads, bounded history, exact message lookup,
|
|
31
|
-
- Per-turn Inline sender/chat/thread IDs, with prompt guidance for sender mentions and current chat/thread Markdown links.
|
|
30
|
+
- Native Hermes `inline` tool for current-chat/thread reads, bounded history and search, exact message lookup, editing/deleting bot-owned messages, reactions, pin/unpin/list pins, reply-thread creation, and avatar presence/status.
|
|
31
|
+
- Per-turn Inline sender/chat/thread IDs, selective reply/thread/observed context, and parent-thread context, with prompt guidance for sender mentions and current chat/thread Markdown links.
|
|
32
32
|
- OpenClaw-style entity summaries for live turns and tool-fetched history, including mentions, text links, thread links, thread-title links, code/pre blocks, bot commands, and group mentions as untrusted Hermes context.
|
|
33
33
|
- DM and group policies, user allowlists, group sender allowlists, mention requirements, strict mention mode, allowed chats, and free-response chats.
|
|
34
34
|
- Native Inline `/` command-menu sync for Hermes slash commands, including `/threads` and `/update`; typed slash commands continue to work even if menu sync is disabled or rejected.
|
|
@@ -42,7 +42,7 @@ Supported:
|
|
|
42
42
|
Unsupported or intentionally limited:
|
|
43
43
|
|
|
44
44
|
- Multiple Inline accounts in one Hermes process. Run separate Hermes instances for separate tokens.
|
|
45
|
-
- Inline member, space,
|
|
45
|
+
- Inline member, space, and admin tools beyond bounded current-chat/thread message access.
|
|
46
46
|
- Full Inline rich-text span conversion. Outbound formatting uses Inline Markdown parsing; rich entities are summarized for the agent instead of converted into Hermes-specific spans.
|
|
47
47
|
- Native animated draft streaming. Inline can stream by sending one preview message and editing it, but this edit-based streaming path is off by default like Discord and Slack.
|
|
48
48
|
- Ephemeral in-channel private replies. Private notices are sent as DMs when a user id is available.
|
|
@@ -57,10 +57,34 @@ inline-hermes install
|
|
|
57
57
|
hermes plugins enable inline-platform
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
Need a bot token first? Use the [Inline bot creation guide](https://inline.chat/docs/creating-a-bot).
|
|
61
|
+
|
|
62
|
+
## Coding Agent Setup Prompt
|
|
63
|
+
|
|
64
|
+
Use this with Codex, Claude Code, or another local coding agent when you want a
|
|
65
|
+
one-shot setup:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
Set up the Inline Hermes Agent adapter on this machine.
|
|
69
|
+
|
|
70
|
+
Constraints:
|
|
71
|
+
- Do not read, print, or edit .env files.
|
|
72
|
+
- Do not print Inline tokens or other secrets.
|
|
73
|
+
- Use an Inline token from INLINE_TOKEN or INLINE_BOT_TOKEN; if neither is present, stop and point me to https://inline.chat/docs/creating-a-bot.
|
|
74
|
+
|
|
75
|
+
Tasks:
|
|
76
|
+
1. Verify Node.js is version 20 or newer and Hermes Agent is installed.
|
|
77
|
+
2. Install or upgrade @inline-chat/hermes-agent-adapter globally.
|
|
78
|
+
3. Run inline-hermes install and hermes plugins enable inline-platform.
|
|
79
|
+
4. Ensure ~/.hermes/config.yaml enables platforms.inline, using token: ${INLINE_TOKEN} if config needs an env reference.
|
|
80
|
+
5. Run inline-hermes doctor --json and inline-hermes test-send --dry-run --to chat:123 --text "Inline Hermes dry-run" --json.
|
|
81
|
+
6. Report the exact commands run and any remaining manual steps, without revealing secrets.
|
|
82
|
+
```
|
|
83
|
+
|
|
60
84
|
For local development:
|
|
61
85
|
|
|
62
86
|
```sh
|
|
63
|
-
cd
|
|
87
|
+
cd hermes-agent
|
|
64
88
|
bun run build
|
|
65
89
|
node dist/install.js install --link --hermes-home ~/.hermes
|
|
66
90
|
cd ~/dev/hermes-agent
|
|
@@ -92,7 +116,7 @@ uv run ./hermes plugins list --plain --no-bundled
|
|
|
92
116
|
Expected local output includes:
|
|
93
117
|
|
|
94
118
|
```text
|
|
95
|
-
enabled user 0.0.
|
|
119
|
+
enabled user 0.0.3 inline-platform
|
|
96
120
|
```
|
|
97
121
|
|
|
98
122
|
## Update Or Reinstall
|
|
@@ -118,7 +142,7 @@ mismatch, rerun the same command after rebuilding or upgrading the package.
|
|
|
118
142
|
against Hermes Agent `0.17.0` from source commit `824f2279`.
|
|
119
143
|
- Node.js: `>=20` is required for the bundled sidecar. Hermes-managed Node 22,
|
|
120
144
|
system Node, or an explicit `INLINE_NODE_BIN` path all work.
|
|
121
|
-
- Inline transport: the sidecar uses `@inline-chat/realtime-sdk@0.0.
|
|
145
|
+
- Inline transport: the sidecar uses `@inline-chat/realtime-sdk@0.0.12` and is
|
|
122
146
|
bundled into the npm package, so Hermes startup does not run `npm install`.
|
|
123
147
|
- Live sends require a valid Inline user or bot token in `INLINE_TOKEN`,
|
|
124
148
|
`INLINE_BOT_TOKEN`, `platforms.inline.token`, or `inline.token`.
|
|
@@ -143,7 +167,7 @@ runtime files, verify the shipped `inline-hermes` binary, and print the final
|
|
|
143
167
|
tarball contents without publishing.
|
|
144
168
|
|
|
145
169
|
Maintainers should also run the manual live-test and publish checklist in
|
|
146
|
-
[`
|
|
170
|
+
[`hermes-agent/RELEASE.md`](https://github.com/inline-chat/inline/blob/main/hermes-agent/RELEASE.md).
|
|
147
171
|
|
|
148
172
|
## Smoke Test
|
|
149
173
|
|
|
@@ -225,12 +249,18 @@ Access control follows Hermes' native platform model:
|
|
|
225
249
|
| `INLINE_DM_POLICY=open|allowlist|disabled` | Controls direct-message intake. `allowlist` requires `INLINE_ALLOWED_USERS` or config `allow_from`. |
|
|
226
250
|
| `INLINE_GROUP_POLICY=open|allowlist|disabled` | Controls group intake. `allowlist` requires `INLINE_GROUP_ALLOW_FROM`. |
|
|
227
251
|
| `INLINE_GROUP_ALLOW_FROM` | Comma-separated Inline user ids allowed to invoke the bot from group chats. |
|
|
228
|
-
| `INLINE_REQUIRE_MENTION` | Requires a mention or wake word in groups by default. Replies to the bot are accepted without the wake word. |
|
|
229
|
-
| `INLINE_STRICT_MENTION` | Requires a mention or wake word on every group turn, including replies to the bot. Defaults to `false`. |
|
|
252
|
+
| `INLINE_REQUIRE_MENTION` | Requires a mention or wake word in groups by default. Replies to the bot and followed eligible reply/fresh threads are accepted without the wake word. |
|
|
253
|
+
| `INLINE_STRICT_MENTION` | Requires a mention or wake word on every group turn, including replies to the bot and followed threads. Defaults to `false`. |
|
|
230
254
|
| `INLINE_ALLOWED_CHATS` | Comma-separated group/thread chat ids where the bot may respond. Parent chat ids also match their Inline reply threads. DMs are not filtered. Empty means no chat restriction. |
|
|
231
255
|
| `INLINE_FREE_RESPONSE_CHATS` | Comma-separated group/thread chat ids where no mention is required. Parent chat ids also match their Inline reply threads. Useful for dedicated agent rooms. |
|
|
232
|
-
| `INLINE_REPLY_THREADS` |
|
|
233
|
-
| `
|
|
256
|
+
| `INLINE_REPLY_THREADS` | Controls top-level reply-thread creation. `auto` creates child reply threads only for large parent chats (`messageId >= 50`) or explicit thread requests; `on` always creates; `off` stays flat. Defaults to `auto`. |
|
|
257
|
+
| `INLINE_CONTEXT_BACKFILL` | Automatic context mode. `selective` is the default, `off` disables automatic history windows, and `always` restores recent-history backfill on every turn. |
|
|
258
|
+
| `INLINE_THREAD_CONTEXT_LIMIT` | Max current chat/thread messages for selective thread or mention-gap context. Must be `0` through `100`; defaults to `30`. |
|
|
259
|
+
| `INLINE_REPLY_CONTEXT_LIMIT` | Max messages in the anchored window around a replied-to Inline message. Must be `0` through `50`; defaults to `10`. |
|
|
260
|
+
| `INLINE_OBSERVED_CONTEXT_LIMIT` | Max unmentioned group messages kept in the observed-context buffer. Must be `0` through `100`; defaults to `20`. |
|
|
261
|
+
| `INLINE_OBSERVE_UNMENTIONED_MESSAGES` | Buffers unmentioned group messages that pass chat/user policy but do not wake the bot. Defaults to `true`; set to `false` to disable. |
|
|
262
|
+
| `INLINE_CONTEXT_HISTORY_LIMIT` | Legacy compatibility shortcut. `0` maps to `INLINE_CONTEXT_BACKFILL=off`; `1` through `20` maps to `always` with that thread-context limit. Prefer the explicit settings above. |
|
|
263
|
+
| `INLINE_SETTINGS_PATH` | JSON settings file for per-chat `/threads` overrides. `/threads` shows native Auto/On/Off buttons; `reset` clears the chat override back to the global default. Defaults next to `INLINE_STATE_PATH`; `.env`-like paths are refused. |
|
|
234
264
|
| `INLINE_SYSTEM_EVENTS` | Delivers Inline lifecycle events such as edits, deletes, and participant changes as synthetic messages. Defaults to `false`. Reactions on bot messages are always delivered. |
|
|
235
265
|
| `INLINE_MENTION_PATTERNS` | JSON list, comma-separated, or newline-separated regex patterns for group wake words. |
|
|
236
266
|
| `INLINE_PARSE_MARKDOWN` | Controls whether outbound Hermes Markdown is parsed by Inline. Defaults to `true`. |
|
|
@@ -251,7 +281,8 @@ Access control follows Hermes' native platform model:
|
|
|
251
281
|
Equivalent Hermes YAML can use `allow_from`, `allowed_users`,
|
|
252
282
|
`group_allow_from`, `dm_policy`, `group_policy`, `require_mention`,
|
|
253
283
|
`strict_mention`, `allowed_chats`, `free_response_chats`, `reply_threads`,
|
|
254
|
-
`
|
|
284
|
+
`context_backfill`, `thread_context_limit`, `reply_context_limit`,
|
|
285
|
+
`observed_context_limit`, `observe_unmentioned_messages`, `settings_path`, and
|
|
255
286
|
`mention_patterns` under the Inline platform config. Operational settings such
|
|
256
287
|
as `base_url`, `parse_markdown`, `media_max_mb`, `upload_max_mb`,
|
|
257
288
|
`state_path`, `sidecar_port`, `connect_timeout_ms`, `sync_commands`, and
|