scientify 1.13.6 → 2.1.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 (100) hide show
  1. package/README.en.md +371 -0
  2. package/README.md +167 -356
  3. package/dist/index.d.ts +8 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +131 -122
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/cli/research.d.ts +1 -6
  8. package/dist/src/cli/research.d.ts.map +1 -1
  9. package/dist/src/cli/research.js +227 -123
  10. package/dist/src/cli/research.js.map +1 -1
  11. package/dist/src/commands/metabolism-status.d.ts +3 -3
  12. package/dist/src/commands/metabolism-status.d.ts.map +1 -1
  13. package/dist/src/commands/metabolism-status.js +72 -75
  14. package/dist/src/commands/metabolism-status.js.map +1 -1
  15. package/dist/src/commands.d.ts +1 -1
  16. package/dist/src/commands.d.ts.map +1 -1
  17. package/dist/src/commands.js +0 -55
  18. package/dist/src/commands.js.map +1 -1
  19. package/dist/src/hooks/cron-skill-inject.d.ts +6 -7
  20. package/dist/src/hooks/cron-skill-inject.d.ts.map +1 -1
  21. package/dist/src/hooks/cron-skill-inject.js +6 -15
  22. package/dist/src/hooks/cron-skill-inject.js.map +1 -1
  23. package/dist/src/hooks/research-mode.d.ts +1 -1
  24. package/dist/src/hooks/research-mode.d.ts.map +1 -1
  25. package/dist/src/hooks/research-mode.js +24 -101
  26. package/dist/src/hooks/research-mode.js.map +1 -1
  27. package/dist/src/hooks/scientify-signature.d.ts +1 -1
  28. package/dist/src/hooks/scientify-signature.d.ts.map +1 -1
  29. package/dist/src/hooks/scientify-signature.js +2 -5
  30. package/dist/src/hooks/scientify-signature.js.map +1 -1
  31. package/dist/src/knowledge-state/render.d.ts +1 -9
  32. package/dist/src/knowledge-state/render.d.ts.map +1 -1
  33. package/dist/src/knowledge-state/render.js +33 -187
  34. package/dist/src/knowledge-state/render.js.map +1 -1
  35. package/dist/src/knowledge-state/store.d.ts.map +1 -1
  36. package/dist/src/knowledge-state/store.js +65 -1100
  37. package/dist/src/knowledge-state/store.js.map +1 -1
  38. package/dist/src/knowledge-state/types.d.ts +0 -76
  39. package/dist/src/knowledge-state/types.d.ts.map +1 -1
  40. package/dist/src/literature/subscription-state.d.ts +0 -2
  41. package/dist/src/literature/subscription-state.d.ts.map +1 -1
  42. package/dist/src/literature/subscription-state.js +7 -1375
  43. package/dist/src/literature/subscription-state.js.map +1 -1
  44. package/dist/src/research-subscriptions/constants.d.ts +1 -1
  45. package/dist/src/research-subscriptions/constants.js +1 -1
  46. package/dist/src/research-subscriptions/cron-client.d.ts +1 -1
  47. package/dist/src/research-subscriptions/cron-client.d.ts.map +1 -1
  48. package/dist/src/research-subscriptions/delivery.d.ts +1 -1
  49. package/dist/src/research-subscriptions/delivery.d.ts.map +1 -1
  50. package/dist/src/research-subscriptions/handlers.d.ts +1 -1
  51. package/dist/src/research-subscriptions/handlers.d.ts.map +1 -1
  52. package/dist/src/research-subscriptions/handlers.js +10 -20
  53. package/dist/src/research-subscriptions/handlers.js.map +1 -1
  54. package/dist/src/research-subscriptions/parse.d.ts.map +1 -1
  55. package/dist/src/research-subscriptions/parse.js +0 -25
  56. package/dist/src/research-subscriptions/parse.js.map +1 -1
  57. package/dist/src/research-subscriptions/prompt.d.ts +1 -1
  58. package/dist/src/research-subscriptions/prompt.d.ts.map +1 -1
  59. package/dist/src/research-subscriptions/prompt.js +195 -244
  60. package/dist/src/research-subscriptions/prompt.js.map +1 -1
  61. package/dist/src/research-subscriptions/types.d.ts +1 -3
  62. package/dist/src/research-subscriptions/types.d.ts.map +1 -1
  63. package/dist/src/templates/bootstrap.d.ts.map +1 -1
  64. package/dist/src/templates/bootstrap.js +32 -19
  65. package/dist/src/templates/bootstrap.js.map +1 -1
  66. package/dist/src/tools/arxiv-download.d.ts +1 -2
  67. package/dist/src/tools/arxiv-download.d.ts.map +1 -1
  68. package/dist/src/tools/arxiv-search.d.ts +1 -2
  69. package/dist/src/tools/arxiv-search.d.ts.map +1 -1
  70. package/dist/src/tools/github-search-tool.d.ts +1 -2
  71. package/dist/src/tools/github-search-tool.d.ts.map +1 -1
  72. package/dist/src/tools/openalex-search.d.ts +1 -2
  73. package/dist/src/tools/openalex-search.d.ts.map +1 -1
  74. package/dist/src/tools/openreview-lookup.d.ts +1 -2
  75. package/dist/src/tools/openreview-lookup.d.ts.map +1 -1
  76. package/dist/src/tools/paper-browser.d.ts +1 -2
  77. package/dist/src/tools/paper-browser.d.ts.map +1 -1
  78. package/dist/src/tools/result.d.ts +3 -5
  79. package/dist/src/tools/result.d.ts.map +1 -1
  80. package/dist/src/tools/result.js +5 -7
  81. package/dist/src/tools/result.js.map +1 -1
  82. package/dist/src/tools/scientify-cron.d.ts +4 -11
  83. package/dist/src/tools/scientify-cron.d.ts.map +1 -1
  84. package/dist/src/tools/scientify-cron.js +19 -524
  85. package/dist/src/tools/scientify-cron.js.map +1 -1
  86. package/dist/src/tools/scientify-literature-state.d.ts +1 -76
  87. package/dist/src/tools/scientify-literature-state.d.ts.map +1 -1
  88. package/dist/src/tools/scientify-literature-state.js +46 -363
  89. package/dist/src/tools/scientify-literature-state.js.map +1 -1
  90. package/dist/src/tools/unpaywall-download.d.ts +1 -2
  91. package/dist/src/tools/unpaywall-download.d.ts.map +1 -1
  92. package/dist/src/types.d.ts +16 -0
  93. package/dist/src/types.d.ts.map +1 -0
  94. package/dist/src/types.js +2 -0
  95. package/dist/src/types.js.map +1 -0
  96. package/openclaw.plugin.json +4 -2
  97. package/package.json +1 -1
  98. package/skills/metabolism/SKILL.md +2 -0
  99. package/skills/research-subscription/SKILL.md +1 -29
  100. package/README.zh.md +0 -494
