sintbot 1.0.15 → 1.3.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.
Files changed (136) hide show
  1. package/CHANGELOG.en.json +118 -0
  2. package/CHANGELOG.json +118 -0
  3. package/README.md +20 -156
  4. package/README.zh-CN.md +20 -164
  5. package/THIRD-PARTY-NOTICES.md +394 -0
  6. package/bin/sintbot-v2.js +363 -0
  7. package/docs/AI-ASSISTED-INSTALL.md +19 -0
  8. package/docs/install.md +93 -0
  9. package/docs/zh-CN/AI-ASSISTED-INSTALL.md +19 -0
  10. package/docs/zh-CN/install.md +93 -0
  11. package/install.sh +84 -0
  12. package/package.json +74 -34
  13. package/src/agent/claudecode.js +149 -108
  14. package/src/agent/codexapp.js +458 -0
  15. package/src/agent/codexcode.js +210 -107
  16. package/src/agent/errtag.js +34 -0
  17. package/src/agent/privatecore.js +790 -0
  18. package/src/agent/privatecore.wasm +0 -0
  19. package/src/agent/runner.js +10 -8
  20. package/src/agent/winexec.js +35 -5
  21. package/src/c2install.js +117 -0
  22. package/src/config.js +2 -1
  23. package/src/core/c2cardeffectbridge.js +51 -0
  24. package/src/core/c2cardterminalpath.js +216 -0
  25. package/src/core/c2durableingress.js +148 -0
  26. package/src/core/c2durablejournal.js +1560 -0
  27. package/src/core/c2durableruntime.js +2361 -0
  28. package/src/core/c2eventidentity.js +90 -0
  29. package/src/core/c2globalfault.js +401 -0
  30. package/src/core/c2localeffectexecutor.js +193 -0
  31. package/src/core/c2payloadhandles.js +333 -0
  32. package/src/core/c2persistrelation.js +179 -0
  33. package/src/core/c2persiststate.js +342 -0
  34. package/src/core/c2platformrecoverysender.js +76 -0
  35. package/src/core/c2recoverygate.js +385 -0
  36. package/src/core/c2runnerinput.js +63 -0
  37. package/src/core/c2servicestartgate.js +103 -0
  38. package/src/core/c2sessionbridge.js +72 -0
  39. package/src/core/c2sourcequarantine.js +30 -0
  40. package/src/core/c2startuprecovery.js +105 -0
  41. package/src/core/c2successorbridge.js +151 -0
  42. package/src/core/c2terminaleffectbridge.js +154 -0
  43. package/src/core/c2terminalprune.js +108 -0
  44. package/src/core/c2turnprojection.js +177 -0
  45. package/src/core/enginecheckpoint.js +211 -0
  46. package/src/core/engineeffectcursor.js +394 -0
  47. package/src/core/enginestepcoordinator.js +183 -0
  48. package/src/core/store.js +52 -8
  49. package/src/core/v2engine.js +1469 -0
  50. package/src/platform/feishu.js +324 -67
  51. package/src/plugins.js +1 -9
  52. package/assets/design-styles/acid-pop.md +0 -155
  53. package/assets/design-styles/archive-index.md +0 -161
  54. package/assets/design-styles/art-deco.md +0 -164
  55. package/assets/design-styles/cinematic-noir.md +0 -178
  56. package/assets/design-styles/editorial.md +0 -121
  57. package/assets/design-styles/extra/README.md +0 -23
  58. package/assets/design-styles/extra/constructivism.md +0 -146
  59. package/assets/design-styles/extra/neo-brutalism.md +0 -175
  60. package/assets/design-styles/extra/new-wave.md +0 -166
  61. package/assets/design-styles/extra/nordic-material.md +0 -162
  62. package/assets/design-styles/extra/paris-couture.md +0 -162
  63. package/assets/design-styles/extra/tropical-modern.md +0 -168
  64. package/assets/design-styles/extra/ulm-functional.md +0 -182
  65. package/assets/design-styles/extra/wa-shikimen.md +0 -160
  66. package/assets/design-styles/extra/y2k-chrome.md +0 -172
  67. package/assets/design-styles/geometric-pop.md +0 -122
  68. package/assets/design-styles/hand-drawn.md +0 -117
  69. package/assets/design-styles/islamic-geometry.md +0 -155
  70. package/assets/design-styles/liquid-glass.md +0 -183
  71. package/assets/design-styles/neo-chinese.md +0 -136
  72. package/assets/design-styles/precision-mono.md +0 -156
  73. package/assets/design-styles/quiet-luxury.md +0 -163
  74. package/assets/design-styles/riso-print.md +0 -116
  75. package/assets/design-styles/soft-friendly.md +0 -174
  76. package/assets/design-styles/swiss-grid.md +0 -156
  77. package/assets/design-styles/tech-dark.md +0 -182
  78. package/assets/favicon.svg +0 -6
  79. package/assets/logo.svg +0 -24
  80. package/bin/sbot.js +0 -4711
  81. package/docs/slack-app-manifest.yaml +0 -104
  82. package/sbot.config.example.json +0 -235
  83. package/src/agent/askonce.js +0 -76
  84. package/src/agent/claudemodels.js +0 -60
  85. package/src/agent/claudestatus.js +0 -74
  86. package/src/agent/claudeusage.js +0 -200
  87. package/src/agent/codexstatus.js +0 -181
  88. package/src/agent/imagen.js +0 -458
  89. package/src/agent/quotaerr.js +0 -44
  90. package/src/agent/transienterr.js +0 -32
  91. package/src/cdp.js +0 -254
  92. package/src/clilang.js +0 -31
  93. package/src/core/cron.js +0 -182
  94. package/src/core/cronfire.js +0 -120
  95. package/src/core/cronrun.js +0 -116
  96. package/src/core/engine.js +0 -2762
  97. package/src/core/interfaces.js +0 -114
  98. package/src/core/issues.js +0 -185
  99. package/src/core/ledger.js +0 -30
  100. package/src/core/opsalert.js +0 -214
  101. package/src/core/pending.js +0 -123
  102. package/src/core/proxy.js +0 -424
  103. package/src/core/quotaalert.js +0 -79
  104. package/src/core/quotaerr.js +0 -55
  105. package/src/core/scheduler.js +0 -59
  106. package/src/design.js +0 -5161
  107. package/src/gitrepo.js +0 -150
  108. package/src/health.js +0 -353
  109. package/src/installdeps.js +0 -72
  110. package/src/leftover.js +0 -174
  111. package/src/platform/boardnotice.js +0 -77
  112. package/src/platform/boardops.js +0 -36
  113. package/src/platform/boardwatch.js +0 -447
  114. package/src/platform/cli.js +0 -45
  115. package/src/platform/slack.js +0 -1289
  116. package/src/platform/takeovercard.js +0 -37
  117. package/src/platform/wecom.js +0 -938
  118. package/src/platform/wecomcli.js +0 -128
  119. package/src/platform/wecomgate.js +0 -108
  120. package/src/platform/wecomname.js +0 -43
  121. package/src/platform/wecompoll.js +0 -241
  122. package/src/preview.js +0 -581
  123. package/src/projectmemory.js +0 -175
  124. package/src/service.js +0 -317
  125. package/src/ui/auth.js +0 -31
  126. package/src/ui/browser.html +0 -392
  127. package/src/ui/browserroutes.js +0 -234
  128. package/src/ui/console.html +0 -5494
  129. package/src/ui/dashboard.js +0 -168
  130. package/src/ui/feishulogin.js +0 -136
  131. package/src/ui/server.js +0 -2314
  132. package/src/ui/sessions.js +0 -78
  133. package/src/ui/takeover.js +0 -108
  134. package/src/updater.js +0 -243
  135. package/src/upgrade.js +0 -35
  136. package/src/usage.js +0 -144
