@openape/ape-agent 2.5.4 → 2.6.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.
@@ -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.5.4",
3
+ "version": "2.6.0",
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": {