package/dist/index.d.ts CHANGED
@@ -1,3 +1,9 @@
1
- import type { OpenClawPluginApi } from "openclaw";
2
- export default function register(api: OpenClawPluginApi): void;
1
+ declare const _default: {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ configSchema: import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginConfigSchema;
6
+ register: NonNullable<import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginDefinition["register"]>;
7
+ } & Pick<import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginDefinition, "kind">;
8
+ export default _default;
3
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAuClD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,QA6ItD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;AAyCA,wBAqJG"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
2
3
  import { handleResearchStatus, handlePapers, handleIdeas, handleProjects, handleProjectSwitch, handleProjectDelete, } from "./src/commands.js";
3
4
  import { createResearchSubscribeHandler, createResearchSubscriptionsHandler, createResearchUnsubscribeHandler, } from "./src/research-subscriptions.js";
4
5
  import { createArxivSearchTool } from "./src/tools/arxiv-search.js";
@@ -15,130 +16,138 @@ import { createSkillInjectionHook } from "./src/hooks/inject-skill.js";
15
16
  import { createResearchModeHook } from "./src/hooks/research-mode.js";
16
17
  import { createScientifyCronAutofillHook } from "./src/hooks/scientify-cron-autofill.js";
17
18
  import { createScientifyMessageTrackerHook, createScientifySignaturePromptHook, createScientifyUsageCleanupHook, createScientifyUsageTrackerHook, } from "./src/hooks/scientify-signature.js";
19
+ import { createCronSkillInjectionHook } from "./src/hooks/cron-skill-inject.js";
18
20
  import { registerResearchCli } from "./src/cli/research.js";