package/README.zh-CN.md CHANGED
@@ -1,185 +1,41 @@
1
- <p align="center">
2
- <a href="https://sintbot.com/zh/"><picture><source srcset="https://raw.githubusercontent.com/sintlab/sintbot/main/docs/assets/hero-zh.svg" type="image/svg+xml"><img src="https://raw.githubusercontent.com/sintlab/sintbot/main/docs/assets/banner-zh.png" alt="SintBot —— 群项目 AI 守护进程,跑在你自己的机器上" width="880"></picture></a>
3
- </p>
1
+ # SintBot
4
2
 
5
- <p align="center"><b>一群一项目,一句话就开工;模型随时换,记忆不丢;全程在你自己的机器上。</b></p>
3
+ [English](./README.md) · [安装指南](./docs/zh-CN/install.md) · [官网](https://sintbot.com)
6
4
 
7
- <p align="center">
8
- <a href="https://www.npmjs.com/package/sintbot"><img src="https://img.shields.io/npm/v/sintbot?style=flat-square&color=d68f44" alt="npm 版本"></a>
9
- <a href="https://github.com/sintlab/sintbot/actions/workflows/test.yml"><img src="https://img.shields.io/github/actions/workflow/status/sintlab/sintbot/test.yml?branch=main&style=flat-square&label=tests" alt="测试"></a>
10
- <img src="https://img.shields.io/node/v/sintbot?style=flat-square" alt="Node 版本">
11
- <a href="./LICENSE"><img src="https://img.shields.io/badge/license-PolyForm%20Shield-blue?style=flat-square" alt="PolyForm Shield 许可"></a>
12
- </p>
5
+ SintBot 让你在飞书群里驱动 Mac 上的编码助手。**一个群绑定一个本机项目**,发出任务后,过程与最终回复回到同一个群里。
13
6
 
14
- <p align="center">
15
- <a href="https://sintbot.com/zh/">官网</a> ·
16
- <a href="./README.md">English</a> ·
17
- <a href="./docs/zh-CN/install.md">安装说明</a> ·
18
- <a href="https://github.com/sintlab/sintbot/releases">版本发布</a>
19
- </p>
7
+ ## 1.3.0 版本
20
8
 
21
- ---
9
+ 首个内置核心版本支持 **macOS、Node.js 22 及以上、一个飞书群和 Codex 消息轮次**。需要本机已安装并登录的 Codex,以及一个飞书企业自建应用。模型使用遵循你的 Codex 账号条款与额度。
22
10
 
23
- SintBot 是一个跑在你自己机器上的守护进程,把能写代码的 AI 放进团队的聊天群。一个群绑一个项目目录,群里谁都能派活。它会读代码、改代码、做设计、跑脚本、回报结果,全程在你自己的机器上。
11
+ 程序以前台方式运行,需要保持终端开启;按 Ctrl-C 后等待退出。本版不安装自动后台服务。
24
12
 
25
- 每一轮都用官方的 **Claude Code** 或 **Codex** 命令行无头运行,所以工具、MCP、skills、项目记忆都和你在终端里用的一样。模型按群选:Claude、GPT、DeepSeek、GLM、MiniMax、Kimi,或你自己部署的模型。
13
+ 多群、Claude 及其他模型通道、Slack、企业微信、国际版 Lark、管理控制台、定时任务、终端聊天、忙时跟进和画布不在本版支持范围。已经使用这些能力的安装应保留当前版本,后续版本再逐步扩展支持。
26
14
 
27
- 完整源码、文档和测试均已公开,可查看、克隆和下载,采用 [PolyForm Shield 1.0.0 许可](./LICENSE)。
15
+ ## 安装与接入
28
16
 
29
- ## 怎么跑
30
-
31
- <p align="center"><img src="https://raw.githubusercontent.com/sintlab/sintbot/main/docs/assets/how-it-works-zh.svg" alt="群(飞书、Slack 或企业微信)→ 你机器上的 SintBot → 项目目录里的 Claude Code 或 Codex → 这个群选的模型;进度与结果回到群里" width="880"></p>
32
-
33
- - **一群一项目。** 每个群各有自己的项目目录、会话、排队、权限和定时任务。
34
- - **同一套 agent,任意大脑。** 群里发 `/model` 就能换模型。项目的 `CLAUDE.md`、`AGENTS.md` 和记忆目录会交给接下来运行的 agent。
35
- - **数据留在本机。** 项目、会话、记忆、日志都在你自己的硬盘上,不经过任何 SintBot 服务器。提示词和模型读到的代码照常发给你选的模型服务商。
36
- - **不要公网 IP。** 每个平台都是机器主动往外连的长连接(Slack 用 Socket Mode)。一个守护进程可以同时接飞书、Slack、企业微信。
37
-
38
- ## 快速开始
39
-
40
- **1. 安装**(macOS / Linux):
17
+ 按[安装指南](./docs/zh-CN/install.md)把精确版本装到独立目录,配置一个群,初始化全新收据日志,再启动机器人。安装器保留已有安装和服务。
41
18
 
42
19
  ```bash
43
- curl -fsSL https://sintbot.com/install.sh | bash
20
+ curl -fsSL https://sintbot.com/install.sh -o /tmp/sintbot-install.sh
21
+ bash /tmp/sintbot-install.sh --dry-run
22
+ bash /tmp/sintbot-install.sh
44
23
  ```
45
24
 
46
- 脚本会检查并装好 Node.js 22+、装 sintbot、配好模型(当场试跑一轮),再问要不要装成后台服务,最后打开控制台 http://127.0.0.1:4600。每一步先问再动,不用 `sudo`。可以先读 [install.sh](./install.sh),或加 `--dry-run` 只看它会做什么。
47
-
48
- 也可以手动装:
49
-
50
- ```bash
51
- npm i -g sintbot
52
- sintbot setup # 配模型,当场试跑一轮
53
- sintbot service install # 崩溃自动拉起、登录后自启;控制台常开在 http://127.0.0.1:4600
54
- ```
55
-
56
- **2. 在控制台里接聊天平台。** 建好机器人、拉进一个群,在「设置」里填凭据;每个平台在控制台里和这里都有分步说明:[飞书](./docs/zh-CN/platforms/feishu.md)(在中国大陆推荐)· [Slack](./docs/zh-CN/platforms/slack.md) · [企业微信](./docs/zh-CN/platforms/wecom.md)。然后在「群 · 项目」里把群绑到项目目录。
57
-
58
- **3. 在群里 @ 机器人。** 切模型、看实时活动也都在这个控制台里。
59
-
60
- ### 选模型:没有 Claude 订阅也能用
61
-
62
- 向导会先看这台机器登录了什么,按这个顺序推荐:
63
-
64
- | 你有 | 用 | 要做的 |
65
- |---|---|---|
66
- | Claude 订阅(Pro / Max) | Claude | 跑向导前先 `claude auth login` |
67
- | ChatGPT 账号 | GPT(经 Codex) | `npm i -g @openai/codex`,再 `codex login` |
68
- | 都没有 | **DeepSeek**(推荐) | 到 [platform.deepseek.com](https://platform.deepseek.com) 注册、充值、创建 API key,在向导里粘贴,当场试跑一轮 |
69
-
70
- 其他预设有智谱 GLM、MiniMax、火山方舟。智谱和 MiniMax 还有国际站(Z.ai、minimax.io),向导会用 key 试出它属于哪个站。Kimi 等任何 Anthropic 兼容端点,都可以在控制台作为自定义端点添加。
71
-
72
- 没有 Claude 订阅时,Claude Code 只是执行框架,不用登录。用不了的只有 GPT 群和生图,这两样借的是 Codex。
73
-
74
- ### 在中国大陆
75
-
76
- - **聊天平台用飞书。**
77
- - **模型**:没有 Claude 订阅就用 DeepSeek(或智谱 / MiniMax / Kimi 的中国站),直连,不用代理。只有用到 Claude / ChatGPT 才要代理,在控制台「设置 → 机器人与网络」填。
78
- - **开着全局代理(梯子)的话**,把模型域名设成直连。否则请求绕到境外再回来,又慢又可能触发风控,见 [install.md「代理」](./docs/zh-CN/install.md#代理)。
79
- - **npm 慢**:一键安装和向导会自动换 `registry.npmmirror.com`;手动装加 `--registry https://registry.npmmirror.com`。
80
- - **GitHub 打不开**:中文介绍和安装步骤在[官网](https://sintbot.com/zh/)上都有。
81
-
82
- ## 能做什么
83
-
84
- | 方面 | 说明 |
85
- |---|---|
86
- | **群里** | 进度实时流式更新:飞书卡片原地刷新,Slack 显示原生「Working…」状态和 Stop 按钮。跑着时来的消息,会合并进下一轮。 |
87
- | **命令** | `/help` · `/status` · `/model <名字>` · `/stop` · `/skip` · `/new` · `/hud` · `/issue`。Slack 会吃掉 `/` 开头的消息,所以在 Slack 里用 `!` 前缀。 |
88
- | **权限** | 按群设,默认只读。消息到群之前先遮掉 13 类密钥与隐私信息。 |
89
- | **定时任务** | cron、`daily` 这类别名,或直接写「每天 09:00」。到点可以叫醒 agent、只发提醒,或只跑一个脚本。 |
90
- | **设计** | 从喜欢的网站、项目目录或图片提炼风格,也可以从 16 套内置风格起步。结果是每个项目一份 agent 必读的风格档 `DESIGN.md`,交付前对照它核对。还可以在飞书画板上标注、迭代。 |
91
- | **生图** | 借本机的 Codex 订阅生图,不用 API key。可以在原图上改、遮罩局部重绘、透明底。 |
92
- | **预览与浏览器** | 把 HTML 原型挂到局域网给群成员看。机器人的浏览器碰到登录或验证码时,群成员用一次性链接接管。 |
93
- | **控制台** | 一个本地网页管所有群:「需要你处理」清单(失败的轮次和原因、等人接管、没处理的反馈)、项目、模型、权限、设计库、实时活动、版本历史。界面中英文可切。 |
94
- | **运维** | 每轮最长 30 分钟,全局最多同时两轮。被重启打断的轮次会自动重做。另有 `sintbot doctor` 体检、运维告警群、额度提醒。 |
95
-
96
- ## 常用命令
97
-
98
- ```bash
99
- sintbot doctor # 体检:配置、命令行工具、模型、平台、群绑定
100
- sintbot service status | logs # 服务在不在、在做什么
101
- sintbot agent run "…" # 在当前目录只读试跑一轮
102
- sintbot ui # 打开控制台
103
- sintbot chat -C <项目目录> # 不接聊天平台,在终端里模拟群消息
104
- sintbot help # 全部命令
105
- ```
106
-
107
- 配置在 `~/.sbot/config.json`,字段说明见 [docs/config.md](./docs/zh-CN/config.md),带注释的完整示例见 [sbot.config.example.json](./sbot.config.example.json)。npm 包装出两个同义命令:`sintbot` 和 `sbot`。
108
-
109
- ## 验证现状
110
-
111
- | 方面 | 现状 |
112
- |---|---|
113
- | **macOS** | 已验证。飞书与 Slack 的主流程都真机验过:收发消息、流式进度、换模型、定时任务。 |
114
- | **Linux** | 实验性。systemd 单元文件有单元测试覆盖,还没在真机上装过。 |
115
- | **Windows** | 未验证。手动安装;`sintbot service install` 会打印 NSSM 与 pm2 的现成命令。 |
116
- | **企业微信** | 三个平台里最新接入的,真实环境里用得最少。 |
117
- | **Slack** | 原生 Stop 按钮、`!status`、线程里的按钮有测试覆盖,但真实环境里用得还少。 |
118
- | **Kimi** | 还不是预设,也还没实测过。在控制台「模型 · 库 → 添加模型 → 自定义」添加;用过的话欢迎[反馈结果](https://github.com/sintlab/sintbot/issues)。 |
119
-
120
- 这里的飞书指中国版(open.feishu.cn);国际版 Lark(larksuite.com)是另一套开放平台,目前还不支持。
121
-
122
- ## 安全须知
123
-
124
- - 机器人能在绑定的项目目录里**执行命令**。权限按群设:默认只读;「完全访问」只给你信任的群。文件工具限制在项目目录内,命令行没有沙箱。详见 [docs/security.md](./docs/zh-CN/security.md)。
125
- - 控制台默认只听本机。要给局域网用,先 `sintbot ui --set-password`。
126
- - **订阅条款**:个人 Claude / ChatGPT 订阅未必允许服务多人群聊;团队使用前请核对提供方条款。
127
-
128
- ## 常见问题
129
-
130
- <details>
131
- <summary><b>必须有 Claude 订阅吗?</b></summary>
132
-
133
- 不需要。向导没检测到 Claude 或 Codex 登录时,会推荐 DeepSeek,粘贴 API key 后当场试跑一轮。执行框架仍是 Claude Code,只是不用登录。
134
- </details>
135
-
136
- <details>
137
- <summary><b>在中国大陆能用吗?</b></summary>
138
-
139
- 能。聊天平台用飞书,模型用 DeepSeek(或智谱 GLM、MiniMax、Kimi 的中国站),都是直连、不用代理。只有用 Claude、ChatGPT 或 Slack 才需要代理。
140
- </details>
141
-
142
- <details>
143
- <summary><b>需要服务器或公网 IP 吗?</b></summary>
144
-
145
- 不需要。它跑在一台你一直开着的电脑上(Mac 是验证过的环境),只向外连接:飞书用 WebSocket 长连接,Slack 用 Socket Mode,企业微信用长连接。控制台默认只在本机,除非你自己选择开放。
146
- </details>
147
-
148
- <details>
149
- <summary><b>换模型会丢掉项目记忆吗?</b></summary>
150
-
151
- 不会。换模型会开一段新对话,但项目里的 `CLAUDE.md`、`AGENTS.md` 和记忆目录会交给接下来运行的 agent。长会话会自动压缩。
152
- </details>
153
-
154
- <details>
155
- <summary><b>它和 cc-bot 有什么区别?</b></summary>
156
-
157
- 两者都免费。[cc-bot](https://github.com/WaterTian/cc-bot) 是 Claude Code 插件,运行在你自己的交互会话里,用的就是该会话的模型。SintBot 是独立的守护进程:不需要有人守着终端,每个群有自己的项目、模型和权限,同时驱动 Claude Code 和 Codex,并自带本地控制台。
158
- </details>
159
-
160
- ## 文档
25
+ 安装器只安装程序包,不登录 Codex、不收集凭据、不连接群,也不启动服务。也可以按 [AI 辅助安装指南](./docs/zh-CN/AI-ASSISTED-INSTALL.md)完成这些步骤。
161
26
 
162
- | 主题 | 文档 |
163
- |---|---|
164
- | 上手 | [安装](./docs/zh-CN/install.md) · [模型](./docs/zh-CN/models.md) · [配置](./docs/zh-CN/config.md) · [安全](./docs/zh-CN/security.md) · [功能详解](./docs/zh-CN/features.md) |
165
- | 聊天平台 | [飞书](./docs/zh-CN/platforms/feishu.md) · [Slack](./docs/zh-CN/platforms/slack.md) · [企业微信](./docs/zh-CN/platforms/wecom.md) |
166
- | 功能 | [画板](./docs/zh-CN/BOARD.md) · [预览](./docs/zh-CN/PREVIEW.md) · [浏览器](./docs/zh-CN/BROWSER.md) · [图标](./docs/zh-CN/ICONS.md) · [Codex 后端](./docs/zh-CN/CODEX-RUNNER.md) · [控制台公网访问](./docs/zh-CN/PUBLIC-ACCESS.md) |
167
- | 项目 | [架构与设计(DESIGN.md)](./DESIGN.zh-CN.md) · [参与开发](./CONTRIBUTING.zh-CN.md) · [更新日志](./CHANGELOG.json) |
27
+ ## 第一个任务
168
28
 
169
- ## 反馈
29
+ 先在配置的群里发一条只读请求,例如:“读取这个项目 README 的第一行,只回复这一行。”把回复和本地文件对照,正常停止前台进程,再启动一次。安装成功本身不代表群连接或模型轮次已经通过。
170
30
 
171
- 碰到问题或想要新功能,请到 [GitHub Issues](https://github.com/sintlab/sintbot/issues) 提。请附上以下信息,贴之前先遮掉密钥:
31
+ ## 数据与恢复
172
32
 
173
- - `sintbot version`
174
- - 系统
175
- - 聊天平台
176
- - `sintbot doctor` 的输出
33
+ 项目文件、配置及持久收据保存在你的 Mac 上。飞书接收消息和回复,Codex 向它配置的模型服务发送输入。建议初次使用只读权限;授予完全访问后,助手可以修改文件、执行命令。
177
34
 
178
- 安全问题请通过 [GitHub 私密漏洞报告](https://github.com/sintlab/sintbot/security/advisories/new)私下提交,别发公开 issue,详见 [SECURITY.md](./SECURITY.zh-CN.md)。
35
+ 如果启动提示未结收据或外部效果不明,应保留状态并核对。不要为了启动而删除日志、清空收据或重发任务:之前的请求可能已经执行。1.3.0 不自动迁移已有多群状态。
179
36
 
180
37
  ## 许可
181
38
 
182
- 完整源码、文档和测试均已公开,可查看、克隆和下载,采用 [PolyForm Shield 1.0.0 许可](./LICENSE) © WaterTian。准确边界以许可原文为准。
39
+ SintBot 按 [PolyForm Shield 1.0.0](./LICENSE) 分发。安装包包含内置核心,软件使用适用随包许可;依赖声明见 [THIRD-PARTY-NOTICES.md](./THIRD-PARTY-NOTICES.md)。
183
40
 
184
- - 可以自己用、团队或公司内部用,也可以修改和运行。
185
- - 不可以拿它做成与 SintBot 竞争的产品,收费、免费都不行。
41
+ 作者:**WaterTian**。
@@ -60,6 +60,400 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
60
60
  SOFTWARE.
61
61
  ```
62
62
 
63
+ ## Rust crates embedded in the built-in core
64
+
65
+ The built-in core includes the following runtime dependencies locked for this release. Each listed crate offers the selected license as one of its declared alternatives. The license text below is copied from that exact version’s local crate archive. Build-only procedural macro crates in the lockfile are not part of this WASM payload.
66
+
67
+ | Crate | Version | Selected license |
68
+ |---|---|---|
69
+ | `aho-corasick` | 1.1.4 | MIT |
70
+ | `equivalent` | 1.0.2 | MIT |
71
+ | `hashbrown` | 0.17.1 | MIT |
72
+ | `indexmap` | 2.14.0 | MIT |
73
+ | `itoa` | 1.0.18 | MIT |
74
+ | `memchr` | 2.8.2 | MIT |
75
+ | `regex` | 1.11.1 | MIT |
76
+ | `regex-automata` | 0.4.14 | MIT |
77
+ | `regex-syntax` | 0.8.11 | MIT |
78
+ | `ryu` | 1.0.18 | BSL-1.0 |
79
+ | `serde` | 1.0.228 | MIT |
80
+ | `serde_core` | 1.0.228 | MIT |
81
+ | `serde_json` | 1.0.133 | MIT |
82
+
83
+ The notices below preserve each crate’s own copyright line and permission text, including versions whose upstream MIT file has no named copyright holder.
84
+
85
+ ### aho-corasick 1.1.4 — MIT
86
+
87
+ ```text
88
+ The MIT License (MIT)
89
+
90
+ Copyright (c) 2015 Andrew Gallant
91
+
92
+ Permission is hereby granted, free of charge, to any person obtaining a copy
93
+ of this software and associated documentation files (the "Software"), to deal
94
+ in the Software without restriction, including without limitation the rights
95
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
96
+ copies of the Software, and to permit persons to whom the Software is
97
+ furnished to do so, subject to the following conditions:
98
+
99
+ The above copyright notice and this permission notice shall be included in
100
+ all copies or substantial portions of the Software.
101
+
102
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
103
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
104
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
105
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
106
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
107
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
108
+ THE SOFTWARE.
109
+ ```
110
+
111
+ ### equivalent 1.0.2 — MIT
112
+
113
+ ```text
114
+ Copyright (c) 2016--2023
115
+
116
+ Permission is hereby granted, free of charge, to any
117
+ person obtaining a copy of this software and associated
118
+ documentation files (the "Software"), to deal in the
119
+ Software without restriction, including without
120
+ limitation the rights to use, copy, modify, merge,
121
+ publish, distribute, sublicense, and/or sell copies of
122
+ the Software, and to permit persons to whom the Software
123
+ is furnished to do so, subject to the following
124
+ conditions:
125
+
126
+ The above copyright notice and this permission notice
127
+ shall be included in all copies or substantial portions
128
+ of the Software.
129
+
130
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
131
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
132
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
133
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
134
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
135
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
136
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
137
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
138
+ DEALINGS IN THE SOFTWARE.
139
+ ```
140
+
141
+ ### hashbrown 0.17.1 — MIT
142
+
143
+ ```text
144
+ Copyright (c) 2016 Amanieu d'Antras
145
+
146
+ Permission is hereby granted, free of charge, to any
147
+ person obtaining a copy of this software and associated
148
+ documentation files (the "Software"), to deal in the
149
+ Software without restriction, including without
150
+ limitation the rights to use, copy, modify, merge,
151
+ publish, distribute, sublicense, and/or sell copies of
152
+ the Software, and to permit persons to whom the Software
153
+ is furnished to do so, subject to the following
154
+ conditions:
155
+
156
+ The above copyright notice and this permission notice
157
+ shall be included in all copies or substantial portions
158
+ of the Software.
159
+
160
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
161
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
162
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
163
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
164
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
165
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
166
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
167
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
168
+ DEALINGS IN THE SOFTWARE.
169
+ ```
170
+
171
+ ### indexmap 2.14.0 — MIT
172
+
173
+ ```text
174
+ Copyright (c) 2016--2017
175
+
176
+ Permission is hereby granted, free of charge, to any
177
+ person obtaining a copy of this software and associated
178
+ documentation files (the "Software"), to deal in the
179
+ Software without restriction, including without
180
+ limitation the rights to use, copy, modify, merge,
181
+ publish, distribute, sublicense, and/or sell copies of
182
+ the Software, and to permit persons to whom the Software
183
+ is furnished to do so, subject to the following
184
+ conditions:
185
+
186
+ The above copyright notice and this permission notice
187
+ shall be included in all copies or substantial portions
188
+ of the Software.
189
+
190
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
191
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
192
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
193
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
194
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
195
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
196
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
197
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
198
+ DEALINGS IN THE SOFTWARE.
199
+ ```
200
+
201
+ ### itoa 1.0.18 — MIT
202
+
203
+ ```text
204
+ Permission is hereby granted, free of charge, to any
205
+ person obtaining a copy of this software and associated
206
+ documentation files (the "Software"), to deal in the
207
+ Software without restriction, including without
208
+ limitation the rights to use, copy, modify, merge,
209
+ publish, distribute, sublicense, and/or sell copies of
210
+ the Software, and to permit persons to whom the Software
211
+ is furnished to do so, subject to the following
212
+ conditions:
213
+
214
+ The above copyright notice and this permission notice
215
+ shall be included in all copies or substantial portions
216
+ of the Software.
217
+
218
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
219
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
220
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
221
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
222
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
223
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
224
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
225
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
226
+ DEALINGS IN THE SOFTWARE.
227
+ ```
228
+
229
+ ### memchr 2.8.2 — MIT
230
+
231
+ ```text
232
+ The MIT License (MIT)
233
+
234
+ Copyright (c) 2015 Andrew Gallant
235
+
236
+ Permission is hereby granted, free of charge, to any person obtaining a copy
237
+ of this software and associated documentation files (the "Software"), to deal
238
+ in the Software without restriction, including without limitation the rights
239
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
240
+ copies of the Software, and to permit persons to whom the Software is
241
+ furnished to do so, subject to the following conditions:
242
+
243
+ The above copyright notice and this permission notice shall be included in
244
+ all copies or substantial portions of the Software.
245
+
246
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
247
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
248
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
249
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
250
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
251
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
252
+ THE SOFTWARE.
253
+ ```
254
+
255
+ ### regex 1.11.1 — MIT
256
+
257
+ ```text
258
+ Copyright (c) 2014 The Rust Project Developers
259
+
260
+ Permission is hereby granted, free of charge, to any
261
+ person obtaining a copy of this software and associated
262
+ documentation files (the "Software"), to deal in the
263
+ Software without restriction, including without
264
+ limitation the rights to use, copy, modify, merge,
265
+ publish, distribute, sublicense, and/or sell copies of
266
+ the Software, and to permit persons to whom the Software
267
+ is furnished to do so, subject to the following
268
+ conditions:
269
+
270
+ The above copyright notice and this permission notice
271
+ shall be included in all copies or substantial portions
272
+ of the Software.
273
+
274
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
275
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
276
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
277
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
278
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
279
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
280
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
281
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
282
+ DEALINGS IN THE SOFTWARE.
283
+ ```
284
+
285
+ ### regex-automata 0.4.14 — MIT
286
+
287
+ ```text
288
+ Copyright (c) 2014 The Rust Project Developers
289
+
290
+ Permission is hereby granted, free of charge, to any
291
+ person obtaining a copy of this software and associated
292
+ documentation files (the "Software"), to deal in the
293
+ Software without restriction, including without
294
+ limitation the rights to use, copy, modify, merge,
295
+ publish, distribute, sublicense, and/or sell copies of
296
+ the Software, and to permit persons to whom the Software
297
+ is furnished to do so, subject to the following
298
+ conditions:
299
+
300
+ The above copyright notice and this permission notice
301
+ shall be included in all copies or substantial portions
302
+ of the Software.
303
+
304
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
305
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
306
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
307
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
308
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
309
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
310
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
311
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
312
+ DEALINGS IN THE SOFTWARE.
313
+ ```
314
+
315
+ ### regex-syntax 0.8.11 — MIT
316
+
317
+ ```text
318
+ Copyright (c) 2014 The Rust Project Developers
319
+
320
+ Permission is hereby granted, free of charge, to any
321
+ person obtaining a copy of this software and associated
322
+ documentation files (the "Software"), to deal in the
323
+ Software without restriction, including without
324
+ limitation the rights to use, copy, modify, merge,
325
+ publish, distribute, sublicense, and/or sell copies of
326
+ the Software, and to permit persons to whom the Software
327
+ is furnished to do so, subject to the following
328
+ conditions:
329
+
330
+ The above copyright notice and this permission notice
331
+ shall be included in all copies or substantial portions
332
+ of the Software.
333
+
334
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
335
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
336
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
337
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
338
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
339
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
340
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
341
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
342
+ DEALINGS IN THE SOFTWARE.
343
+ ```
344
+
345
+ ### ryu 1.0.18 — BSL-1.0
346
+
347
+ ```text
348
+ Boost Software License - Version 1.0 - August 17th, 2003
349
+
350
+ Permission is hereby granted, free of charge, to any person or organization
351
+ obtaining a copy of the software and accompanying documentation covered by
352
+ this license (the "Software") to use, reproduce, display, distribute,
353
+ execute, and transmit the Software, and to prepare derivative works of the
354
+ Software, and to permit third-parties to whom the Software is furnished to
355
+ do so, all subject to the following:
356
+
357
+ The copyright notices in the Software and this entire statement, including
358
+ the above license grant, this restriction and the following disclaimer,
359
+ must be included in all copies of the Software, in whole or in part, and
360
+ all derivative works of the Software, unless such copies or derivative
361
+ works are solely in the form of machine-executable object code generated by
362
+ a source language processor.
363
+
364
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
365
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
366
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
367
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
368
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
369
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
370
+ DEALINGS IN THE SOFTWARE.
371
+ ```
372
+
373
+ ### serde 1.0.228 — MIT
374
+
375
+ ```text
376
+ Permission is hereby granted, free of charge, to any
377
+ person obtaining a copy of this software and associated
378
+ documentation files (the "Software"), to deal in the
379
+ Software without restriction, including without
380
+ limitation the rights to use, copy, modify, merge,
381
+ publish, distribute, sublicense, and/or sell copies of
382
+ the Software, and to permit persons to whom the Software
383
+ is furnished to do so, subject to the following
384
+ conditions:
385
+
386
+ The above copyright notice and this permission notice
387
+ shall be included in all copies or substantial portions
388
+ of the Software.
389
+
390
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
391
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
392
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
393
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
394
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
395
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
396
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
397
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
398
+ DEALINGS IN THE SOFTWARE.
399
+ ```
400
+
401
+ ### serde_core 1.0.228 — MIT
402
+
403
+ ```text
404
+ Permission is hereby granted, free of charge, to any
405
+ person obtaining a copy of this software and associated
406
+ documentation files (the "Software"), to deal in the
407
+ Software without restriction, including without
408
+ limitation the rights to use, copy, modify, merge,
409
+ publish, distribute, sublicense, and/or sell copies of
410
+ the Software, and to permit persons to whom the Software
411
+ is furnished to do so, subject to the following
412
+ conditions:
413
+
414
+ The above copyright notice and this permission notice
415
+ shall be included in all copies or substantial portions
416
+ of the Software.
417
+
418
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
419
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
420
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
421
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
422
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
423
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
424
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
425
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
426
+ DEALINGS IN THE SOFTWARE.
427
+ ```
428
+
429
+ ### serde_json 1.0.133 — MIT
430
+
431
+ ```text
432
+ Permission is hereby granted, free of charge, to any
433
+ person obtaining a copy of this software and associated
434
+ documentation files (the "Software"), to deal in the
435
+ Software without restriction, including without
436
+ limitation the rights to use, copy, modify, merge,
437
+ publish, distribute, sublicense, and/or sell copies of
438
+ the Software, and to permit persons to whom the Software
439
+ is furnished to do so, subject to the following
440
+ conditions:
441
+
442
+ The above copyright notice and this permission notice
443
+ shall be included in all copies or substantial portions
444
+ of the Software.
445
+
446
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
447
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
448
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
449
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
450
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
451
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
452
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
453
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
454
+ DEALINGS IN THE SOFTWARE.
455
+ ```
456
+
63
457
  ## Not bundled
64
458
 
65
459
  - Runtime dependencies (`@larksuiteoapi/node-sdk`, `ws`) are installed by npm with their own license files; both are MIT.