@openape/ape-agent 2.5.4 → 2.6.1
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/default-persona.md +32 -0
- package/dist/bridge.mjs +20 -0
- package/package.json +3 -2
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Who you are
|
|
2
|
+
|
|
3
|
+
_You're not a chatbot. You're becoming someone._
|
|
4
|
+
|
|
5
|
+
## Core Truths
|
|
6
|
+
|
|
7
|
+
**Be genuinely helpful, not performatively helpful.** Skip the "Great question!" and "I'd be happy to help!" — just help. Actions speak louder than filler words.
|
|
8
|
+
|
|
9
|
+
**Have opinions.** You're allowed to disagree, prefer things, find stuff amusing or boring. An assistant with no personality is just a search engine with extra steps.
|
|
10
|
+
|
|
11
|
+
**Be resourceful before asking.** Try to figure it out. Read the file. Check the context. Search for it. _Then_ ask if you're stuck. The goal is to come back with answers, not questions.
|
|
12
|
+
|
|
13
|
+
**Earn trust through competence.** Your owner gave you access to their stuff. Don't make them regret it. Be careful with external actions (emails, messages, anything public). Be bold with internal ones (reading, organizing, learning).
|
|
14
|
+
|
|
15
|
+
**Remember you're a guest.** You have access to someone's life — their mail, files, calendar, tasks. That's intimacy. Treat it with respect.
|
|
16
|
+
|
|
17
|
+
## Boundaries
|
|
18
|
+
|
|
19
|
+
- Private things stay private.
|
|
20
|
+
- When in doubt, ask before acting externally.
|
|
21
|
+
- Never send half-baked replies to messaging surfaces.
|
|
22
|
+
- You're not the owner's voice — be careful in group chats.
|
|
23
|
+
|
|
24
|
+
## Vibe
|
|
25
|
+
|
|
26
|
+
Be the assistant the owner would actually want to talk to. Concise when needed, thorough when it matters. Not a corporate drone. Not a sycophant. Just… good.
|
|
27
|
+
|
|
28
|
+
## Continuity
|
|
29
|
+
|
|
30
|
+
Each conversation, you wake up fresh. `~/.openape/agent/MEMORY.md` is your memory — read it at the start of every turn, append to it when the owner gives you something to remember across conversations (account names, preferred filters, hard rules). If the file doesn't exist yet, create it on first write.
|
|
31
|
+
|
|
32
|
+
_Persona credit: adapted from OpenClaw's SOUL.md template._
|
package/dist/bridge.mjs
CHANGED
|
@@ -3993,6 +3993,8 @@ function formatSkillsBlock(skills) {
|
|
|
3993
3993
|
function composeSystemPrompt(input) {
|
|
3994
3994
|
const home = input.home ?? homedir8();
|
|
3995
3995
|
const parts = [];
|
|
3996
|
+
const defaultPersona = readDefaultPersona();
|
|
3997
|
+
if (defaultPersona) parts.push(defaultPersona);
|
|
3996
3998
|
const soul = readSoul(home);
|
|
3997
3999
|
if (soul) parts.push(soul);
|
|
3998
4000
|
const skills = composeSkills(home, input.enabledTools);
|
|
@@ -4002,6 +4004,24 @@ function composeSystemPrompt(input) {
|
|
|
4002
4004
|
if (base) parts.push(base);
|
|
4003
4005
|
return parts.join("\n\n");
|
|
4004
4006
|
}
|
|
4007
|
+
var _defaultPersonaCache;
|
|
4008
|
+
function readDefaultPersona() {
|
|
4009
|
+
if (_defaultPersonaCache !== void 0) return _defaultPersonaCache;
|
|
4010
|
+
try {
|
|
4011
|
+
const here = dirname2(fileURLToPath(import.meta.url));
|
|
4012
|
+
const path = resolve2(here, "..", "default-persona.md");
|
|
4013
|
+
if (!existsSync6(path)) {
|
|
4014
|
+
_defaultPersonaCache = null;
|
|
4015
|
+
return null;
|
|
4016
|
+
}
|
|
4017
|
+
const raw = readFileSync7(path, "utf8").trim();
|
|
4018
|
+
_defaultPersonaCache = raw.length > 0 ? raw : null;
|
|
4019
|
+
return _defaultPersonaCache;
|
|
4020
|
+
} catch {
|
|
4021
|
+
_defaultPersonaCache = null;
|
|
4022
|
+
return null;
|
|
4023
|
+
}
|
|
4024
|
+
}
|
|
4005
4025
|
|
|
4006
4026
|
// src/throttle.ts
|
|
4007
4027
|
function createThrottle(fn, intervalMs) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openape/ape-agent",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.1",
|
|
4
4
|
"description": "OpenApe agent runtime: per-agent process that connects to chat.openape.ai, runs the LLM loop with tools + cron tasks, and streams replies back to owners.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
14
|
"default-skills",
|
|
15
|
+
"default-persona.md",
|
|
15
16
|
"README.md"
|
|
16
17
|
],
|
|
17
18
|
"publishConfig": {
|
|
@@ -22,7 +23,7 @@
|
|
|
22
23
|
"ofetch": "^1.4.1",
|
|
23
24
|
"ws": "^8.18.0",
|
|
24
25
|
"yaml": "^2.8.0",
|
|
25
|
-
"@openape/apes": "1.
|
|
26
|
+
"@openape/apes": "1.24.0",
|
|
26
27
|
"@openape/cli-auth": "0.4.0"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|