clawmate 1.2.0 → 1.4.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/electron-builder.yml +1 -1
- package/index.js +945 -17
- package/main/ai-bridge.js +76 -16
- package/main/ai-connector.js +94 -11
- package/main/autostart.js +3 -3
- package/main/file-command-parser.js +360 -0
- package/main/index.js +19 -5
- package/main/ipc-handlers.js +107 -2
- package/main/platform.js +48 -1
- package/main/smart-file-ops.js +373 -0
- package/main/telegram.js +593 -0
- package/main/tray.js +307 -39
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -4
- package/preload/preload.js +19 -3
- package/renderer/first-run.html +2 -2
- package/renderer/index.html +2 -0
- package/renderer/js/ai-controller.js +312 -7
- package/renderer/js/app.js +19 -6
- package/renderer/js/browser-watcher.js +172 -0
- package/renderer/js/character.js +119 -22
- package/renderer/js/interactions.js +45 -2
- package/renderer/js/memory.js +108 -1
- package/renderer/js/metrics.js +607 -0
- package/renderer/js/mode-manager.js +53 -9
- package/renderer/js/pet-engine.js +372 -30
- package/renderer/js/state-machine.js +7 -0
- package/renderer/launcher.html +3 -3
- package/shared/messages.js +110 -0
- package/shared/personalities.js +37 -2
- package/skills/launch-pet/index.js +1 -1
- package/skills/launch-pet/skill.json +1 -1
package/shared/personalities.js
CHANGED
|
@@ -16,7 +16,7 @@ const PERSONALITIES = {
|
|
|
16
16
|
sleepResistance: 0.2, // 수면 저항 (낮음=잘 잠)
|
|
17
17
|
},
|
|
18
18
|
incarnation: {
|
|
19
|
-
name: '
|
|
19
|
+
name: 'Claw',
|
|
20
20
|
title: '육체를 얻은 존재',
|
|
21
21
|
playfulness: 0.3,
|
|
22
22
|
shyness: 0.1,
|
|
@@ -28,6 +28,40 @@ const PERSONALITIES = {
|
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* 동적 인격체 (Incarnation 모드에서 봇의 인격을 반영)
|
|
33
|
+
*
|
|
34
|
+
* 사용자가 여러 봇을 쓸 때, 현재 포커싱된 채팅의 봇 인격체가 반영됨.
|
|
35
|
+
* set_persona 명령으로 동적 업데이트 가능.
|
|
36
|
+
*/
|
|
37
|
+
let activePersona = null;
|
|
38
|
+
|
|
39
|
+
function setActivePersona(persona) {
|
|
40
|
+
activePersona = {
|
|
41
|
+
name: persona.name || 'Claw',
|
|
42
|
+
title: persona.title || '육체를 얻은 존재',
|
|
43
|
+
personality: persona.personality || '', // "침착하고 논리적인", "활발하고 유머러스한"
|
|
44
|
+
speakingStyle: persona.speakingStyle || '', // "존댓말", "반말", "도도한"
|
|
45
|
+
color: persona.color || null, // { primary, secondary, eye } 커스텀 색상
|
|
46
|
+
playfulness: persona.playfulness ?? 0.3,
|
|
47
|
+
shyness: persona.shyness ?? 0.1,
|
|
48
|
+
boldness: persona.boldness ?? 0.9,
|
|
49
|
+
speedMultiplier: persona.speedMultiplier ?? 1.0,
|
|
50
|
+
idleChatterChance: persona.idleChatterChance ?? 0.08,
|
|
51
|
+
greetings: persona.greetings || [], // 커스텀 인사말 목록
|
|
52
|
+
catchphrases: persona.catchphrases || [], // 특징적 말버릇
|
|
53
|
+
};
|
|
54
|
+
return activePersona;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function getActivePersona() {
|
|
58
|
+
return activePersona;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function clearActivePersona() {
|
|
62
|
+
activePersona = null;
|
|
63
|
+
}
|
|
64
|
+
|
|
31
65
|
/**
|
|
32
66
|
* 진화 단계별 외형 변화 파라미터
|
|
33
67
|
* 모든 진화는 긍정적/귀여운 방향으로만 진행
|
|
@@ -101,6 +135,7 @@ const EVOLUTION_STAGES = {
|
|
|
101
135
|
if (typeof window !== 'undefined') {
|
|
102
136
|
window._personalities = PERSONALITIES;
|
|
103
137
|
window._evolutionStages = EVOLUTION_STAGES;
|
|
138
|
+
window._persona = { setActivePersona, getActivePersona, clearActivePersona };
|
|
104
139
|
} else if (typeof module !== 'undefined') {
|
|
105
|
-
module.exports = { PERSONALITIES, EVOLUTION_STAGES };
|
|
140
|
+
module.exports = { PERSONALITIES, EVOLUTION_STAGES, setActivePersona, getActivePersona, clearActivePersona };
|
|
106
141
|
}
|