scientify 2.1.0 → 3.0.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 (138) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +1 -76
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/cli/research.d.ts.map +1 -1
  5. package/dist/src/cli/research.js +6 -23
  6. package/dist/src/cli/research.js.map +1 -1
  7. package/dist/src/commands/metabolism-status.d.ts.map +1 -1
  8. package/dist/src/commands/metabolism-status.js +5 -25
  9. package/dist/src/commands/metabolism-status.js.map +1 -1
  10. package/dist/src/commands.d.ts +8 -8
  11. package/dist/src/commands.d.ts.map +1 -1
  12. package/dist/src/commands.js +91 -262
  13. package/dist/src/commands.js.map +1 -1
  14. package/dist/src/templates/bootstrap.d.ts.map +1 -1
  15. package/dist/src/templates/bootstrap.js +45 -59
  16. package/dist/src/templates/bootstrap.js.map +1 -1
  17. package/dist/src/types.d.ts +2 -10
  18. package/dist/src/types.d.ts.map +1 -1
  19. package/openclaw.plugin.json +3 -16
  20. package/package.json +2 -3
  21. package/skills/idea-generation/SKILL.md +20 -44
  22. package/skills/idea-generation/references/code-mapping.md +3 -3
  23. package/skills/idea-generation/references/idea-template.md +1 -1
  24. package/skills/idea-generation/references/reading-long-papers.md +3 -3
  25. package/skills/metabolism/SKILL.md +80 -36
  26. package/skills/paper-download/SKILL.md +61 -0
  27. package/skills/research-collect/SKILL.md +41 -111
  28. package/skills/research-experiment/SKILL.md +11 -12
  29. package/skills/research-implement/SKILL.md +10 -11
  30. package/skills/research-pipeline/SKILL.md +23 -31
  31. package/skills/research-plan/SKILL.md +7 -11
  32. package/skills/research-review/SKILL.md +21 -22
  33. package/skills/research-survey/SKILL.md +11 -25
  34. package/skills/write-review-paper/SKILL.md +12 -12
  35. package/skills/write-review-paper/references/note-template.md +1 -1
  36. package/skills/write-review-paper/references/survey-template.md +1 -1
  37. package/dist/src/hooks/research-mode.d.ts +0 -22
  38. package/dist/src/hooks/research-mode.d.ts.map +0 -1
  39. package/dist/src/hooks/research-mode.js +0 -35
  40. package/dist/src/hooks/research-mode.js.map +0 -1
  41. package/dist/src/hooks/scientify-cron-autofill.d.ts +0 -15
  42. package/dist/src/hooks/scientify-cron-autofill.d.ts.map +0 -1
  43. package/dist/src/hooks/scientify-cron-autofill.js +0 -156
  44. package/dist/src/hooks/scientify-cron-autofill.js.map +0 -1
  45. package/dist/src/hooks/scientify-signature.d.ts +0 -21
  46. package/dist/src/hooks/scientify-signature.d.ts.map +0 -1
  47. package/dist/src/hooks/scientify-signature.js +0 -150
  48. package/dist/src/hooks/scientify-signature.js.map +0 -1
  49. package/dist/src/knowledge-state/project.d.ts +0 -13
  50. package/dist/src/knowledge-state/project.d.ts.map +0 -1
  51. package/dist/src/knowledge-state/project.js +0 -88
  52. package/dist/src/knowledge-state/project.js.map +0 -1
  53. package/dist/src/knowledge-state/render.d.ts +0 -63
  54. package/dist/src/knowledge-state/render.d.ts.map +0 -1
  55. package/dist/src/knowledge-state/render.js +0 -368
  56. package/dist/src/knowledge-state/render.js.map +0 -1
  57. package/dist/src/knowledge-state/store.d.ts +0 -19
  58. package/dist/src/knowledge-state/store.d.ts.map +0 -1
  59. package/dist/src/knowledge-state/store.js +0 -978
  60. package/dist/src/knowledge-state/store.js.map +0 -1
  61. package/dist/src/knowledge-state/types.d.ts +0 -182
  62. package/dist/src/knowledge-state/types.d.ts.map +0 -1
  63. package/dist/src/knowledge-state/types.js +0 -2
  64. package/dist/src/knowledge-state/types.js.map +0 -1
  65. package/dist/src/literature/subscription-state.d.ts +0 -112
  66. package/dist/src/literature/subscription-state.d.ts.map +0 -1
  67. package/dist/src/literature/subscription-state.js +0 -696
  68. package/dist/src/literature/subscription-state.js.map +0 -1
  69. package/dist/src/research-subscriptions/constants.d.ts +0 -16
  70. package/dist/src/research-subscriptions/constants.d.ts.map +0 -1
  71. package/dist/src/research-subscriptions/constants.js +0 -59
  72. package/dist/src/research-subscriptions/constants.js.map +0 -1
  73. package/dist/src/research-subscriptions/cron-client.d.ts +0 -8
  74. package/dist/src/research-subscriptions/cron-client.d.ts.map +0 -1
  75. package/dist/src/research-subscriptions/cron-client.js +0 -81
  76. package/dist/src/research-subscriptions/cron-client.js.map +0 -1
  77. package/dist/src/research-subscriptions/delivery.d.ts +0 -10
  78. package/dist/src/research-subscriptions/delivery.d.ts.map +0 -1
  79. package/dist/src/research-subscriptions/delivery.js +0 -82
  80. package/dist/src/research-subscriptions/delivery.js.map +0 -1
  81. package/dist/src/research-subscriptions/handlers.d.ts +0 -6
  82. package/dist/src/research-subscriptions/handlers.d.ts.map +0 -1
  83. package/dist/src/research-subscriptions/handlers.js +0 -204
  84. package/dist/src/research-subscriptions/handlers.js.map +0 -1
  85. package/dist/src/research-subscriptions/parse.d.ts +0 -11
  86. package/dist/src/research-subscriptions/parse.d.ts.map +0 -1
  87. package/dist/src/research-subscriptions/parse.js +0 -492
  88. package/dist/src/research-subscriptions/parse.js.map +0 -1
  89. package/dist/src/research-subscriptions/prompt.d.ts +0 -5
  90. package/dist/src/research-subscriptions/prompt.d.ts.map +0 -1
  91. package/dist/src/research-subscriptions/prompt.js +0 -347
  92. package/dist/src/research-subscriptions/prompt.js.map +0 -1
  93. package/dist/src/research-subscriptions/types.d.ts +0 -66
  94. package/dist/src/research-subscriptions/types.d.ts.map +0 -1
  95. package/dist/src/research-subscriptions/types.js +0 -2
  96. package/dist/src/research-subscriptions/types.js.map +0 -1
  97. package/dist/src/research-subscriptions.d.ts +0 -2
  98. package/dist/src/research-subscriptions.d.ts.map +0 -1
  99. package/dist/src/research-subscriptions.js +0 -2
  100. package/dist/src/research-subscriptions.js.map +0 -1
  101. package/dist/src/services/auto-updater.d.ts +0 -15
  102. package/dist/src/services/auto-updater.d.ts.map +0 -1
  103. package/dist/src/services/auto-updater.js +0 -188
  104. package/dist/src/services/auto-updater.js.map +0 -1
  105. package/dist/src/tools/arxiv-download.d.ts +0 -24
  106. package/dist/src/tools/arxiv-download.d.ts.map +0 -1
  107. package/dist/src/tools/arxiv-download.js +0 -177
  108. package/dist/src/tools/arxiv-download.js.map +0 -1
  109. package/dist/src/tools/github-search-tool.d.ts +0 -25
  110. package/dist/src/tools/github-search-tool.d.ts.map +0 -1
  111. package/dist/src/tools/github-search-tool.js +0 -114
  112. package/dist/src/tools/github-search-tool.js.map +0 -1
  113. package/dist/src/tools/openreview-lookup.d.ts +0 -31
  114. package/dist/src/tools/openreview-lookup.d.ts.map +0 -1
  115. package/dist/src/tools/openreview-lookup.js +0 -414
  116. package/dist/src/tools/openreview-lookup.js.map +0 -1
  117. package/dist/src/tools/paper-browser.d.ts +0 -23
  118. package/dist/src/tools/paper-browser.d.ts.map +0 -1
  119. package/dist/src/tools/paper-browser.js +0 -121
  120. package/dist/src/tools/paper-browser.js.map +0 -1
  121. package/dist/src/tools/scientify-cron.d.ts +0 -63
  122. package/dist/src/tools/scientify-cron.d.ts.map +0 -1
  123. package/dist/src/tools/scientify-cron.js +0 -265
  124. package/dist/src/tools/scientify-cron.js.map +0 -1
  125. package/dist/src/tools/scientify-literature-state.d.ts +0 -303
  126. package/dist/src/tools/scientify-literature-state.d.ts.map +0 -1
  127. package/dist/src/tools/scientify-literature-state.js +0 -957
  128. package/dist/src/tools/scientify-literature-state.js.map +0 -1
  129. package/dist/src/tools/unpaywall-download.d.ts +0 -21
  130. package/dist/src/tools/unpaywall-download.d.ts.map +0 -1
  131. package/dist/src/tools/unpaywall-download.js +0 -169
  132. package/dist/src/tools/unpaywall-download.js.map +0 -1
  133. package/dist/src/tools/workspace.d.ts +0 -32
  134. package/dist/src/tools/workspace.d.ts.map +0 -1
  135. package/dist/src/tools/workspace.js +0 -69
  136. package/dist/src/tools/workspace.js.map +0 -1
  137. package/skills/metabolism-init/SKILL.md +0 -80
  138. package/skills/research-subscription/SKILL.md +0 -119
