@researai/deepscientist 1.5.2 → 1.5.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 +22 -0
- package/bin/ds.js +384 -0
- package/docs/en/00_QUICK_START.md +22 -0
- package/docs/zh/00_QUICK_START.md +22 -0
- package/install.sh +120 -4
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/src/deepscientist/__init__.py +1 -1
- package/src/deepscientist/artifact/service.py +1 -1
- package/src/deepscientist/bash_exec/monitor.py +23 -4
- package/src/deepscientist/bash_exec/runtime.py +3 -0
- package/src/deepscientist/bash_exec/service.py +132 -4
- package/src/deepscientist/bridges/base.py +10 -19
- package/src/deepscientist/channels/discord_gateway.py +25 -2
- package/src/deepscientist/channels/feishu_long_connection.py +41 -3
- package/src/deepscientist/channels/qq.py +524 -64
- package/src/deepscientist/channels/qq_gateway.py +22 -3
- package/src/deepscientist/channels/relay.py +429 -90
- package/src/deepscientist/channels/slack_socket.py +29 -5
- package/src/deepscientist/channels/telegram_polling.py +25 -2
- package/src/deepscientist/channels/whatsapp_local_session.py +32 -4
- package/src/deepscientist/cli.py +27 -0
- package/src/deepscientist/config/models.py +6 -40
- package/src/deepscientist/config/service.py +164 -155
- package/src/deepscientist/connector_profiles.py +346 -0
- package/src/deepscientist/connector_runtime.py +88 -43
- package/src/deepscientist/daemon/api/handlers.py +47 -10
- package/src/deepscientist/daemon/api/router.py +2 -2
- package/src/deepscientist/daemon/app.py +682 -218
- package/src/deepscientist/mcp/server.py +60 -7
- package/src/deepscientist/migration.py +114 -0
- package/src/deepscientist/prompts/builder.py +30 -3
- package/src/deepscientist/qq_profiles.py +186 -0
- package/src/prompts/connectors/qq.md +42 -2
- package/src/prompts/system.md +85 -5
- package/src/skills/analysis-campaign/SKILL.md +11 -5
- package/src/skills/baseline/SKILL.md +66 -31
- package/src/skills/decision/SKILL.md +1 -1
- package/src/skills/experiment/SKILL.md +11 -5
- package/src/skills/finalize/SKILL.md +1 -1
- package/src/skills/idea/SKILL.md +1 -1
- package/src/skills/intake-audit/SKILL.md +1 -1
- package/src/skills/rebuttal/SKILL.md +1 -1
- package/src/skills/review/SKILL.md +1 -1
- package/src/skills/scout/SKILL.md +1 -1
- package/src/skills/write/SKILL.md +1 -1
- package/src/tui/package.json +1 -1
- package/src/ui/dist/assets/{AiManusChatView-CZpg376x.js → AiManusChatView-qzChi9uh.js} +14 -37
- package/src/ui/dist/assets/{AnalysisPlugin-CtHA22g3.js → AnalysisPlugin-CcC_-UqN.js} +1 -1
- package/src/ui/dist/assets/{AutoFigurePlugin-BSWmLMmF.js → AutoFigurePlugin-DD8LkJLe.js} +5 -5
- package/src/ui/dist/assets/{CliPlugin-CJ7jdm_s.js → CliPlugin-DJJFfVmW.js} +17 -110
- package/src/ui/dist/assets/{CodeEditorPlugin-DhInVGFf.js → CodeEditorPlugin-CrjkHNLh.js} +8 -8
- package/src/ui/dist/assets/{CodeViewerPlugin-D1n8S9r5.js → CodeViewerPlugin-obnD6G5R.js} +5 -5
- package/src/ui/dist/assets/{DocViewerPlugin-C4XM_kqk.js → DocViewerPlugin-DB9SUQVd.js} +3 -3
- package/src/ui/dist/assets/{GitDiffViewerPlugin-W6kS9r6v.js → GitDiffViewerPlugin-DZLlNlD2.js} +1 -1
- package/src/ui/dist/assets/{ImageViewerPlugin-DPeUx_Oz.js → ImageViewerPlugin-BGwfDZ0Y.js} +5 -5
- package/src/ui/dist/assets/{LabCopilotPanel-eAelUaub.js → LabCopilotPanel-dfLptQcR.js} +10 -10
- package/src/ui/dist/assets/{LabPlugin-BbOrBxKY.js → LabPlugin-CeGjAl3A.js} +1 -1
- package/src/ui/dist/assets/{LatexPlugin-C-HhkVXY.js → LatexPlugin-BBJ7kd1V.js} +7 -7
- package/src/ui/dist/assets/{MarkdownViewerPlugin-BDIzIBfh.js → MarkdownViewerPlugin-DKZi7BcB.js} +4 -4
- package/src/ui/dist/assets/{MarketplacePlugin-DAOJphwr.js → MarketplacePlugin-C_k-9jD0.js} +3 -3
- package/src/ui/dist/assets/{NotebookEditor-BsoMvDoU.js → NotebookEditor-4R88_BMO.js} +1 -1
- package/src/ui/dist/assets/{PdfLoader-fiC7RtHf.js → PdfLoader-DwEFQLrw.js} +1 -1
- package/src/ui/dist/assets/{PdfMarkdownPlugin-C5OxZBFK.js → PdfMarkdownPlugin-D-jdsqF8.js} +3 -3
- package/src/ui/dist/assets/{PdfViewerPlugin-CAbxQebk.js → PdfViewerPlugin-CmeBGDY0.js} +10 -10
- package/src/ui/dist/assets/{SearchPlugin-SE33Lb9B.js → SearchPlugin-Dlz2WKJ4.js} +1 -1
- package/src/ui/dist/assets/{Stepper-0Av7GfV7.js → Stepper-ClOgzWM3.js} +1 -1
- package/src/ui/dist/assets/{TextViewerPlugin-Daf2gJDI.js → TextViewerPlugin-DDQWxibk.js} +4 -4
- package/src/ui/dist/assets/{VNCViewer-BKrMUIOX.js → VNCViewer-CJXT0Nm8.js} +9 -9
- package/src/ui/dist/assets/{bibtex-JBdOEe45.js → bibtex-DLr4Rtk4.js} +1 -1
- package/src/ui/dist/assets/{code-B0TDFCZz.js → code-DgKK408Y.js} +1 -1
- package/src/ui/dist/assets/{file-content-3YtrSacz.js → file-content-6HBqQnvQ.js} +1 -1
- package/src/ui/dist/assets/{file-diff-panel-CJEg5OG1.js → file-diff-panel-Dhu0TbBM.js} +1 -1
- package/src/ui/dist/assets/{file-socket-CYQYdmB1.js → file-socket-CP3iwVZG.js} +1 -1
- package/src/ui/dist/assets/{file-utils-Cd1C9Ppl.js → file-utils-BsS-Aw68.js} +1 -1
- package/src/ui/dist/assets/{image-B33ctrvC.js → image-ByeK-Zcv.js} +1 -1
- package/src/ui/dist/assets/{index-BVXsmS7V.js → index-BLjo5--a.js} +9499 -8688
- package/src/ui/dist/assets/{index-BNQWqmJ2.js → index-BdsE0uRz.js} +11 -11
- package/src/ui/dist/assets/{index-9CLPVeZh.js → index-C-eX-N6A.js} +1 -1
- package/src/ui/dist/assets/{index-SwmFAld3.css → index-CuQhlrR-.css} +49 -2
- package/src/ui/dist/assets/{index-Buw_N1VQ.js → index-DyremSIv.js} +2 -2
- package/src/ui/dist/assets/{message-square-D0cUJ9yU.js → message-square-DnagiLnc.js} +1 -1
- package/src/ui/dist/assets/{monaco-UZLYkp2n.js → monaco-4kBFeprs.js} +1 -1
- package/src/ui/dist/assets/{popover-CTeiY-dK.js → popover-hRCXZzs2.js} +1 -1
- package/src/ui/dist/assets/{project-sync-Dbs01Xky.js → project-sync-O_85YuP6.js} +1 -1
- package/src/ui/dist/assets/{sigma-CM08S-xT.js → sigma-DvKopSnL.js} +1 -1
- package/src/ui/dist/assets/{tooltip-pDtzvU9p.js → tooltip-BmlPc6kc.js} +1 -1
- package/src/ui/dist/assets/{trash-YvPCP-da.js → trash-n-UvdZFR.js} +1 -1
- package/src/ui/dist/assets/{useCliAccess-Bavi74Ac.js → useCliAccess-WDd3_wIh.js} +1 -1
- package/src/ui/dist/assets/{useFileDiffOverlay-CVXY6oeg.js → useFileDiffOverlay-rXLIL2NF.js} +1 -1
- package/src/ui/dist/assets/{wrap-text-Cf4flRW7.js → wrap-text-qIYQ4a_W.js} +1 -1
- package/src/ui/dist/assets/{zoom-out-Hb0Z1YpT.js → zoom-out-fZXCEFsy.js} +1 -1
- package/src/ui/dist/index.html +2 -2
|
@@ -11,6 +11,8 @@ from websockets.exceptions import ConnectionClosed
|
|
|
11
11
|
from websockets.sync.client import connect as websocket_connect
|
|
12
12
|
|
|
13
13
|
from ..bridges.connectors import QQConnectorBridge
|
|
14
|
+
from ..connector_runtime import format_conversation_id
|
|
15
|
+
from ..qq_profiles import qq_profile_label
|
|
14
16
|
from ..shared import read_json, utc_now, write_json
|
|
15
17
|
|
|
16
18
|
|
|
@@ -36,7 +38,10 @@ class QQGatewayService:
|
|
|
36
38
|
self._heartbeat_stop = threading.Event()
|
|
37
39
|
self._session_id: str | None = None
|
|
38
40
|
self._seq: int | None = None
|
|
39
|
-
self.
|
|
41
|
+
self.profile_id = str(self.config.get("profile_id") or "").strip() or "qq-profile"
|
|
42
|
+
self.profile_label = qq_profile_label(self.config)
|
|
43
|
+
self.encode_profile_id = bool(self.config.get("encode_profile_id"))
|
|
44
|
+
self._root = home / "logs" / "connectors" / "qq" / "profiles" / self.profile_id
|
|
40
45
|
self._state_path = self._root / "gateway.json"
|
|
41
46
|
|
|
42
47
|
def start(self) -> bool:
|
|
@@ -206,9 +211,16 @@ class QQGatewayService:
|
|
|
206
211
|
"chat_type": "direct",
|
|
207
212
|
"direct_id": openid,
|
|
208
213
|
"openid": openid,
|
|
214
|
+
"profile_id": self.profile_id,
|
|
215
|
+
"profile_label": self.profile_label,
|
|
209
216
|
"sender_id": openid,
|
|
210
217
|
"sender_name": str(author.get("id") or openid).strip(),
|
|
211
|
-
"conversation_id":
|
|
218
|
+
"conversation_id": format_conversation_id(
|
|
219
|
+
"qq",
|
|
220
|
+
"direct",
|
|
221
|
+
openid,
|
|
222
|
+
profile_id=self.profile_id if self.encode_profile_id else None,
|
|
223
|
+
),
|
|
212
224
|
"content": str(data.get("content") or "").strip(),
|
|
213
225
|
"attachments": list(data.get("attachments") or []),
|
|
214
226
|
"message_id": str(data.get("id") or "").strip(),
|
|
@@ -224,9 +236,16 @@ class QQGatewayService:
|
|
|
224
236
|
"chat_type": "group",
|
|
225
237
|
"group_id": group_openid,
|
|
226
238
|
"group_openid": group_openid,
|
|
239
|
+
"profile_id": self.profile_id,
|
|
240
|
+
"profile_label": self.profile_label,
|
|
227
241
|
"sender_id": member_openid,
|
|
228
242
|
"sender_name": member_openid or group_openid,
|
|
229
|
-
"conversation_id":
|
|
243
|
+
"conversation_id": format_conversation_id(
|
|
244
|
+
"qq",
|
|
245
|
+
"group",
|
|
246
|
+
group_openid,
|
|
247
|
+
profile_id=self.profile_id if self.encode_profile_id else None,
|
|
248
|
+
),
|
|
230
249
|
"content": str(data.get("content") or "").strip(),
|
|
231
250
|
"attachments": list(data.get("attachments") or []),
|
|
232
251
|
"message_id": str(data.get("id") or "").strip(),
|