@symerian/symi 3.0.16 → 3.0.17
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/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/docs/.i18n/zh-CN.tm.jsonl +0 -20
- package/docs/automation/cron-jobs.md +0 -2
- package/docs/automation/hooks.md +0 -2
- package/docs/automation/poll.md +0 -8
- package/docs/automation/webhook.md +0 -2
- package/docs/capabilities.md +0 -2
- package/docs/channels/broadcast-groups.md +0 -1
- package/docs/channels/channel-routing.md +4 -10
- package/docs/channels/group-messages.md +0 -2
- package/docs/channels/groups.md +0 -10
- package/docs/channels/index.md +0 -1
- package/docs/channels/matrix.md +0 -2
- package/docs/channels/msteams.md +0 -2
- package/docs/channels/pairing.md +0 -3
- package/docs/channels/signal.md +0 -2
- package/docs/channels/troubleshooting.md +0 -7
- package/docs/cli/channels.md +0 -6
- package/docs/cli/configure.md +0 -1
- package/docs/cli/directory.md +0 -1
- package/docs/cli/index.md +0 -7
- package/docs/cli/message.md +1 -47
- package/docs/cli/status.md +0 -1
- package/docs/concepts/architecture.md +0 -1
- package/docs/concepts/features.md +0 -2
- package/docs/concepts/markdown-formatting.md +6 -8
- package/docs/concepts/memory.md +0 -4
- package/docs/concepts/messages.md +0 -1
- package/docs/concepts/models.md +0 -1
- package/docs/concepts/multi-agent.md +4 -19
- package/docs/concepts/queue.md +0 -3
- package/docs/concepts/retry.md +0 -5
- package/docs/concepts/session-tool.md +0 -2
- package/docs/concepts/session.md +2 -9
- package/docs/concepts/streaming.md +0 -2
- package/docs/concepts/system-prompt.md +0 -1
- package/docs/concepts/timezone.md +0 -1
- package/docs/date-time.md +0 -1
- package/docs/docs.json +2 -11
- package/docs/experiments/plans/cron-add-hardening.md +0 -1
- package/docs/experiments/plans/session-binding-channel-agnostic.md +2 -23
- package/docs/experiments/plans/thread-bound-subagents.md +7 -64
- package/docs/gateway/configuration-examples.md +0 -10
- package/docs/gateway/configuration-reference.md +22 -47
- package/docs/gateway/configuration.md +0 -3
- package/docs/gateway/heartbeat.md +0 -2
- package/docs/gateway/security/index.md +1 -6
- package/docs/gateway/troubleshooting.md +0 -1
- package/docs/help/faq.md +0 -13
- package/docs/help/troubleshooting.md +0 -1
- package/docs/index.md +0 -6
- package/docs/install/ansible.md +2 -3
- package/docs/install/docker.md +1 -7
- package/docs/install/fly.md +0 -14
- package/docs/install/northflank.mdx +7 -11
- package/docs/install/railway.mdx +6 -10
- package/docs/install/render.mdx +1 -2
- package/docs/ja-JP/index.md +0 -3
- package/docs/pi.md +3 -5
- package/docs/platforms/digitalocean.md +0 -1
- package/docs/platforms/mac/voicewake.md +0 -1
- package/docs/providers/index.md +0 -2
- package/docs/refactor/outbound-session-mirroring.md +0 -2
- package/docs/reference/AGENTS.default.md +0 -1
- package/docs/reference/RELEASING.md +0 -1
- package/docs/reference/session-management-compaction.md +0 -1
- package/docs/reference/templates/AGENTS.md +0 -7
- package/docs/reference/wizard.md +0 -4
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -1
- package/docs/security/README.md +0 -1
- package/docs/security/THREAT-MODEL-ATLAS.md +7 -10
- package/docs/start/docs-directory.md +0 -1
- package/docs/start/hubs.md +0 -1
- package/docs/start/lore.md +0 -3
- package/docs/start/setup.md +0 -2
- package/docs/start/showcase.md +0 -2
- package/docs/start/symi.md +0 -4
- package/docs/start/wizard-cli-reference.md +0 -4
- package/docs/start/wizard.md +3 -4
- package/docs/tools/agent-send.md +0 -1
- package/docs/tools/elevated.md +0 -2
- package/docs/tools/exec-approvals.md +0 -1
- package/docs/tools/index.md +0 -7
- package/docs/tools/multi-agent-sandbox-tools.md +1 -2
- package/docs/tools/reactions.md +0 -1
- package/docs/tools/slash-commands.md +0 -14
- package/docs/tools/symihub.md +0 -1
- package/docs/tts.md +0 -1
- package/docs/web/control-ui.md +0 -1
- package/docs/zh-CN/automation/cron-jobs.md +0 -2
- package/docs/zh-CN/automation/poll.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -2
- package/docs/zh-CN/channels/broadcast-groups.md +0 -1
- package/docs/zh-CN/channels/channel-routing.md +4 -9
- package/docs/zh-CN/channels/group-messages.md +0 -2
- package/docs/zh-CN/channels/groups.md +0 -10
- package/docs/zh-CN/channels/imessage.md +0 -2
- package/docs/zh-CN/channels/index.md +0 -1
- package/docs/zh-CN/channels/msteams.md +0 -2
- package/docs/zh-CN/channels/pairing.md +0 -3
- package/docs/zh-CN/channels/signal.md +0 -2
- package/docs/zh-CN/channels/slack.md +0 -2
- package/docs/zh-CN/channels/telegram.md +0 -3
- package/docs/zh-CN/channels/troubleshooting.md +0 -2
- package/docs/zh-CN/cli/channels.md +0 -6
- package/docs/zh-CN/cli/configure.md +0 -1
- package/docs/zh-CN/cli/directory.md +0 -1
- package/docs/zh-CN/cli/index.md +0 -7
- package/docs/zh-CN/cli/message.md +1 -42
- package/docs/zh-CN/cli/status.md +0 -1
- package/docs/zh-CN/concepts/architecture.md +0 -1
- package/docs/zh-CN/concepts/features.md +0 -2
- package/docs/zh-CN/concepts/markdown-formatting.md +6 -8
- package/docs/zh-CN/concepts/messages.md +0 -1
- package/docs/zh-CN/concepts/multi-agent.md +4 -5
- package/docs/zh-CN/concepts/queue.md +0 -3
- package/docs/zh-CN/concepts/retry.md +0 -5
- package/docs/zh-CN/concepts/session-tool.md +0 -2
- package/docs/zh-CN/concepts/session.md +3 -11
- package/docs/zh-CN/concepts/streaming.md +0 -2
- package/docs/zh-CN/concepts/system-prompt.md +0 -2
- package/docs/zh-CN/concepts/timezone.md +0 -2
- package/docs/zh-CN/date-time.md +0 -1
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -1
- package/docs/zh-CN/gateway/configuration-examples.md +0 -7
- package/docs/zh-CN/gateway/configuration.md +2 -50
- package/docs/zh-CN/gateway/heartbeat.md +0 -2
- package/docs/zh-CN/gateway/security/index.md +1 -6
- package/docs/zh-CN/gateway/troubleshooting.md +1 -14
- package/docs/zh-CN/help/faq.md +0 -15
- package/docs/zh-CN/index.md +0 -3
- package/docs/zh-CN/install/ansible.md +2 -3
- package/docs/zh-CN/install/docker.md +1 -7
- package/docs/zh-CN/install/fly.md +0 -14
- package/docs/zh-CN/install/northflank.mdx +7 -11
- package/docs/zh-CN/install/railway.mdx +6 -10
- package/docs/zh-CN/install/render.mdx +1 -2
- package/docs/zh-CN/pi.md +3 -5
- package/docs/zh-CN/platforms/digitalocean.md +0 -1
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -1
- package/docs/zh-CN/providers/index.md +0 -2
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -2
- package/docs/zh-CN/reference/AGENTS.default.md +0 -1
- package/docs/zh-CN/reference/RELEASING.md +0 -1
- package/docs/zh-CN/reference/session-management-compaction.md +0 -1
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -5
- package/docs/zh-CN/start/docs-directory.md +0 -1
- package/docs/zh-CN/start/getting-started.md +0 -5
- package/docs/zh-CN/start/hubs.md +0 -1
- package/docs/zh-CN/start/lore.md +0 -3
- package/docs/zh-CN/start/setup.md +0 -2
- package/docs/zh-CN/start/showcase.md +0 -2
- package/docs/zh-CN/start/symi.md +0 -4
- package/docs/zh-CN/start/wizard.md +0 -5
- package/docs/zh-CN/tools/agent-send.md +0 -1
- package/docs/zh-CN/tools/elevated.md +0 -2
- package/docs/zh-CN/tools/exec-approvals.md +0 -1
- package/docs/zh-CN/tools/index.md +0 -7
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +1 -2
- package/docs/zh-CN/tools/reactions.md +0 -1
- package/docs/zh-CN/tools/slash-commands.md +0 -9
- package/docs/zh-CN/tts.md +0 -2
- package/docs/zh-CN/web/control-ui.md +0 -1
- package/package.json +1 -1
- package/docs/channels/discord.md +0 -998
- package/docs/zh-CN/channels/discord.md +0 -468
|
@@ -16,7 +16,6 @@ x-i18n:
|
|
|
16
16
|
# `symi message`
|
|
17
17
|
|
|
18
18
|
用于发送消息和渠道操作的单一出站命令
|
|
19
|
-
(Discord/Google Chat/Slack/Mattermost(插件)/Telegram/WhatsApp/Signal/iMessage/MS Teams)。
|
|
20
19
|
|
|
21
20
|
## 用法
|
|
22
21
|
|
|
@@ -28,13 +27,11 @@ symi message <subcommand> [flags]
|
|
|
28
27
|
|
|
29
28
|
- 如果配置了多个渠道,则必须指定 `--channel`。
|
|
30
29
|
- 如果只配置了一个渠道,则该渠道为默认值。
|
|
31
|
-
- 可选值:`whatsapp|telegram|discord|googlechat|slack|mattermost|signal|imessage|msteams`(Mattermost 需要插件)
|
|
32
30
|
|
|
33
31
|
目标格式(`--target`):
|
|
34
32
|
|
|
35
33
|
- WhatsApp:E.164 或群组 JID
|
|
36
34
|
- Telegram:聊天 ID 或 `@username`
|
|
37
|
-
- Discord:`channel:<id>` 或 `user:<id>`(或 `<@id>` 提及;纯数字 ID 被视为频道)
|
|
38
35
|
- Google Chat:`spaces/<spaceId>` 或 `users/<userId>`
|
|
39
36
|
- Slack:`channel:<id>` 或 `user:<id>`(接受纯频道 ID)
|
|
40
37
|
- Mattermost(插件):`channel:<id>`、`user:<id>` 或 `@username`(纯 ID 被视为频道)
|
|
@@ -44,7 +41,6 @@ symi message <subcommand> [flags]
|
|
|
44
41
|
|
|
45
42
|
名称查找:
|
|
46
43
|
|
|
47
|
-
- 对于支持的提供商(Discord/Slack 等),如 `Help` 或 `#help` 之类的频道名称会通过目录缓存进行解析。
|
|
48
44
|
- 缓存未命中时,如果提供商支持,Symi 将尝试实时目录查找。
|
|
49
45
|
|
|
50
46
|
## 通用标志
|
|
@@ -62,7 +58,6 @@ symi message <subcommand> [flags]
|
|
|
62
58
|
### 核心
|
|
63
59
|
|
|
64
60
|
- `send`
|
|
65
|
-
- 渠道:WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost(插件)/Signal/iMessage/MS Teams
|
|
66
61
|
- 必需:`--target`,以及 `--message` 或 `--media`
|
|
67
62
|
- 可选:`--media`、`--reply-to`、`--thread-id`、`--gif-playback`
|
|
68
63
|
- 仅限 Telegram:`--buttons`(需要 `channels.telegram.capabilities.inlineButtons` 以启用)
|
|
@@ -71,13 +66,10 @@ symi message <subcommand> [flags]
|
|
|
71
66
|
- 仅限 WhatsApp:`--gif-playback`
|
|
72
67
|
|
|
73
68
|
- `poll`
|
|
74
|
-
- 渠道:WhatsApp/Discord/MS Teams
|
|
75
69
|
- 必需:`--target`、`--poll-question`、`--poll-option`(可重复)
|
|
76
70
|
- 可选:`--poll-multi`
|
|
77
|
-
- 仅限 Discord:`--poll-duration-hours`、`--message`
|
|
78
71
|
|
|
79
72
|
- `react`
|
|
80
|
-
- 渠道:Discord/Google Chat/Slack/Telegram/WhatsApp/Signal
|
|
81
73
|
- 必需:`--message-id`、`--target`
|
|
82
74
|
- 可选:`--emoji`、`--remove`、`--participant`、`--from-me`、`--target-author`、`--target-author-uuid`
|
|
83
75
|
- 注意:`--remove` 需要 `--emoji`(省略 `--emoji` 可清除自己的表情回应(如果支持);参见 /tools/reactions)
|
|
@@ -85,96 +77,69 @@ symi message <subcommand> [flags]
|
|
|
85
77
|
- Signal 群组表情回应:需要 `--target-author` 或 `--target-author-uuid`
|
|
86
78
|
|
|
87
79
|
- `reactions`
|
|
88
|
-
- 渠道:Discord/Google Chat/Slack
|
|
89
80
|
- 必需:`--message-id`、`--target`
|
|
90
81
|
- 可选:`--limit`
|
|
91
82
|
|
|
92
83
|
- `read`
|
|
93
|
-
- 渠道:Discord/Slack
|
|
94
84
|
- 必需:`--target`
|
|
95
85
|
- 可选:`--limit`、`--before`、`--after`
|
|
96
|
-
- 仅限 Discord:`--around`
|
|
97
86
|
|
|
98
87
|
- `edit`
|
|
99
|
-
- 渠道:Discord/Slack
|
|
100
88
|
- 必需:`--message-id`、`--message`、`--target`
|
|
101
89
|
|
|
102
90
|
- `delete`
|
|
103
|
-
- 渠道:Discord/Slack/Telegram
|
|
104
91
|
- 必需:`--message-id`、`--target`
|
|
105
92
|
|
|
106
93
|
- `pin` / `unpin`
|
|
107
|
-
- 渠道:Discord/Slack
|
|
108
94
|
- 必需:`--message-id`、`--target`
|
|
109
95
|
|
|
110
96
|
- `pins`(列表)
|
|
111
|
-
- 渠道:Discord/Slack
|
|
112
97
|
- 必需:`--target`
|
|
113
98
|
|
|
114
99
|
- `permissions`
|
|
115
|
-
- 渠道:Discord
|
|
116
100
|
- 必需:`--target`
|
|
117
101
|
|
|
118
102
|
- `search`
|
|
119
|
-
- 渠道:Discord
|
|
120
103
|
- 必需:`--guild-id`、`--query`
|
|
121
104
|
- 可选:`--channel-id`、`--channel-ids`(可重复)、`--author-id`、`--author-ids`(可重复)、`--limit`
|
|
122
105
|
|
|
123
106
|
### 线程
|
|
124
107
|
|
|
125
108
|
- `thread create`
|
|
126
|
-
- 渠道:Discord
|
|
127
109
|
- 必需:`--thread-name`、`--target`(频道 ID)
|
|
128
110
|
- 可选:`--message-id`、`--auto-archive-min`
|
|
129
111
|
|
|
130
112
|
- `thread list`
|
|
131
|
-
- 渠道:Discord
|
|
132
113
|
- 必需:`--guild-id`
|
|
133
114
|
- 可选:`--channel-id`、`--include-archived`、`--before`、`--limit`
|
|
134
115
|
|
|
135
116
|
- `thread reply`
|
|
136
|
-
- 渠道:Discord
|
|
137
117
|
- 必需:`--target`(线程 ID)、`--message`
|
|
138
118
|
- 可选:`--media`、`--reply-to`
|
|
139
119
|
|
|
140
120
|
### 表情符号
|
|
141
121
|
|
|
142
122
|
- `emoji list`
|
|
143
|
-
- Discord:`--guild-id`
|
|
144
123
|
- Slack:无需额外标志
|
|
145
124
|
|
|
146
125
|
- `emoji upload`
|
|
147
|
-
- 渠道:Discord
|
|
148
126
|
- 必需:`--guild-id`、`--emoji-name`、`--media`
|
|
149
127
|
- 可选:`--role-ids`(可重复)
|
|
150
128
|
|
|
151
129
|
### 贴纸
|
|
152
130
|
|
|
153
131
|
- `sticker send`
|
|
154
|
-
- 渠道:Discord
|
|
155
132
|
- 必需:`--target`、`--sticker-id`(可重复)
|
|
156
133
|
- 可选:`--message`
|
|
157
134
|
|
|
158
135
|
- `sticker upload`
|
|
159
|
-
- 渠道:Discord
|
|
160
136
|
- 必需:`--guild-id`、`--sticker-name`、`--sticker-desc`、`--sticker-tags`、`--media`
|
|
161
137
|
|
|
162
138
|
### 角色 / 频道 / 成员 / 语音
|
|
163
139
|
|
|
164
|
-
- `role info`(Discord):`--guild-id`
|
|
165
|
-
- `role add` / `role remove`(Discord):`--guild-id`、`--user-id`、`--role-id`
|
|
166
|
-
- `channel info`(Discord):`--target`
|
|
167
|
-
- `channel list`(Discord):`--guild-id`
|
|
168
|
-
- `member info`(Discord/Slack):`--user-id`(Discord 还需要 `--guild-id`)
|
|
169
|
-
- `voice status`(Discord):`--guild-id`、`--user-id`
|
|
170
|
-
|
|
171
140
|
### 事件
|
|
172
141
|
|
|
173
|
-
-
|
|
174
|
-
- `event create`(Discord):`--guild-id`、`--event-name`、`--start-time`
|
|
175
|
-
- 可选:`--end-time`、`--desc`、`--channel-id`、`--location`、`--event-type`
|
|
176
|
-
|
|
177
|
-
### 管理(Discord)
|
|
142
|
+
- 可选:`--end-time`、`--desc`、`--channel-id`、`--location`、`--event-type`
|
|
178
143
|
|
|
179
144
|
- `timeout`:`--guild-id`、`--user-id`(可选 `--duration-min` 或 `--until`;两者都省略则清除超时)
|
|
180
145
|
- `kick`:`--guild-id`、`--user-id`(+ `--reason`)
|
|
@@ -190,17 +155,11 @@ symi message <subcommand> [flags]
|
|
|
190
155
|
|
|
191
156
|
## 示例
|
|
192
157
|
|
|
193
|
-
发送 Discord 回复:
|
|
194
|
-
|
|
195
158
|
```
|
|
196
|
-
symi message send --channel discord \
|
|
197
159
|
--target channel:123 --message "hi" --reply-to 456
|
|
198
160
|
```
|
|
199
161
|
|
|
200
|
-
创建 Discord 投票:
|
|
201
|
-
|
|
202
162
|
```
|
|
203
|
-
symi message poll --channel discord \
|
|
204
163
|
--target channel:123 \
|
|
205
164
|
--poll-question "Snack?" \
|
|
206
165
|
--poll-option Pizza --poll-option Sushi \
|
package/docs/zh-CN/cli/status.md
CHANGED
|
@@ -18,7 +18,6 @@ x-i18n:
|
|
|
18
18
|
|
|
19
19
|
## 概述
|
|
20
20
|
|
|
21
|
-
- 单个长期运行的 **Gateway 网关**拥有所有消息平台(通过 Baileys 的 WhatsApp、通过 grammY 的 Telegram、Slack、Discord、Signal、iMessage、WebChat)。
|
|
22
21
|
- 控制平面客户端(macOS 应用、CLI、Web 界面、自动化)通过配置的绑定主机(默认 `127.0.0.1:18789`)上的 **WebSocket** 连接到 Gateway 网关。
|
|
23
22
|
- **节点**(macOS/iOS/Android/无头设备)也通过 **WebSocket** 连接,但声明 `role: node` 并带有明确的能力/命令。
|
|
24
23
|
- 每台主机一个 Gateway 网关;它是唯一打开 WhatsApp 会话的位置。
|
|
@@ -16,7 +16,6 @@ x-i18n:
|
|
|
16
16
|
|
|
17
17
|
<Columns>
|
|
18
18
|
<Card title="渠道" icon="message-square">
|
|
19
|
-
通过单个 Gateway 网关支持 WhatsApp、Telegram、Discord 和 iMessage。
|
|
20
19
|
</Card>
|
|
21
20
|
<Card title="插件" icon="plug">
|
|
22
21
|
通过扩展添加 Mattermost 等更多平台。
|
|
@@ -39,7 +38,6 @@ x-i18n:
|
|
|
39
38
|
|
|
40
39
|
- 通过 WhatsApp Web(Baileys)集成 WhatsApp
|
|
41
40
|
- Telegram 机器人支持(grammY)
|
|
42
|
-
- Discord 机器人支持(channels.discord.js)
|
|
43
41
|
- Mattermost 机器人支持(插件)
|
|
44
42
|
- 通过本地 imsg CLI 集成 iMessage(macOS)
|
|
45
43
|
- Pi 的智能体桥接,支持 RPC 模式和工具流式传输
|
|
@@ -59,7 +59,6 @@ IR(示意):
|
|
|
59
59
|
## 使用场景
|
|
60
60
|
|
|
61
61
|
- Slack、Telegram 和 Signal 的出站适配器从 IR 进行渲染。
|
|
62
|
-
- 其他渠道(WhatsApp、iMessage、Microsoft Teams、Discord)仍使用纯文本或各自的格式化规则,启用时会在分块前应用 Markdown 表格转换。
|
|
63
62
|
|
|
64
63
|
## 表格处理
|
|
65
64
|
|
|
@@ -73,13 +72,12 @@ Markdown 表格在各聊天客户端中的支持并不一致。使用 `markdown.
|
|
|
73
72
|
|
|
74
73
|
```yaml
|
|
75
74
|
channels:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
tables: off
|
|
75
|
+
markdown:
|
|
76
|
+
tables: code
|
|
77
|
+
accounts:
|
|
78
|
+
work:
|
|
79
|
+
markdown:
|
|
80
|
+
tables: off
|
|
83
81
|
```
|
|
84
82
|
|
|
85
83
|
## 分块规则
|
|
@@ -120,11 +120,10 @@ symi agents list --bindings
|
|
|
120
120
|
绑定是**确定性的**,**最具体的优先**:
|
|
121
121
|
|
|
122
122
|
1. `peer` 匹配(精确私信/群组/频道 id)
|
|
123
|
-
2. `
|
|
124
|
-
3. `
|
|
125
|
-
4.
|
|
126
|
-
5.
|
|
127
|
-
6. 回退到默认智能体(`agents.list[].default`,否则列表中的第一个条目,默认:`main`)
|
|
123
|
+
2. `teamId`(Slack)
|
|
124
|
+
3. 渠道的 `accountId` 匹配
|
|
125
|
+
4. 渠道级匹配(`accountId: "*"`)
|
|
126
|
+
5. 回退到默认智能体(`agents.list[].default`,否则列表中的第一个条目,默认:`main`)
|
|
128
127
|
|
|
129
128
|
## 多账户/电话号码
|
|
130
129
|
|
|
@@ -41,7 +41,6 @@ x-i18n:
|
|
|
41
41
|
- `queue`(旧版别名):与 `steer` 相同。
|
|
42
42
|
|
|
43
43
|
steer-backlog 意味着你可以在被引导的运行之后获得后续响应,因此流式传输界面可能看起来像重复。如果你希望每条入站消息只有一个响应,请优先使用 `collect`/`steer`。
|
|
44
|
-
发送 `/queue collect` 作为独立命令(按会话)或设置 `messages.queue.byChannel.discord: "collect"`。
|
|
45
44
|
|
|
46
45
|
默认值(配置中未设置时):
|
|
47
46
|
|
|
@@ -57,7 +56,6 @@ steer-backlog 意味着你可以在被引导的运行之后获得后续响应,
|
|
|
57
56
|
debounceMs: 1000,
|
|
58
57
|
cap: 20,
|
|
59
58
|
drop: "summarize",
|
|
60
|
-
byChannel: { discord: "collect" },
|
|
61
59
|
},
|
|
62
60
|
},
|
|
63
61
|
}
|
|
@@ -82,7 +80,6 @@ summarize 保留被丢弃消息的简短要点列表,并将其作为合成的
|
|
|
82
80
|
|
|
83
81
|
## 范围和保证
|
|
84
82
|
|
|
85
|
-
- 适用于所有使用 Gateway 网关回复管道的入站渠道的自动回复智能体运行(WhatsApp 网页版、Telegram、Slack、Discord、Signal、iMessage、网页聊天等)。
|
|
86
83
|
- 默认通道(`main`)对入站 + 主心跳是进程范围的;设置 `agents.defaults.maxConcurrent` 以允许多个会话并行。
|
|
87
84
|
- 可能存在额外的通道(例如 `cron`、`subagent`),以便后台任务可以并行运行而不阻塞入站回复。
|
|
88
85
|
- 按会话通道保证一次只有一个智能体运行触及给定会话。
|
|
@@ -28,14 +28,10 @@ x-i18n:
|
|
|
28
28
|
- 抖动:0.1(10%)
|
|
29
29
|
- 提供商默认值:
|
|
30
30
|
- Telegram 最小延迟:400 毫秒
|
|
31
|
-
- Discord 最小延迟:500 毫秒
|
|
32
31
|
|
|
33
32
|
## 行为
|
|
34
33
|
|
|
35
|
-
### Discord
|
|
36
|
-
|
|
37
34
|
- 仅在速率限制错误(HTTP 429)时重试。
|
|
38
|
-
- 可用时使用 Discord `retry_after`,否则使用指数退避。
|
|
39
35
|
|
|
40
36
|
### Telegram
|
|
41
37
|
|
|
@@ -58,7 +54,6 @@ x-i18n:
|
|
|
58
54
|
jitter: 0.1,
|
|
59
55
|
},
|
|
60
56
|
},
|
|
61
|
-
discord: {
|
|
62
57
|
retry: {
|
|
63
58
|
attempts: 3,
|
|
64
59
|
minDelayMs: 500,
|
|
@@ -54,7 +54,6 @@ x-i18n:
|
|
|
54
54
|
|
|
55
55
|
- `key`:会话键(字符串)
|
|
56
56
|
- `kind`:`main | group | cron | hook | node | other`
|
|
57
|
-
- `channel`:`whatsapp | telegram | discord | signal | imessage | webchat | internal | unknown`
|
|
58
57
|
- `displayName`(如果可用的群组显示标签)
|
|
59
58
|
- `updatedAt`(毫秒)
|
|
60
59
|
- `sessionId`
|
|
@@ -127,7 +126,6 @@ x-i18n:
|
|
|
127
126
|
"sendPolicy": {
|
|
128
127
|
"rules": [
|
|
129
128
|
{
|
|
130
|
-
"match": { "channel": "discord", "chatType": "group" },
|
|
131
129
|
"action": "deny"
|
|
132
130
|
}
|
|
133
131
|
],
|
|
@@ -74,7 +74,6 @@ Symi 将**每个智能体的一个直接聊天会话**视为主会话。直接
|
|
|
74
74
|
- 每日重置:默认为 **Gateway 网关主机本地时间凌晨 4:00**。当会话的最后更新早于最近的每日重置时间时,会话即为过期。
|
|
75
75
|
- 空闲重置(可选):`idleMinutes` 添加一个滑动空闲窗口。当同时配置每日和空闲重置时,**先过期者**强制新会话。
|
|
76
76
|
- 旧版仅空闲模式:如果你设置了 `session.idleMinutes` 而没有任何 `session.reset`/`resetByType` 配置,Symi 会保持仅空闲模式以保持向后兼容。
|
|
77
|
-
- 按类型覆盖(可选):`resetByType` 允许你覆盖 `dm`、`group` 和 `thread` 会话的策略(thread = Slack/Discord 线程、Telegram 话题、连接器提供的 Matrix 线程)。
|
|
78
77
|
- 按渠道覆盖(可选):`resetByChannel` 覆盖渠道的重置策略(适用于该渠道的所有会话类型,优先于 `reset`/`resetByType`)。
|
|
79
78
|
- 重置触发器:精确的 `/new` 或 `/reset`(加上 `resetTriggers` 中的任何额外项)启动新的会话 ID 并传递消息的其余部分。`/new <model>` 接受模型别名、`provider/model` 或提供商名称(模糊匹配)来设置新会话模型。如果单独发送 `/new` 或 `/reset`,Symi 会运行一个简短的"问候"轮次来确认重置。
|
|
80
79
|
- 手动重置:从存储中删除特定键或删除 JSONL 对话记录;下一条消息会重新创建它们。
|
|
@@ -88,10 +87,7 @@ Symi 将**每个智能体的一个直接聊天会话**视为主会话。直接
|
|
|
88
87
|
{
|
|
89
88
|
session: {
|
|
90
89
|
sendPolicy: {
|
|
91
|
-
rules: [
|
|
92
|
-
{ action: "deny", match: { channel: "discord", chatType: "group" } },
|
|
93
|
-
{ action: "deny", match: { keyPrefix: "cron:" } },
|
|
94
|
-
],
|
|
90
|
+
rules: [{ action: "deny", match: { keyPrefix: "cron:" } }],
|
|
95
91
|
default: "allow",
|
|
96
92
|
},
|
|
97
93
|
},
|
|
@@ -113,9 +109,7 @@ Symi 将**每个智能体的一个直接聊天会话**视为主会话。直接
|
|
|
113
109
|
session: {
|
|
114
110
|
scope: "per-sender", // keep group keys separate
|
|
115
111
|
dmScope: "main", // DM continuity (set per-channel-peer/per-account-channel-peer for shared inboxes)
|
|
116
|
-
identityLinks: {
|
|
117
|
-
alice: ["telegram:123456789", "discord:987654321012345678"],
|
|
118
|
-
},
|
|
112
|
+
identityLinks: {},
|
|
119
113
|
reset: {
|
|
120
114
|
// Defaults: mode=daily, atHour=4 (gateway host local time).
|
|
121
115
|
// If you also set idleMinutes, whichever expires first wins.
|
|
@@ -128,9 +122,7 @@ Symi 将**每个智能体的一个直接聊天会话**视为主会话。直接
|
|
|
128
122
|
dm: { mode: "idle", idleMinutes: 240 },
|
|
129
123
|
group: { mode: "idle", idleMinutes: 120 },
|
|
130
124
|
},
|
|
131
|
-
resetByChannel: {
|
|
132
|
-
discord: { mode: "idle", idleMinutes: 10080 },
|
|
133
|
-
},
|
|
125
|
+
resetByChannel: {},
|
|
134
126
|
resetTriggers: ["/new", "/reset"],
|
|
135
127
|
store: "~/.symi/agents/{agentId}/sessions/sessions.json",
|
|
136
128
|
mainKey: "main",
|
|
@@ -52,7 +52,6 @@ Symi 有两个独立的"流式传输"层:
|
|
|
52
52
|
- `agents.defaults.blockStreamingCoalesce`:`{ minChars?, maxChars?, idleMs? }`(发送前合并流式块)。
|
|
53
53
|
- 渠道硬上限:`*.textChunkLimit`(例如 `channels.whatsapp.textChunkLimit`)。
|
|
54
54
|
- 渠道分块模式:`*.chunkMode`(默认 `length`,`newline` 在长度分块之前按空行(段落边界)分割)。
|
|
55
|
-
- Discord 软上限:`channels.discord.maxLinesPerMessage`(默认 17)分割高度较大的回复以避免 UI 裁剪。
|
|
56
55
|
|
|
57
56
|
**边界语义:**
|
|
58
57
|
|
|
@@ -81,7 +80,6 @@ Symi 有两个独立的"流式传输"层:
|
|
|
81
80
|
- `minChars` 防止微小片段发送,直到累积足够文本(最终刷新始终发送剩余文本)。
|
|
82
81
|
- 连接符从 `blockStreamingChunk.breakPreference` 派生(`paragraph` → `\n\n`,`newline` → `\n`,`sentence` → 空格)。
|
|
83
82
|
- 渠道覆盖通过 `*.blockStreamingCoalesce` 可用(包括每账户配置)。
|
|
84
|
-
- 除非覆盖,Signal/Slack/Discord 的默认合并 `minChars` 提高到 1500。
|
|
85
83
|
|
|
86
84
|
## 块之间的类人节奏
|
|
87
85
|
|
|
@@ -97,5 +97,3 @@ Symi 可以为子智能体渲染更小的系统提示词。运行时为每次运
|
|
|
97
97
|
这使基础提示词保持小巧,同时仍然支持有针对性的 Skill 使用。
|
|
98
98
|
|
|
99
99
|
## 文档
|
|
100
|
-
|
|
101
|
-
如果可用,系统提示词包含一个 **Documentation** 部分,指向本地 Symi 文档目录(仓库工作区中的 `docs/` 或打包的 npm 包文档),并注明公共镜像、源仓库、社区 Discord 和 SymiHub (https://symihub.com) 用于 Skills 发现。提示词指示模型首先查阅本地文档了解 Symi 行为、命令、配置或架构,并尽可能自己运行 `symi status`(仅在无法访问时询问用户)。
|
package/docs/zh-CN/date-time.md
CHANGED
|
@@ -51,7 +51,6 @@ x-i18n:
|
|
|
51
51
|
|
|
52
52
|
- **规范化:**包装的 `data`/`job` 负载被解包;`schedule.kind` 和 `payload.kind` 在安全时被推断。
|
|
53
53
|
- **默认值:**当缺失时,为 `wakeMode` 和 `sessionTarget` 应用安全默认值。
|
|
54
|
-
- **提供商:**Discord/Slack/Signal/iMessage 现在在 CLI/UI 中一致显示。
|
|
55
54
|
|
|
56
55
|
参见 [Cron 任务](/automation/cron-jobs) 了解规范化的形式和示例。
|
|
57
56
|
|
|
@@ -124,7 +124,6 @@ x-i18n:
|
|
|
124
124
|
byChannel: {
|
|
125
125
|
whatsapp: "collect",
|
|
126
126
|
telegram: "collect",
|
|
127
|
-
discord: "collect",
|
|
128
127
|
slack: "collect",
|
|
129
128
|
signal: "collect",
|
|
130
129
|
imessage: "collect",
|
|
@@ -163,14 +162,12 @@ x-i18n:
|
|
|
163
162
|
idleMinutes: 60,
|
|
164
163
|
},
|
|
165
164
|
resetByChannel: {
|
|
166
|
-
discord: { mode: "idle", idleMinutes: 10080 },
|
|
167
165
|
},
|
|
168
166
|
resetTriggers: ["/new", "/reset"],
|
|
169
167
|
store: "~/.symi/agents/default/sessions/sessions.json",
|
|
170
168
|
typingIntervalSeconds: 5,
|
|
171
169
|
sendPolicy: {
|
|
172
170
|
default: "allow",
|
|
173
|
-
rules: [{ action: "deny", match: { channel: "discord", chatType: "group" } }],
|
|
174
171
|
},
|
|
175
172
|
},
|
|
176
173
|
|
|
@@ -193,9 +190,7 @@ x-i18n:
|
|
|
193
190
|
groups: { "*": { requireMention: true } },
|
|
194
191
|
},
|
|
195
192
|
|
|
196
|
-
discord: {
|
|
197
193
|
enabled: true,
|
|
198
|
-
token: "YOUR_DISCORD_BOT_TOKEN",
|
|
199
194
|
dm: { enabled: true, allowFrom: ["steipete"] },
|
|
200
195
|
guilds: {
|
|
201
196
|
"123456789012345678": {
|
|
@@ -311,7 +306,6 @@ x-i18n:
|
|
|
311
306
|
allowFrom: {
|
|
312
307
|
whatsapp: ["+15555550123"],
|
|
313
308
|
telegram: ["123456789"],
|
|
314
|
-
discord: ["steipete"],
|
|
315
309
|
slack: ["U123"],
|
|
316
310
|
signal: ["+15555550123"],
|
|
317
311
|
imessage: ["user@example.com"],
|
|
@@ -444,7 +438,6 @@ x-i18n:
|
|
|
444
438
|
botToken: "YOUR_TOKEN",
|
|
445
439
|
allowFrom: ["123456789"],
|
|
446
440
|
},
|
|
447
|
-
discord: {
|
|
448
441
|
enabled: true,
|
|
449
442
|
token: "YOUR_TOKEN",
|
|
450
443
|
dm: { allowFrom: ["yourname"] },
|