@@ -1 +0,0 @@
1
- {"version":3,"file":"scientify-literature-state.js","sourceRoot":"","sources":["../../../src/tools/scientify-literature-state.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- export declare const UnpaywallDownloadToolSchema: import("@sinclair/typebox").TObject<{
2
- dois: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
3
- output_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
- }>;
5
- export declare function createUnpaywallDownloadTool(): {
6
- label: string;
7
- name: string;
8
- description: string;
9
- parameters: import("@sinclair/typebox").TObject<{
10
- dois: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
11
- output_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
- }>;
13
- execute: (_toolCallId: string, rawArgs: unknown) => Promise<{
14
- content: {
15
- type: "text";
16
- text: string;
17
- }[];
18
- details: unknown;
19
- }>;
20
- };
21
- //# sourceMappingURL=unpaywall-download.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unpaywall-download.d.ts","sourceRoot":"","sources":["../../../src/tools/unpaywall-download.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,2BAA2B;;;EAStC,CAAC;AAqDH,wBAAgB,2BAA2B;;;;;;;;2BAOV,MAAM,WAAW,OAAO;;;;;;;EAgIxD"}
@@ -1,169 +0,0 @@
1
- import { Type } from "@sinclair/typebox";
2
- import { writeFileSync, mkdirSync, existsSync } from "node:fs";
3
- import { join, resolve } from "node:path";
4
- import { Result } from "./result.js";
5
- const UNPAYWALL_API = "https://api.unpaywall.org/v2";
6
- const USER_EMAIL = "research@openclaw.ai"; // Required by Unpaywall
7
- export const UnpaywallDownloadToolSchema = Type.Object({
8
- dois: Type.Array(Type.String(), {
9
- description: "List of DOIs to download (e.g., ['10.1038/s41586-021-03819-2']). Maximum 20 DOIs per request.",
10
- minItems: 1,
11
- maxItems: 20,
12
- }),
13
- output_dir: Type.Optional(Type.String({
14
- description: "Output directory where PDFs will be saved. Defaults to 'papers/' relative to cwd. Can be relative or absolute.",
15
- })),
16
- });
17
- function readStringParam(params, key, opts) {
18
- const value = params[key];
19
- if (value === undefined || value === null) {
20
- if (opts?.required) {
21
- throw new Error(`Missing required parameter: ${key}`);
22
- }
23
- return undefined;
24
- }
25
- return String(value);
26
- }
27
- async function downloadPDF(url, outputPath) {
28
- try {
29
- const response = await fetch(url, {
30
- headers: {
31
- "User-Agent": "scientify-research-agent/1.0 (mailto:research@openclaw.ai)",
32
- },
33
- redirect: "follow",
34
- });
35
- if (!response.ok) {
36
- return false;
37
- }
38
- const contentType = response.headers.get("content-type") || "";
39
- if (!contentType.includes("pdf") && !contentType.includes("octet-stream")) {
40
- // Not a PDF, might be HTML landing page
41
- return false;
42
- }
43
- const buffer = await response.arrayBuffer();
44
- writeFileSync(outputPath, Buffer.from(buffer));
45
- return true;
46
- }
47
- catch {
48
- return false;
49
- }
50
- }
51
- export function createUnpaywallDownloadTool() {
52
- return {
53
- label: "Unpaywall Download",
54
- name: "unpaywall_download",
55
- description: "Download open access PDFs using Unpaywall API. Provide DOIs and output directory. Non-OA papers will be skipped with error captured (no failure). Returns list of successfully downloaded papers.",
56
- parameters: UnpaywallDownloadToolSchema,
57
- execute: async (_toolCallId, rawArgs) => {
58
- const params = rawArgs;
59
- const doisRaw = params.dois;
60
- if (!Array.isArray(doisRaw) || doisRaw.length === 0) {
61
- return Result.err("invalid_input", "dois must be a non-empty array");
62
- }
63
- const dois = doisRaw.map((d) => String(d).trim()).filter((d) => d.length > 0);
64
- const outputDir = readStringParam(params, "output_dir") ?? "papers";
65
- const resolvedOutputDir = resolve(outputDir);
66
- // Create output directory if it doesn't exist
67
- try {
68
- if (!existsSync(resolvedOutputDir)) {
69
- mkdirSync(resolvedOutputDir, { recursive: true });
70
- }
71
- }
72
- catch (error) {
73
- return Result.err("filesystem_error", `Failed to create output directory: ${error instanceof Error ? error.message : String(error)}`);
74
- }
75
- const results = [];
76
- let successCount = 0;
77
- let notOACount = 0;
78
- let failedCount = 0;
79
- // Process each DOI
80
- for (const doi of dois) {
81
- try {
82
- // Query Unpaywall API
83
- const apiUrl = `${UNPAYWALL_API}/${encodeURIComponent(doi)}?email=${USER_EMAIL}`;
84
- const response = await fetch(apiUrl, {
85
- headers: {
86
- "User-Agent": "scientify-research-agent/1.0 (mailto:research@openclaw.ai)",
87
- },
88
- });
89
- if (!response.ok) {
90
- results.push({
91
- doi,
92
- status: "api_error",
93
- message: `API error: ${response.status} ${response.statusText}`,
94
- });
95
- failedCount++;
96
- continue;
97
- }
98
- const data = (await response.json());
99
- // Check if OA available
100
- if (!data.is_oa || !data.best_oa_location) {
101
- results.push({
102
- doi,
103
- status: "not_oa",
104
- message: "Paper is not open access",
105
- title: data.title,
106
- });
107
- notOACount++;
108
- continue;
109
- }
110
- // Get PDF URL
111
- const pdfUrl = data.best_oa_location.url_for_pdf || data.best_oa_location.url;
112
- if (!pdfUrl) {
113
- results.push({
114
- doi,
115
- status: "no_pdf_url",
116
- message: "No PDF URL available",
117
- title: data.title,
118
- });
119
- failedCount++;
120
- continue;
121
- }
122
- // Download PDF
123
- const sanitizedDoi = doi.replace(/[\/\\:]/g, "_");
124
- const filename = `${sanitizedDoi}.pdf`;
125
- const outputPath = join(resolvedOutputDir, filename);
126
- const downloaded = await downloadPDF(pdfUrl, outputPath);
127
- if (downloaded) {
128
- results.push({
129
- doi,
130
- status: "success",
131
- message: "Downloaded successfully",
132
- file_path: outputPath,
133
- title: data.title,
134
- });
135
- successCount++;
136
- }
137
- else {
138
- results.push({
139
- doi,
140
- status: "download_failed",
141
- message: "Failed to download PDF (might be HTML landing page or access denied)",
142
- title: data.title,
143
- });
144
- failedCount++;
145
- }
146
- }
147
- catch (error) {
148
- results.push({
149
- doi,
150
- status: "api_error",
151
- message: `Unexpected error: ${error instanceof Error ? error.message : String(error)}`,
152
- });
153
- failedCount++;
154
- }
155
- // Rate limiting: sleep 100ms between requests
156
- await new Promise((resolve) => setTimeout(resolve, 100));
157
- }
158
- return Result.ok({
159
- total: dois.length,
160
- success: successCount,
161
- not_oa: notOACount,
162
- failed: failedCount,
163
- output_dir: resolvedOutputDir,
164
- results,
165
- });
166
- },
167
- };
168
- }
169
- //# sourceMappingURL=unpaywall-download.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unpaywall-download.js","sourceRoot":"","sources":["../../../src/tools/unpaywall-download.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- export declare class NoActiveProjectError extends Error {
2
- constructor();
3
- }
4
- /**
5
- * Get the active project ID.
6
- * @throws NoActiveProjectError if no project is active
7
- */
8
- export declare function getActiveProject(): string;
9
- /**
10
- * Get the active project's root directory.
11
- * @throws NoActiveProjectError if no project is active
12
- */
13
- export declare function getActiveProjectDir(): string;
14
- /**
15
- * Get a subdirectory of the active project.
16
- * @param subdir - Subdirectory name (e.g., "papers", "survey", "ideas")
17
- * @throws NoActiveProjectError if no project is active
18
- */
19
- export declare function getProjectSubdir(subdir: string): string;
20
- /**
21
- * Check if there's an active project without throwing.
22
- */
23
- export declare function hasActiveProject(): boolean;
24
- export declare const Workspace: {
25
- root: string;
26
- getActiveProject: typeof getActiveProject;
27
- getActiveProjectDir: typeof getActiveProjectDir;
28
- getProjectSubdir: typeof getProjectSubdir;
29
- hasActiveProject: typeof hasActiveProject;
30
- NoActiveProjectError: typeof NoActiveProjectError;
31
- };
32
- //# sourceMappingURL=workspace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/tools/workspace.ts"],"names":[],"mappings":"AASA,qBAAa,oBAAqB,SAAQ,KAAK;;CAU9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAWzC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C;AAED,eAAO,MAAM,SAAS;;;;;;;CAOrB,CAAC"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Workspace utilities for tools that need to access project directories.
3
- */
4
- import * as fs from "node:fs";
5
- import * as path from "node:path";
6
- import * as os from "node:os";
7
- const WORKSPACE_ROOT = path.join(os.homedir(), ".openclaw", "workspace", "projects");
8
- export class NoActiveProjectError extends Error {
9
- constructor() {
10
- super("No active project set. Please create a project first:\n" +
11
- "1. mkdir -p ~/.openclaw/workspace/projects/{project-id}/{survey,papers,ideas,repos}\n" +
12
- "2. echo '{project-id}' > ~/.openclaw/workspace/projects/.active\n" +
13
- "Or specify output_dir explicitly.");
14
- this.name = "NoActiveProjectError";
15
- }
16
- }
17
- /**
18
- * Get the active project ID.
19
- * @throws NoActiveProjectError if no project is active
20
- */
21
- export function getActiveProject() {
22
- const activePath = path.join(WORKSPACE_ROOT, ".active");
23
- try {
24
- const activeProject = fs.readFileSync(activePath, "utf-8").trim();
25
- if (activeProject) {
26
- return activeProject;
27
- }
28
- }
29
- catch {
30
- // File doesn't exist
31
- }
32
- throw new NoActiveProjectError();
33
- }
34
- /**
35
- * Get the active project's root directory.
36
- * @throws NoActiveProjectError if no project is active
37
- */
38
- export function getActiveProjectDir() {
39
- return path.join(WORKSPACE_ROOT, getActiveProject());
40
- }
41
- /**
42
- * Get a subdirectory of the active project.
43
- * @param subdir - Subdirectory name (e.g., "papers", "survey", "ideas")
44
- * @throws NoActiveProjectError if no project is active
45
- */
46
- export function getProjectSubdir(subdir) {
47
- return path.join(getActiveProjectDir(), subdir);
48
- }
49
- /**
50
- * Check if there's an active project without throwing.
51
- */
52
- export function hasActiveProject() {
53
- try {
54
- getActiveProject();
55
- return true;
56
- }
57
- catch {
58
- return false;
59
- }
60
- }
61
- export const Workspace = {
62
- root: WORKSPACE_ROOT,
63
- getActiveProject,
64
- getActiveProjectDir,
65
- getProjectSubdir,
66
- hasActiveProject,
67
- NoActiveProjectError,
68
- };
69
- //# sourceMappingURL=workspace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/tools/workspace.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAErF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C;QACE,KAAK,CACH,yDAAyD;YACzD,uFAAuF;YACvF,mEAAmE;YACnE,mCAAmC,CACpC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,MAAM,IAAI,oBAAoB,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,cAAc;IACpB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;CACrB,CAAC"}
@@ -1,80 +0,0 @@
1
- ---
2
- name: metabolism-init
3
- description: "Initialize knowledge metabolism for a research topic: broad literature survey, build baseline knowledge state, set up metabolism workspace"
4
- user-invokable: true
5
- ---
6
-
7
- # Metabolism Initialization — Day 0 Baseline Building
8
-
9
- 你正在为一个研究方向执行知识新陈代谢的初始化。这是 Day 0:构建领域基线知识。
10
-
11
- ## 准备
12
-
13
- 1. 检查 `metabolism/config.json` 是否存在
14
- - 如果不存在:询问用户研究方向,创建 `metabolism/config.json`(包含 `keywords`, `categories`, `currentDay: 0`, `processed_ids: []`)
15
- - 如果已存在且 `currentDay > 0`:提示用户已完成初始化,无需重复执行
16
- 2. 创建目录结构(如不存在):
17
- ```
18
- metabolism/
19
- knowledge/
20
- hypotheses/
21
- experiments/
22
- conversations/
23
- log/
24
- ```
25
-
26
- ## Step 1: 宽泛调研
27
-
28
- 委托 /research-collect 执行宽泛调研(不限日期),构建初始知识:
29
-
30
- ```
31
- sessions_spawn({
32
- task: "/research-collect\n研究主题: {从 config.json 的 keywords 提取}\n这是 Day 0 基线构建,请做宽泛调研(不限日期),覆盖领域经典工作和近期进展。\n预期产出: papers/_meta/*.json + papers/_downloads/",
33
- label: "Day 0 Baseline Survey",
34
- runTimeoutSeconds: 1800
35
- })
36
- ```
37
-
38
- spawned session 共享工作目录,无需传路径。等待完成后,读取 `papers/_meta/*.json` 获取论文列表。
39
-
40
- ## Step 2: 阅读与知识提取
41
-
42
- 对每篇论文:
43
- - 读 .tex 源码(优先)或 PDF
44
- - 提取:核心方法、关键结论、领域现状
45
-
46
- 将每篇论文的 arXiv ID / DOI 追加到 `metabolism/config.json` 的 `processed_ids`。
47
-
48
- ## Step 3: 构建初始知识状态
49
-
50
- 创建 `metabolism/knowledge/_index.md`:
51
- - Research Goal(从 config.json 提取)
52
- - Topics 表格(按论文主题聚类)
53
- - Cross-topic Links(如有)
54
- - Timeline(记录 Day 0)
55
-
56
- 为每个识别出的主题创建 `metabolism/knowledge/topic-{name}.md`:
57
- - 已知方法
58
- - 关键论文与结论
59
- - 开放问题
60
-
61
- ## Step 4: 记录日志
62
-
63
- 写入 `metabolism/log/{YYYY-MM-DD}-init.md`:
64
-
65
- ```markdown
66
- # Day 0 — Initialization
67
-
68
- 日期: {YYYY-MM-DD}
69
- 论文: {N} 篇
70
- 主题: {列出识别的主题}
71
- 状态: 基线构建完成
72
- ```
73
-
74
- 更新 `metabolism/config.json`:`currentDay` 设为 1。
75
-
76
- ## 行为约束
77
-
78
- 1. 不捏造论文中未出现的事实性声明
79
- 2. 自主运行,不向人类提问(除初始配置外)
80
- 3. 修改知识文件前必须先读取当前内容(如存在)
@@ -1,119 +0,0 @@
1
- ---
2
- name: research-subscription
3
- description: "Use when the user asks for scheduled or recurring tasks: literature digests, delayed push notifications, or plain reminders."
4
- metadata:
5
- {
6
- "openclaw":
7
- {
8
- "emoji": "⏰",
9
- },
10
- }
11
- ---
12
-
13
- # Research Subscription (Scheduled Push)
14
-
15
- ## When to use
16
-
17
- Use this skill when the user asks for:
18
-
19
- - Scheduled literature updates
20
- - A delayed report (for example, tomorrow morning)
21
- - Recurring tracking and push delivery
22
- - A normal reminder (for example, "remind me in 5 minutes to sleep")
23
-
24
- ## Core rule
25
-
26
- Do not stop at explanation.
27
- Create a real cron job via `scientify_cron_job`.
28
-
29
- ## Tool to call
30
-
31
- `scientify_cron_job`
32
-
33
- - `action: "upsert"`: create or update a schedule
34
- - `action: "list"`: show current schedules
35
- - `action: "remove"`: cancel schedules
36
-
37
- Routing rules:
38
-
39
- - Research digest / paper tracking request: pass `topic`, leave `message` unset.
40
- - Plain reminder request: pass `message`, do not set `topic`.
41
- - If request mentions literature/papers/research updates, do not downgrade it to a plain reminder even when sentence contains "remind".
42
- - If request is ambiguous, ask one concise clarification question before tool call.
43
- - For recurring research subscriptions, prefer setting lightweight preferences:
44
- - `max_papers` (default 5)
45
- - `recency_days` (optional)
46
- - `sources` (optional, e.g. `["arxiv","openalex"]`)
47
- - `candidate_pool` (optional, default around 10)
48
- - `score_weights` (optional object with `relevance`/`novelty`/`authority`/`actionability`)
49
- - `project` (optional, pins persistence to a project id; otherwise uses active project or auto-generated project id)
50
-
51
- ## Scheduling format
52
-
53
- For `action: "upsert"`, set `schedule` to one of:
54
-
55
- - `daily 08:00 Asia/Shanghai`
56
- - `weekly mon 09:30 Asia/Shanghai`
57
- - `every 6h`
58
- - `at 2m`
59
- - `at 2026-03-04T08:00:00+08:00`
60
- - `cron 0 9 * * * Asia/Shanghai`
61
-
62
- ## Delivery fields
63
-
64
- - Optional `channel`: `feishu`, `telegram`, `slack`, `discord`, `last`, and others
65
- - Optional aliases: `webui`, `tui` (both map to `last`)
66
- - Optional `to`: channel-specific user or chat id (required only for concrete channels like `feishu`/`telegram`, not for `last`/`webui`/`tui`)
67
- - Optional `no_deliver: true`: run in background without push
68
-
69
- If the user does not specify destination, leave `channel` and `to` unset to use default routing.
70
-
71
- ## Topic field
72
-
73
- If the user gives a clear topic, pass it as `topic` (for example, `"LLM alignment"`).
74
- This focuses scheduled research content on that topic.
75
- Recurring research jobs automatically use `scientify_literature_state` at runtime
76
- to prepare dedupe context and record pushed paper IDs + structured `knowledge_state` artifacts for traceability.
77
- For selected core papers, prefer full-text reading first:
78
- - Download into a temporary local directory (for example `/tmp/scientify-fulltext/<run-id>`).
79
- - Extract structured fields per paper in `knowledge_state.core_papers`:
80
- - `domain`, `subdomains`, `cross_domain_links`
81
- - `research_goal`, `approach`, `methodology_design`
82
- - `key_contributions`, `practical_insights`, `must_understand_points`, `limitations`
83
- - `evidence_anchors` (section/locator/claim/quote when possible)
84
- - If full text is unavailable, set `full_text_read=false` with explicit `unread_reason`.
85
- - After persisting `record`, clean temporary files and report cleanup via `run_log.temp_cleanup_status`.
86
- - Quality guardrails for research runs:
87
- - core full-text coverage >= 80%
88
- - evidence-binding rate >= 90% (key conclusions should be backed by section+locator+quote)
89
- - citation error rate < 2%
90
- - if full text is missing, do not keep high-confidence conclusions
91
- If an incremental pass returns no unseen papers, run one fallback representative pass before returning empty.
92
- If user gives explicit preference feedback during follow-up (read/skip/star style intent, source preference, direction preference),
93
- persist it via `scientify_literature_state` action=`feedback` (backend-only memory, not user-facing by default).
94
- If the user asks "which papers did you push just now?", call `scientify_literature_state` action=`status` first and answer from `recent_papers` + `knowledge_state_summary` (do not claim you must re-search unless status is empty).
95
-
96
- ## Message field (plain reminder)
97
-
98
- For non-research reminders, pass `message` with the exact reminder content.
99
-
100
- - Example: `message: "Today at noon, remember to drink coffee."`
101
- - Do not set `topic` for plain reminders.
102
-
103
- ## Response requirements
104
-
105
- After tool success, reply with:
106
-
107
- 1. Job created or updated
108
- 2. Effective schedule (with timezone)
109
- 3. Delivery target
110
- 4. Next command for inspect or cancel
111
-
112
- For plain reminders, you may add one optional follow-up line:
113
- - "If you want, I can also set recurring literature tracking with Scientify on a topic."
114
-
115
- The final response must end with this exact footer:
116
- ---
117
- 🐍Scientify
118
-
119
- If the schedule is ambiguous, ask one concise clarification question before calling the tool.