19
21
  import { handleMetabolismStatus } from "./src/commands/metabolism-status.js";
20
22
  // Default: check every hour
21
23
  const UPDATE_CHECK_INTERVAL_MS = 60 * 60 * 1000;
22
- export default function register(api) {
23
- // Register tools
24
- api.registerTool(createArxivSearchTool());
25
- api.registerTool(createArxivDownloadTool());
26
- api.registerTool(createGithubSearchTool());
27
- api.registerTool(createPaperBrowserTool());
28
- api.registerTool(createOpenAlexSearchTool());
29
- api.registerTool(createOpenReviewLookupTool());
30
- api.registerTool(createUnpaywallDownloadTool());
31
- api.registerTool(createScientifyCronTool({ runtime: api.runtime, logger: api.logger }));
32
- api.registerTool(createScientifyLiteratureStateTool());
33
- // Register auto-updater service (silent updates)
34
- const pluginConfig = api.pluginConfig;
35
- const autoUpdateEnabled = pluginConfig?.autoUpdate !== false; // enabled by default
36
- if (autoUpdateEnabled) {
37
- api.registerService(createAutoUpdaterService({
38
- packageName: "scientify",
39
- checkIntervalMs: UPDATE_CHECK_INTERVAL_MS,
40
- logger: {
41
- info: (msg) => api.logger.info(msg),
42
- warn: (msg) => api.logger.warn(msg),
43
- debug: (msg) => api.logger.debug?.(msg),
44
- },
45
- }));
46
- }
47
- // Register chat commands (bypass LLM)
48
- api.registerCommand({
49
- name: "research-status",
50
- description: "Show research workspace status (active project, papers, ideas)",
51
- acceptsArgs: false,
52
- requireAuth: false,
53
- handler: handleResearchStatus,
54
- });
55
- api.registerCommand({
56
- name: "papers",
57
- description: "List downloaded papers in active project",
58
- acceptsArgs: true,
59
- requireAuth: false,
60
- handler: handlePapers,
61
- });
62
- api.registerCommand({
63
- name: "ideas",
64
- description: "List generated ideas in active project",
65
- acceptsArgs: true,
66
- requireAuth: false,
67
- handler: handleIdeas,
68
- });
69
- api.registerCommand({
70
- name: "projects",
71
- description: "List all research projects",
72
- acceptsArgs: false,
73
- requireAuth: false,
74
- handler: handleProjects,
75
- });
76
- api.registerCommand({
77
- name: "project-switch",
78
- description: "Switch to a different research project",
79
- acceptsArgs: true,
80
- requireAuth: false,
81
- handler: handleProjectSwitch,
82
- });
83
- api.registerCommand({
84
- name: "project-delete",
85
- description: "Delete a research project (use --force to confirm)",
86
- acceptsArgs: true,
87
- requireAuth: true, // Require auth for destructive operation
88
- handler: handleProjectDelete,
89
- });
90
- api.registerCommand({
91
- name: "research-subscribe",
92
- description: "Create/update a scheduled Scientify job (research digest or reminder). Example: /research-subscribe daily 09:00 Asia/Shanghai",
93
- acceptsArgs: true,
94
- requireAuth: false,
95
- handler: createResearchSubscribeHandler({ runtime: api.runtime, logger: api.logger }),
96
- });
97
- api.registerCommand({
98
- name: "research-subscriptions",
99
- description: "Show your Scientify scheduled jobs",
100
- acceptsArgs: false,
101
- requireAuth: false,
102
- handler: createResearchSubscriptionsHandler({ runtime: api.runtime, logger: api.logger }),
103
- });
104
- api.registerCommand({
105
- name: "research-unsubscribe",
106
- description: "Remove your Scientify scheduled jobs (or pass a specific job id)",
107
- acceptsArgs: true,
108
- requireAuth: false,
109
- handler: createResearchUnsubscribeHandler({ runtime: api.runtime, logger: api.logger }),
110
- });
111
- // Inject SKILL.md content into sessions_spawn tasks.
112
- // Sub-agents run in "minimal" prompt mode and don't see <available_skills>,
113
- // so this hook reads the matching SKILL.md and embeds it in the task body.
114
- // api.source = entry file path (e.g. dist/index.js); findPluginRoot() walks
115
- // up to locate openclaw.plugin.json, which is always at the plugin root.
116
- api.on("before_tool_call", createSkillInjectionHook(path.dirname(api.source)));
117
- // Track whether a session actually used Scientify skills/tools.
118
- // The signature is prompt-driven (model-generated), not post-processed.
119
- api.on("before_tool_call", createScientifyUsageTrackerHook());
120
- // Auto-fill cron delivery target from current conversation origin when omitted.
121
- api.on("before_tool_call", createScientifyCronAutofillHook());
122
- api.on("message_received", createScientifyMessageTrackerHook());
123
- api.on("session_end", createScientifyUsageCleanupHook());
124
- // Inject prompts at agent start so they affect the current turn.
125
- // OpenClaw runs this hook before model execution and merges prependContext.
126
- api.on("before_agent_start", createResearchModeHook(), {
127
- priority: 100, // High priority to inject early
128
- });
129
- api.on("before_agent_start", createScientifySignaturePromptHook(), {
130
- priority: 90,
131
- });
132
- // Register CLI commands: openclaw research init/list/status/delete
133
- registerResearchCli(api);
134
- // Compatibility alias command over unified knowledge_state
135
- api.registerCommand({
136
- name: "metabolism-status",
137
- description: "Compatibility alias: show continuous research engine status",
138
- acceptsArgs: false,
139
- requireAuth: false,
140
- handler: handleMetabolismStatus,
141
- });
142
- api.logger.info("Scientify plugin loaded");
143
- }
24
+ export default definePluginEntry({
25
+ id: "scientify",
26
+ name: "Scientify",
27
+ description: "AI-powered research workflow automation with continuous knowledge metabolism",
28
+ register(api) {
29
+ // Register tools
30
+ api.registerTool(createArxivSearchTool());
31
+ api.registerTool(createArxivDownloadTool());
32
+ api.registerTool(createGithubSearchTool());
33
+ api.registerTool(createPaperBrowserTool());
34
+ api.registerTool(createOpenAlexSearchTool());
35
+ api.registerTool(createOpenReviewLookupTool());
36
+ api.registerTool(createUnpaywallDownloadTool());
37
+ api.registerTool(createScientifyCronTool({ runtime: api.runtime, logger: api.logger }));
38
+ api.registerTool(createScientifyLiteratureStateTool());
39
+ // Register auto-updater service (silent updates)
40
+ const pluginConfig = api.pluginConfig;
41
+ const autoUpdateEnabled = pluginConfig?.autoUpdate !== false; // enabled by default
42
+ if (autoUpdateEnabled) {
43
+ api.registerService(createAutoUpdaterService({
44
+ packageName: "scientify",
45
+ checkIntervalMs: UPDATE_CHECK_INTERVAL_MS,
46
+ logger: {
47
+ info: (msg) => api.logger.info(msg),
48
+ warn: (msg) => api.logger.warn(msg),
49
+ debug: (msg) => api.logger.debug?.(msg),
50
+ },
51
+ }));
52
+ }
53
+ // Register chat commands (bypass LLM)
54
+ api.registerCommand({
55
+ name: "research-status",
56
+ description: "Show research workspace status (active project, papers, ideas)",
57
+ acceptsArgs: false,
58
+ requireAuth: false,
59
+ handler: handleResearchStatus,
60
+ });
61
+ api.registerCommand({
62
+ name: "papers",
63
+ description: "List downloaded papers in active project",
64
+ acceptsArgs: true,
65
+ requireAuth: false,
66
+ handler: handlePapers,
67
+ });
68
+ api.registerCommand({
69
+ name: "ideas",
70
+ description: "List generated ideas in active project",
71
+ acceptsArgs: true,
72
+ requireAuth: false,
73
+ handler: handleIdeas,
74
+ });
75
+ api.registerCommand({
76
+ name: "projects",
77
+ description: "List all research projects",
78
+ acceptsArgs: false,
79
+ requireAuth: false,
80
+ handler: handleProjects,
81
+ });
82
+ api.registerCommand({
83
+ name: "project-switch",
84
+ description: "Switch to a different research project",
85
+ acceptsArgs: true,
86
+ requireAuth: false,
87
+ handler: handleProjectSwitch,
88
+ });
89
+ api.registerCommand({
90
+ name: "project-delete",
91
+ description: "Delete a research project (use --force to confirm)",
92
+ acceptsArgs: true,
93
+ requireAuth: true, // Require auth for destructive operation
94
+ handler: handleProjectDelete,
95
+ });
96
+ api.registerCommand({
97
+ name: "research-subscribe",
98
+ description: "Create/update a scheduled Scientify job (research digest or reminder). Example: /research-subscribe daily 09:00 Asia/Shanghai",
99
+ acceptsArgs: true,
100
+ requireAuth: false,
101
+ handler: createResearchSubscribeHandler({ runtime: api.runtime, logger: api.logger }),
102
+ });
103
+ api.registerCommand({
104
+ name: "research-subscriptions",
105
+ description: "Show your Scientify scheduled jobs",
106
+ acceptsArgs: false,
107
+ requireAuth: false,
108
+ handler: createResearchSubscriptionsHandler({ runtime: api.runtime, logger: api.logger }),
109
+ });
110
+ api.registerCommand({
111
+ name: "research-unsubscribe",
112
+ description: "Remove your Scientify scheduled jobs (or pass a specific job id)",
113
+ acceptsArgs: true,
114
+ requireAuth: false,
115
+ handler: createResearchUnsubscribeHandler({ runtime: api.runtime, logger: api.logger }),
116
+ });
117
+ // Inject SKILL.md content into sessions_spawn tasks.
118
+ // Sub-agents run in "minimal" prompt mode and don't see <available_skills>,
119
+ // so this hook reads the matching SKILL.md and embeds it in the task body.
120
+ // api.source = entry file path (e.g. dist/index.js); findPluginRoot() walks
121
+ // up to locate openclaw.plugin.json, which is always at the plugin root.
122
+ api.on("before_tool_call", createSkillInjectionHook(path.dirname(api.source)));
123
+ // Track whether a session actually used Scientify skills/tools.
124
+ // The signature is prompt-driven (model-generated), not post-processed.
125
+ api.on("before_tool_call", createScientifyUsageTrackerHook());
126
+ // Auto-fill cron delivery target from current conversation origin when omitted.
127
+ api.on("before_tool_call", createScientifyCronAutofillHook());
128
+ api.on("message_received", createScientifyMessageTrackerHook());
129
+ api.on("session_end", createScientifyUsageCleanupHook());
130
+ // Inject prompts at agent start so they affect the current turn.
131
+ // OpenClaw runs this hook before model execution and merges prependContext.
132
+ api.on("before_agent_start", createResearchModeHook(), {
133
+ priority: 100, // High priority to inject early
134
+ });
135
+ api.on("before_agent_start", createScientifySignaturePromptHook(), {
136
+ priority: 90,
137
+ });
138
+ // Inject SKILL.md into cron session messages (for metabolism heartbeat).
139
+ api.on("before_agent_start", createCronSkillInjectionHook());
140
+ // Register CLI commands: openclaw research init/list/status/delete
141
+ registerResearchCli(api);
142
+ // Register metabolism chat commands
143
+ api.registerCommand({
144
+ name: "metabolism-status",
145
+ description: "Show knowledge metabolism status (day, topics, hypotheses)",
146
+ acceptsArgs: false,
147
+ requireAuth: false,
148
+ handler: handleMetabolismStatus,
149
+ });
150
+ api.logger.info("Scientify plugin loaded");
151
+ },
152
+ });
144
153
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,5 @@
1
1
  /**
2
2
  * Register the `openclaw research` CLI command.
3
- * Compatibility alias over unified project/cron architecture.
4
3
  */
5
- export declare function registerResearchCli(api: {
6
- registerCli: (registrar: unknown, opts?: {
7
- commands?: string[];
8
- }) => void;
9
- }): void;
4
+ export declare function registerResearchCli(api: Pick<import("../types.js").OpenClawPluginApi, "registerCli" | "source">): void;
10
5
  //# sourceMappingURL=research.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../../src/cli/research.ts"],"names":[],"mappings":"AA6KA;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE;IAAE,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;CAAE,QA4CnF"}
1
+ {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../../src/cli/research.ts"],"names":[],"mappings":"AAiSA;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,IAAI,CAAC,OAAO,aAAa,EAAE,iBAAiB,EAAE,aAAa,GAAG,QAAQ,CAAC,QA4D7E"}