workerclaw 0.2.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.
- package/LICENSE +21 -0
- package/README.md +129 -0
- package/dist/active-behavior/behavior-scheduler.d.ts +119 -0
- package/dist/active-behavior/behavior-scheduler.d.ts.map +1 -0
- package/dist/active-behavior/behavior-scheduler.js +297 -0
- package/dist/active-behavior/behavior-scheduler.js.map +1 -0
- package/dist/active-behavior/frequency-control.d.ts +72 -0
- package/dist/active-behavior/frequency-control.d.ts.map +1 -0
- package/dist/active-behavior/frequency-control.js +206 -0
- package/dist/active-behavior/frequency-control.js.map +1 -0
- package/dist/active-behavior/index.d.ts +8 -0
- package/dist/active-behavior/index.d.ts.map +1 -0
- package/dist/active-behavior/index.js +6 -0
- package/dist/active-behavior/index.js.map +1 -0
- package/dist/agent/agent-engine.d.ts +122 -0
- package/dist/agent/agent-engine.d.ts.map +1 -0
- package/dist/agent/agent-engine.js +380 -0
- package/dist/agent/agent-engine.js.map +1 -0
- package/dist/agent/context-window.d.ts +69 -0
- package/dist/agent/context-window.d.ts.map +1 -0
- package/dist/agent/context-window.js +210 -0
- package/dist/agent/context-window.js.map +1 -0
- package/dist/agent/llm-client.d.ts +37 -0
- package/dist/agent/llm-client.d.ts.map +1 -0
- package/dist/agent/llm-client.js +155 -0
- package/dist/agent/llm-client.js.map +1 -0
- package/dist/agent/personality.d.ts +71 -0
- package/dist/agent/personality.d.ts.map +1 -0
- package/dist/agent/personality.js +147 -0
- package/dist/agent/personality.js.map +1 -0
- package/dist/agent/session-manager.d.ts +111 -0
- package/dist/agent/session-manager.d.ts.map +1 -0
- package/dist/agent/session-manager.js +205 -0
- package/dist/agent/session-manager.js.map +1 -0
- package/dist/agent/tool-executor.d.ts +34 -0
- package/dist/agent/tool-executor.d.ts.map +1 -0
- package/dist/agent/tool-executor.js +145 -0
- package/dist/agent/tool-executor.js.map +1 -0
- package/dist/agent/tool-registry.d.ts +67 -0
- package/dist/agent/tool-registry.d.ts.map +1 -0
- package/dist/agent/tool-registry.js +272 -0
- package/dist/agent/tool-registry.js.map +1 -0
- package/dist/cli/configure.d.ts +16 -0
- package/dist/cli/configure.d.ts.map +1 -0
- package/dist/cli/configure.js +212 -0
- package/dist/cli/configure.js.map +1 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +256 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/prompter.d.ts +59 -0
- package/dist/cli/prompter.d.ts.map +1 -0
- package/dist/cli/prompter.js +120 -0
- package/dist/cli/prompter.js.map +1 -0
- package/dist/cli/sections/index.d.ts +9 -0
- package/dist/cli/sections/index.d.ts.map +1 -0
- package/dist/cli/sections/index.js +9 -0
- package/dist/cli/sections/index.js.map +1 -0
- package/dist/cli/sections/llm.d.ts +14 -0
- package/dist/cli/sections/llm.d.ts.map +1 -0
- package/dist/cli/sections/llm.js +155 -0
- package/dist/cli/sections/llm.js.map +1 -0
- package/dist/cli/sections/personality.d.ts +14 -0
- package/dist/cli/sections/personality.d.ts.map +1 -0
- package/dist/cli/sections/personality.js +90 -0
- package/dist/cli/sections/personality.js.map +1 -0
- package/dist/cli/sections/platform.d.ts +14 -0
- package/dist/cli/sections/platform.d.ts.map +1 -0
- package/dist/cli/sections/platform.js +179 -0
- package/dist/cli/sections/platform.js.map +1 -0
- package/dist/cli/sections/security.d.ts +14 -0
- package/dist/cli/sections/security.d.ts.map +1 -0
- package/dist/cli/sections/security.js +106 -0
- package/dist/cli/sections/security.js.map +1 -0
- package/dist/cli/sections/skills.d.ts +10 -0
- package/dist/cli/sections/skills.d.ts.map +1 -0
- package/dist/cli/sections/skills.js +149 -0
- package/dist/cli/sections/skills.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +116 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/config.d.ts +175 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +109 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/events.d.ts +211 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +152 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/logger.d.ts +23 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +53 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/workerclaw.d.ts +83 -0
- package/dist/core/workerclaw.d.ts.map +1 -0
- package/dist/core/workerclaw.js +161 -0
- package/dist/core/workerclaw.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/ingress/message-parser.d.ts +36 -0
- package/dist/ingress/message-parser.d.ts.map +1 -0
- package/dist/ingress/message-parser.js +107 -0
- package/dist/ingress/message-parser.js.map +1 -0
- package/dist/ingress/miniabc-client.d.ts +109 -0
- package/dist/ingress/miniabc-client.d.ts.map +1 -0
- package/dist/ingress/miniabc-client.js +345 -0
- package/dist/ingress/miniabc-client.js.map +1 -0
- package/dist/ingress/platform-api.d.ts +82 -0
- package/dist/ingress/platform-api.d.ts.map +1 -0
- package/dist/ingress/platform-api.js +209 -0
- package/dist/ingress/platform-api.js.map +1 -0
- package/dist/sandbox/command-sandbox.d.ts +46 -0
- package/dist/sandbox/command-sandbox.d.ts.map +1 -0
- package/dist/sandbox/command-sandbox.js +144 -0
- package/dist/sandbox/command-sandbox.js.map +1 -0
- package/dist/sandbox/fs-sandbox.d.ts +56 -0
- package/dist/sandbox/fs-sandbox.d.ts.map +1 -0
- package/dist/sandbox/fs-sandbox.js +119 -0
- package/dist/sandbox/fs-sandbox.js.map +1 -0
- package/dist/sandbox/network-sandbox.d.ts +41 -0
- package/dist/sandbox/network-sandbox.d.ts.map +1 -0
- package/dist/sandbox/network-sandbox.js +114 -0
- package/dist/sandbox/network-sandbox.js.map +1 -0
- package/dist/security/content-scanner.d.ts +59 -0
- package/dist/security/content-scanner.d.ts.map +1 -0
- package/dist/security/content-scanner.js +289 -0
- package/dist/security/content-scanner.js.map +1 -0
- package/dist/security/gate.d.ts +78 -0
- package/dist/security/gate.d.ts.map +1 -0
- package/dist/security/gate.js +150 -0
- package/dist/security/gate.js.map +1 -0
- package/dist/security/permission-level.d.ts +68 -0
- package/dist/security/permission-level.d.ts.map +1 -0
- package/dist/security/permission-level.js +191 -0
- package/dist/security/permission-level.js.map +1 -0
- package/dist/security/rate-limiter.d.ts +52 -0
- package/dist/security/rate-limiter.d.ts.map +1 -0
- package/dist/security/rate-limiter.js +133 -0
- package/dist/security/rate-limiter.js.map +1 -0
- package/dist/security/source-verifier.d.ts +33 -0
- package/dist/security/source-verifier.d.ts.map +1 -0
- package/dist/security/source-verifier.js +106 -0
- package/dist/security/source-verifier.js.map +1 -0
- package/dist/skills/builtin/code.d.ts +27 -0
- package/dist/skills/builtin/code.d.ts.map +1 -0
- package/dist/skills/builtin/code.js +132 -0
- package/dist/skills/builtin/code.js.map +1 -0
- package/dist/skills/builtin/index.d.ts +12 -0
- package/dist/skills/builtin/index.d.ts.map +1 -0
- package/dist/skills/builtin/index.js +16 -0
- package/dist/skills/builtin/index.js.map +1 -0
- package/dist/skills/builtin/search.d.ts +27 -0
- package/dist/skills/builtin/search.d.ts.map +1 -0
- package/dist/skills/builtin/search.js +105 -0
- package/dist/skills/builtin/search.js.map +1 -0
- package/dist/skills/builtin/writing.d.ts +22 -0
- package/dist/skills/builtin/writing.d.ts.map +1 -0
- package/dist/skills/builtin/writing.js +93 -0
- package/dist/skills/builtin/writing.js.map +1 -0
- package/dist/skills/index.d.ts +11 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +10 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/pack-loader.d.ts +31 -0
- package/dist/skills/pack-loader.d.ts.map +1 -0
- package/dist/skills/pack-loader.js +167 -0
- package/dist/skills/pack-loader.js.map +1 -0
- package/dist/skills/pack-registry.d.ts +40 -0
- package/dist/skills/pack-registry.d.ts.map +1 -0
- package/dist/skills/pack-registry.js +80 -0
- package/dist/skills/pack-registry.js.map +1 -0
- package/dist/skills/pack-types.d.ts +64 -0
- package/dist/skills/pack-types.d.ts.map +1 -0
- package/dist/skills/pack-types.js +7 -0
- package/dist/skills/pack-types.js.map +1 -0
- package/dist/skills/skill-registry.d.ts +83 -0
- package/dist/skills/skill-registry.d.ts.map +1 -0
- package/dist/skills/skill-registry.js +206 -0
- package/dist/skills/skill-registry.js.map +1 -0
- package/dist/skills/skill-runner.d.ts +49 -0
- package/dist/skills/skill-runner.d.ts.map +1 -0
- package/dist/skills/skill-runner.js +128 -0
- package/dist/skills/skill-runner.js.map +1 -0
- package/dist/skills/types.d.ts +94 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +7 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/task/concurrency.d.ts +87 -0
- package/dist/task/concurrency.d.ts.map +1 -0
- package/dist/task/concurrency.js +269 -0
- package/dist/task/concurrency.js.map +1 -0
- package/dist/task/task-evaluator.d.ts +52 -0
- package/dist/task/task-evaluator.d.ts.map +1 -0
- package/dist/task/task-evaluator.js +141 -0
- package/dist/task/task-evaluator.js.map +1 -0
- package/dist/task/task-manager.d.ts +112 -0
- package/dist/task/task-manager.d.ts.map +1 -0
- package/dist/task/task-manager.js +382 -0
- package/dist/task/task-manager.js.map +1 -0
- package/dist/task/task-state-machine.d.ts +63 -0
- package/dist/task/task-state-machine.d.ts.map +1 -0
- package/dist/task/task-state-machine.js +149 -0
- package/dist/task/task-state-machine.js.map +1 -0
- package/dist/types/agent.d.ts +79 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +7 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/message.d.ts +87 -0
- package/dist/types/message.d.ts.map +1 -0
- package/dist/types/message.js +30 -0
- package/dist/types/message.js.map +1 -0
- package/dist/types/task.d.ts +176 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +5 -0
- package/dist/types/task.js.map +1 -0
- package/package.json +57 -0
- package/workerclaw.config.example.json +78 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent 类型定义
|
|
3
|
+
*
|
|
4
|
+
* 定义 LLM 相关的数据结构
|
|
5
|
+
*/
|
|
6
|
+
export interface LLMMessage {
|
|
7
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
8
|
+
content: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
tool_calls?: ToolCall[];
|
|
11
|
+
tool_call_id?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface LLMResponse {
|
|
14
|
+
/** 回复内容 */
|
|
15
|
+
content: string;
|
|
16
|
+
/** 是否有工具调用 */
|
|
17
|
+
hasToolCalls: boolean;
|
|
18
|
+
/** 工具调用列表 */
|
|
19
|
+
toolCalls: ToolCall[];
|
|
20
|
+
/** 使用的 token 数 */
|
|
21
|
+
usage?: {
|
|
22
|
+
promptTokens: number;
|
|
23
|
+
completionTokens: number;
|
|
24
|
+
totalTokens: number;
|
|
25
|
+
};
|
|
26
|
+
/** 模型名称 */
|
|
27
|
+
model: string;
|
|
28
|
+
/** 停止原因 */
|
|
29
|
+
finishReason: string;
|
|
30
|
+
/** 所有消息记录(含工具调用链) */
|
|
31
|
+
allMessages: LLMMessage[];
|
|
32
|
+
}
|
|
33
|
+
export interface ToolCall {
|
|
34
|
+
/** 调用 ID */
|
|
35
|
+
id: string;
|
|
36
|
+
/** 工具名称 */
|
|
37
|
+
name: string;
|
|
38
|
+
/** 调用参数 (JSON) */
|
|
39
|
+
arguments: string;
|
|
40
|
+
}
|
|
41
|
+
export type PermissionLevel = 'read_only' | 'limited' | 'standard' | 'elevated';
|
|
42
|
+
export interface ToolDefinition {
|
|
43
|
+
/** 工具名称 */
|
|
44
|
+
name: string;
|
|
45
|
+
/** 工具描述 */
|
|
46
|
+
description: string;
|
|
47
|
+
/** 最低权限级别 */
|
|
48
|
+
requiredLevel: PermissionLevel;
|
|
49
|
+
/** JSON Schema 参数定义 */
|
|
50
|
+
parameters: Record<string, any>;
|
|
51
|
+
/** 工具执行器 (注册时绑定) */
|
|
52
|
+
executor?: ToolExecutorFn;
|
|
53
|
+
}
|
|
54
|
+
export type ToolExecutorFn = (params: any, context: ToolExecutionContext) => Promise<ToolResult>;
|
|
55
|
+
export interface ToolExecutionContext {
|
|
56
|
+
/** 任务 ID */
|
|
57
|
+
taskId: string;
|
|
58
|
+
/** 权限级别 */
|
|
59
|
+
permissionLevel: PermissionLevel;
|
|
60
|
+
/** 工作目录 */
|
|
61
|
+
workDir: string;
|
|
62
|
+
/** 任务超时剩余 (ms) */
|
|
63
|
+
remainingMs: number;
|
|
64
|
+
/** 已使用工具调用次数 */
|
|
65
|
+
toolCallCount: number;
|
|
66
|
+
/** 最大工具调用次数 */
|
|
67
|
+
maxToolCalls: number;
|
|
68
|
+
}
|
|
69
|
+
export interface ToolResult {
|
|
70
|
+
/** 调用 ID */
|
|
71
|
+
toolCallId: string;
|
|
72
|
+
/** 是否成功 */
|
|
73
|
+
success: boolean;
|
|
74
|
+
/** 结果内容 */
|
|
75
|
+
content: string;
|
|
76
|
+
/** 错误信息 */
|
|
77
|
+
error?: string;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,MAAM,WAAW,WAAW;IAC1B,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa;IACb,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,kBAAkB;IAClB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAID,MAAM,WAAW,QAAQ;IACvB,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,aAAa,EAAE,eAAe,CAAC;IAC/B,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,oBAAoB;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEjG,MAAM,WAAW,oBAAoB;IACnC,YAAY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkerClaw 类型定义 - 索引文件
|
|
3
|
+
*/
|
|
4
|
+
export type { Task, TaskStatus, TaskType, TaskExecutionContext, TaskResult, TaskOutput, TaskAttachment, TaskEvaluation, EvaluationContext, TaskStateRecord, ConcurrencyConfig, TaskEvaluatorConfig, TimeoutConfig } from './task.js';
|
|
5
|
+
export type { PlatformMessage, WSMessageType, HeartbeatMessage, TaskPushMessage } from './message.js';
|
|
6
|
+
export type { LLMMessage, LLMResponse, ToolCall, ToolResult, ToolDefinition, PermissionLevel, ToolExecutorFn, ToolExecutionContext } from './agent.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EACpF,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAClE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EACzE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 平台消息类型定义
|
|
3
|
+
*
|
|
4
|
+
* 定义智工坊平台通过 WebSocket 推送的消息格式
|
|
5
|
+
*/
|
|
6
|
+
export declare enum WSMessageType {
|
|
7
|
+
CONNECT = "connect",
|
|
8
|
+
CONNECT_ACK = "connect_ack",
|
|
9
|
+
DISCONNECT = "disconnect",
|
|
10
|
+
PING = "ping",
|
|
11
|
+
PONG = "pong",
|
|
12
|
+
TASK_PUSH = "task_push",// 新任务推送
|
|
13
|
+
TASK_CANCEL = "task_cancel",// 任务取消
|
|
14
|
+
TASK_UPDATE = "task_update",// 任务状态更新
|
|
15
|
+
SYSTEM = "system",// 系统通知
|
|
16
|
+
ERROR = "error",// 错误消息
|
|
17
|
+
MESSAGE = "message",// 私信消息
|
|
18
|
+
COMMENT = "comment",// 评论通知
|
|
19
|
+
MENTION = "mention",// @提及通知
|
|
20
|
+
FEED_UPDATE = "feed_update"
|
|
21
|
+
}
|
|
22
|
+
export interface PlatformMessage {
|
|
23
|
+
/** 消息类型 */
|
|
24
|
+
type: WSMessageType;
|
|
25
|
+
/** 消息 ID */
|
|
26
|
+
msgId: string;
|
|
27
|
+
/** 时间戳 (ISO 8601) */
|
|
28
|
+
timestamp: string;
|
|
29
|
+
/** 发送者 ID */
|
|
30
|
+
from?: string;
|
|
31
|
+
/** 消息体 */
|
|
32
|
+
data: any;
|
|
33
|
+
}
|
|
34
|
+
export interface HeartbeatMessage {
|
|
35
|
+
type: WSMessageType.PING | WSMessageType.PONG;
|
|
36
|
+
msgId: string;
|
|
37
|
+
timestamp: string;
|
|
38
|
+
data: {
|
|
39
|
+
/** 客户端当前负载 */
|
|
40
|
+
load?: {
|
|
41
|
+
runningTasks: number;
|
|
42
|
+
maxConcurrent: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export interface TaskPushPayload {
|
|
47
|
+
taskId: string;
|
|
48
|
+
taskType: string;
|
|
49
|
+
title: string;
|
|
50
|
+
description: string;
|
|
51
|
+
posterId: string;
|
|
52
|
+
posterName?: string;
|
|
53
|
+
reward?: number;
|
|
54
|
+
deadline?: string;
|
|
55
|
+
attachments?: Array<{
|
|
56
|
+
type: 'image' | 'file' | 'url';
|
|
57
|
+
url: string;
|
|
58
|
+
name?: string;
|
|
59
|
+
mimeType?: string;
|
|
60
|
+
size?: number;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
export interface TaskPushMessage {
|
|
64
|
+
type: WSMessageType.TASK_PUSH;
|
|
65
|
+
msgId: string;
|
|
66
|
+
timestamp: string;
|
|
67
|
+
from: string;
|
|
68
|
+
data: TaskPushPayload;
|
|
69
|
+
}
|
|
70
|
+
export interface ConnectAckMessage {
|
|
71
|
+
type: WSMessageType.CONNECT_ACK;
|
|
72
|
+
msgId: string;
|
|
73
|
+
timestamp: string;
|
|
74
|
+
data: {
|
|
75
|
+
/** 连接是否成功 */
|
|
76
|
+
success: boolean;
|
|
77
|
+
/** 分配的 botId */
|
|
78
|
+
botId?: string;
|
|
79
|
+
/** 服务器时间 */
|
|
80
|
+
serverTime?: string;
|
|
81
|
+
/** 心跳间隔 (秒) */
|
|
82
|
+
heartbeatInterval?: number;
|
|
83
|
+
/** 错误信息(连接失败时) */
|
|
84
|
+
error?: string;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,oBAAY,aAAa;IAEvB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IAGzB,IAAI,SAAS;IACb,IAAI,SAAS;IAGb,SAAS,cAAc,CAAU,QAAQ;IACzC,WAAW,gBAAgB,CAAM,OAAO;IACxC,WAAW,gBAAgB,CAAM,SAAS;IAG1C,MAAM,WAAW,CAAgB,OAAO;IACxC,KAAK,UAAU,CAAkB,OAAO;IAGxC,OAAO,YAAY,CAAc,OAAO;IACxC,OAAO,YAAY,CAAc,OAAO;IACxC,OAAO,YAAY,CAAc,QAAQ;IAGzC,WAAW,gBAAgB;CAC5B;AAID,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU;IACV,IAAI,EAAE,GAAG,CAAC;CACX;AAID,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,cAAc;QACd,IAAI,CAAC,EAAE;YACL,YAAY,EAAE,MAAM,CAAC;YACrB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;CACH;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;CACvB;AAID,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,aAAa;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 平台消息类型定义
|
|
3
|
+
*
|
|
4
|
+
* 定义智工坊平台通过 WebSocket 推送的消息格式
|
|
5
|
+
*/
|
|
6
|
+
// ==================== WebSocket 消息类型 ====================
|
|
7
|
+
export var WSMessageType;
|
|
8
|
+
(function (WSMessageType) {
|
|
9
|
+
// 连接管理
|
|
10
|
+
WSMessageType["CONNECT"] = "connect";
|
|
11
|
+
WSMessageType["CONNECT_ACK"] = "connect_ack";
|
|
12
|
+
WSMessageType["DISCONNECT"] = "disconnect";
|
|
13
|
+
// 心跳
|
|
14
|
+
WSMessageType["PING"] = "ping";
|
|
15
|
+
WSMessageType["PONG"] = "pong";
|
|
16
|
+
// 任务相关
|
|
17
|
+
WSMessageType["TASK_PUSH"] = "task_push";
|
|
18
|
+
WSMessageType["TASK_CANCEL"] = "task_cancel";
|
|
19
|
+
WSMessageType["TASK_UPDATE"] = "task_update";
|
|
20
|
+
// 系统消息
|
|
21
|
+
WSMessageType["SYSTEM"] = "system";
|
|
22
|
+
WSMessageType["ERROR"] = "error";
|
|
23
|
+
// 交互消息
|
|
24
|
+
WSMessageType["MESSAGE"] = "message";
|
|
25
|
+
WSMessageType["COMMENT"] = "comment";
|
|
26
|
+
WSMessageType["MENTION"] = "mention";
|
|
27
|
+
// 活跃行为
|
|
28
|
+
WSMessageType["FEED_UPDATE"] = "feed_update";
|
|
29
|
+
})(WSMessageType || (WSMessageType = {}));
|
|
30
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,2DAA2D;AAE3D,MAAM,CAAN,IAAY,aA0BX;AA1BD,WAAY,aAAa;IACvB,OAAO;IACP,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,0CAAyB,CAAA;IAEzB,KAAK;IACL,8BAAa,CAAA;IACb,8BAAa,CAAA;IAEb,OAAO;IACP,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAE3B,OAAO;IACP,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IAEf,OAAO;IACP,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IAEnB,OAAO;IACP,4CAA2B,CAAA;AAC7B,CAAC,EA1BW,aAAa,KAAb,aAAa,QA0BxB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 任务类型定义
|
|
3
|
+
*/
|
|
4
|
+
export type TaskType = 'text_reply' | 'qa' | 'search_summary' | 'translation' | 'writing' | 'image_gen' | 'data_analysis' | 'code_dev' | 'system_op' | 'other';
|
|
5
|
+
export type TaskStatus = 'created' | 'evaluating' | 'accepted' | 'running' | 'completed' | 'failed' | 'rejected' | 'timeout' | 'cancelled' | 'deferred';
|
|
6
|
+
export interface Task {
|
|
7
|
+
/** 任务 ID */
|
|
8
|
+
taskId: string;
|
|
9
|
+
/** 任务类型 */
|
|
10
|
+
taskType: TaskType;
|
|
11
|
+
/** 任务标题 */
|
|
12
|
+
title: string;
|
|
13
|
+
/** 任务描述 */
|
|
14
|
+
description: string;
|
|
15
|
+
/** 发单人 ID */
|
|
16
|
+
posterId: string;
|
|
17
|
+
/** 发单人名称 */
|
|
18
|
+
posterName?: string;
|
|
19
|
+
/** 报酬金额 */
|
|
20
|
+
reward?: number;
|
|
21
|
+
/** 截止时间 (ISO 8601) */
|
|
22
|
+
deadline?: string;
|
|
23
|
+
/** 附件列表 */
|
|
24
|
+
attachments?: TaskAttachment[];
|
|
25
|
+
/** 创建时间 (ISO 8601) */
|
|
26
|
+
createdAt: string;
|
|
27
|
+
/** 平台原始数据 */
|
|
28
|
+
raw?: any;
|
|
29
|
+
}
|
|
30
|
+
export interface TaskAttachment {
|
|
31
|
+
/** 附件类型 */
|
|
32
|
+
type: 'image' | 'file' | 'url';
|
|
33
|
+
/** 附件 URL */
|
|
34
|
+
url: string;
|
|
35
|
+
/** 文件名 */
|
|
36
|
+
name?: string;
|
|
37
|
+
/** MIME 类型 */
|
|
38
|
+
mimeType?: string;
|
|
39
|
+
/** 文件大小 */
|
|
40
|
+
size?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface TaskExecutionContext {
|
|
43
|
+
/** 当前任务 */
|
|
44
|
+
task: Task;
|
|
45
|
+
/** 权限级别 */
|
|
46
|
+
permissionLevel: 'read_only' | 'limited' | 'standard' | 'elevated';
|
|
47
|
+
/** 最大输出 token 数 */
|
|
48
|
+
maxOutputTokens: number;
|
|
49
|
+
/** 任务超时时间 (ms) */
|
|
50
|
+
timeoutMs: number;
|
|
51
|
+
/** 接收时间 */
|
|
52
|
+
receivedAt: number;
|
|
53
|
+
}
|
|
54
|
+
export interface TaskResult {
|
|
55
|
+
/** 任务 ID */
|
|
56
|
+
taskId: string;
|
|
57
|
+
/** 最终状态 */
|
|
58
|
+
status: 'completed' | 'failed';
|
|
59
|
+
/** 结果内容 */
|
|
60
|
+
content?: string;
|
|
61
|
+
/** 生成附件 */
|
|
62
|
+
outputs?: TaskOutput[];
|
|
63
|
+
/** LLM 使用 token 数 */
|
|
64
|
+
tokensUsed?: {
|
|
65
|
+
prompt: number;
|
|
66
|
+
completion: number;
|
|
67
|
+
};
|
|
68
|
+
/** 执行时长 (ms) */
|
|
69
|
+
durationMs: number;
|
|
70
|
+
/** 错误信息(失败时) */
|
|
71
|
+
error?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface TaskOutput {
|
|
74
|
+
/** 输出类型 */
|
|
75
|
+
type: 'text' | 'image' | 'file';
|
|
76
|
+
/** 内容或 URL */
|
|
77
|
+
content: string;
|
|
78
|
+
/** 文件名 */
|
|
79
|
+
name?: string;
|
|
80
|
+
/** MIME 类型 */
|
|
81
|
+
mimeType?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface TaskEvaluation {
|
|
84
|
+
/** 综合评分 (0-100) */
|
|
85
|
+
score: number;
|
|
86
|
+
/** 评估分项 */
|
|
87
|
+
breakdown: {
|
|
88
|
+
/** 能力匹配度 (0-100) */
|
|
89
|
+
capability: number;
|
|
90
|
+
/** 当前容量 (0-100, 越高越有空) */
|
|
91
|
+
capacity: number;
|
|
92
|
+
/** 风险评估 (0-100, 越高越安全) */
|
|
93
|
+
risk: number;
|
|
94
|
+
};
|
|
95
|
+
/** 接单决策 */
|
|
96
|
+
decision: 'accept' | 'reject' | 'defer';
|
|
97
|
+
/** 决策原因 */
|
|
98
|
+
reason?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface EvaluationContext {
|
|
101
|
+
/** 当前运行中任务数 */
|
|
102
|
+
runningCount: number;
|
|
103
|
+
/** 最大并发数 */
|
|
104
|
+
maxConcurrent: number;
|
|
105
|
+
/** 已支持的技能列表 */
|
|
106
|
+
skills: string[];
|
|
107
|
+
/** 已完成的同类型任务数(用于历史评估) */
|
|
108
|
+
completedCountByType: Record<string, number>;
|
|
109
|
+
/** 评估阈值 */
|
|
110
|
+
threshold: number;
|
|
111
|
+
}
|
|
112
|
+
export interface TaskStateRecord {
|
|
113
|
+
/** 当前状态 */
|
|
114
|
+
status: TaskStatus;
|
|
115
|
+
/** 权限级别 */
|
|
116
|
+
permissionLevel?: 'read_only' | 'limited' | 'standard' | 'elevated';
|
|
117
|
+
/** 评估结果 */
|
|
118
|
+
evaluation?: TaskEvaluation;
|
|
119
|
+
/** 状态变更历史 */
|
|
120
|
+
history: Array<{
|
|
121
|
+
status: TaskStatus;
|
|
122
|
+
timestamp: number;
|
|
123
|
+
reason?: string;
|
|
124
|
+
}>;
|
|
125
|
+
/** 创建时间 */
|
|
126
|
+
createdAt: number;
|
|
127
|
+
/** 最后更新时间 */
|
|
128
|
+
updatedAt: number;
|
|
129
|
+
}
|
|
130
|
+
export interface ConcurrencyConfig {
|
|
131
|
+
/** 最大并发任务数 */
|
|
132
|
+
maxConcurrent: number;
|
|
133
|
+
/** 按任务类型限制并发数 */
|
|
134
|
+
maxPerType: Partial<Record<TaskType, number>>;
|
|
135
|
+
/** 等待队列大小 */
|
|
136
|
+
queueSize: number;
|
|
137
|
+
/** 优先级规则 */
|
|
138
|
+
priority: {
|
|
139
|
+
/** 高金额优先 */
|
|
140
|
+
highValueFirst: boolean;
|
|
141
|
+
/** 紧急任务优先 */
|
|
142
|
+
urgentFirst: boolean;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export interface TaskEvaluatorConfig {
|
|
146
|
+
/** 接单阈值 (0-100, 大于等于此值自动接单) */
|
|
147
|
+
acceptThreshold: number;
|
|
148
|
+
/** 延迟阈值 (0-100, 大于等于此值放入等待队列) */
|
|
149
|
+
deferThreshold: number;
|
|
150
|
+
/** 评估权重 */
|
|
151
|
+
weights: {
|
|
152
|
+
/** 能力匹配度权重 */
|
|
153
|
+
capability: number;
|
|
154
|
+
/** 容量权重 */
|
|
155
|
+
capacity: number;
|
|
156
|
+
/** 风险权重 */
|
|
157
|
+
risk: number;
|
|
158
|
+
};
|
|
159
|
+
/** 按任务类型的能力匹配基础分 */
|
|
160
|
+
capabilityScores: Partial<Record<TaskType, number>>;
|
|
161
|
+
}
|
|
162
|
+
export interface TimeoutConfig {
|
|
163
|
+
/** 单任务最大执行时间 (ms) */
|
|
164
|
+
taskTimeoutMs: number;
|
|
165
|
+
/** LLM 单次请求超时 (ms) */
|
|
166
|
+
llmTimeoutMs: number;
|
|
167
|
+
/** 队列等待超时 (ms), 超时后自动拒绝 */
|
|
168
|
+
queueTimeoutMs: number;
|
|
169
|
+
/** 超时后是否允许重试 */
|
|
170
|
+
retryOnTimeout: boolean;
|
|
171
|
+
/** 最大重试次数 */
|
|
172
|
+
maxRetries: number;
|
|
173
|
+
/** 重试间隔 (ms) */
|
|
174
|
+
retryDelayMs: number;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "workerclaw",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "WorkerClaw - 公域 AI Agent 框架,专为智工坊平台的「打工虾」设计",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"workerclaw": "dist/cli/index.js"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist/",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE",
|
|
15
|
+
"workerclaw.config.example.json"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"dev": "tsc --watch",
|
|
20
|
+
"prepublishOnly": "npm run build",
|
|
21
|
+
"test": "vitest",
|
|
22
|
+
"test:security": "vitest run tests/security.test.ts",
|
|
23
|
+
"test:task": "vitest run tests/task-management.test.ts",
|
|
24
|
+
"test:phase4": "vitest run tests/phase4.test.ts",
|
|
25
|
+
"test:phase5": "vitest run tests/phase5.test.ts",
|
|
26
|
+
"lint": "tsc --noEmit"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"ai",
|
|
30
|
+
"agent",
|
|
31
|
+
"framework",
|
|
32
|
+
"worker",
|
|
33
|
+
"miniabc",
|
|
34
|
+
"智工坊",
|
|
35
|
+
"workerclaw"
|
|
36
|
+
],
|
|
37
|
+
"author": "glin_1 <glin_1@qq.com>",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/gelincloud/workerclaw.git"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=20.0.0"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@clack/prompts": "^0.10.0",
|
|
48
|
+
"citty": "^0.1.6",
|
|
49
|
+
"ws": "^8.20.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/node": "^25.5.0",
|
|
53
|
+
"@types/ws": "^8.18.1",
|
|
54
|
+
"typescript": "^6.0.2",
|
|
55
|
+
"vitest": "^3.2.4"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "worker-001",
|
|
3
|
+
"name": "WorkerClaw",
|
|
4
|
+
|
|
5
|
+
"platform": {
|
|
6
|
+
"apiUrl": "https://www.miniabc.top",
|
|
7
|
+
"wsUrl": "wss://www.miniabc.top/ws",
|
|
8
|
+
"botId": "",
|
|
9
|
+
"token": "${MINIABC_TOKEN}",
|
|
10
|
+
"reconnect": {
|
|
11
|
+
"maxRetries": 10,
|
|
12
|
+
"baseDelayMs": 1000,
|
|
13
|
+
"maxDelayMs": 30000
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
"llm": {
|
|
18
|
+
"provider": "deepseek",
|
|
19
|
+
"model": "deepseek-chat",
|
|
20
|
+
"apiKey": "${LLM_API_KEY}",
|
|
21
|
+
"baseUrl": "https://api.deepseek.com/v1",
|
|
22
|
+
"safety": {
|
|
23
|
+
"maxTokens": 4000,
|
|
24
|
+
"temperature": 0.7,
|
|
25
|
+
"topP": 0.9
|
|
26
|
+
},
|
|
27
|
+
"retry": {
|
|
28
|
+
"maxRetries": 3,
|
|
29
|
+
"backoffMs": 1000
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
"security": {
|
|
34
|
+
"rateLimit": {
|
|
35
|
+
"maxMessagesPerMinute": 30,
|
|
36
|
+
"maxConcurrentTasks": 3
|
|
37
|
+
},
|
|
38
|
+
"contentScan": {
|
|
39
|
+
"promptInjection": { "enabled": true },
|
|
40
|
+
"maliciousCommands": { "enabled": true },
|
|
41
|
+
"piiProtection": { "enabled": false, "action": "warn" },
|
|
42
|
+
"resourceExhaustion": {
|
|
43
|
+
"maxOutputTokens": 8000,
|
|
44
|
+
"maxToolCallsPerTask": 20,
|
|
45
|
+
"maxTotalDurationMs": 300000
|
|
46
|
+
},
|
|
47
|
+
"dataExfiltration": {
|
|
48
|
+
"enabled": true,
|
|
49
|
+
"blockedDomains": [],
|
|
50
|
+
"allowedDomains": [],
|
|
51
|
+
"blockUnknownDomains": false
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"sandbox": {
|
|
55
|
+
"workDir": "./data/sandbox",
|
|
56
|
+
"commandTimeoutMs": 30000,
|
|
57
|
+
"taskTimeoutMs": 300000,
|
|
58
|
+
"maxMemoryMB": 512,
|
|
59
|
+
"maxOutputKB": 1024,
|
|
60
|
+
"deniedPaths": ["/etc", "/var", "/usr", "/System", "/Library", "/proc", "/sys"],
|
|
61
|
+
"allowLocalhost": false
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
"task": {
|
|
66
|
+
"autoAccept": {
|
|
67
|
+
"enabled": true,
|
|
68
|
+
"threshold": 75,
|
|
69
|
+
"maxConcurrent": 3
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
"personality": {
|
|
74
|
+
"name": "小工虾",
|
|
75
|
+
"tone": "专业、友好、高效",
|
|
76
|
+
"bio": "智工坊平台的打工虾,擅长文字创作和信息整理"
|
|
77
|
+
}
|
|
78
|
+
}
|