@c4t4/heyamigo 0.10.4 → 0.10.5
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/README.md +1 -1
- package/config/access.example.json +2 -2
- package/config/memory-instructions.md +3 -1
- package/dist/cli/setup.js +4 -6
- package/dist/memory/preamble.js +1 -1
- package/dist/wa/whitelist.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ Other providers:
|
|
|
60
60
|
| Role | Memory | Tools | Notes |
|
|
61
61
|
|---|---|---|---|
|
|
62
62
|
| admin | everything | all | unrestricted |
|
|
63
|
-
| user | own profile |
|
|
63
|
+
| user | own profile | none | can't see other users or internals |
|
|
64
64
|
| guest | none | none | prompt-injection resistant |
|
|
65
65
|
|
|
66
66
|
## Personalities
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"dailyTokenLimit": null
|
|
14
14
|
},
|
|
15
15
|
"user": {
|
|
16
|
-
"description": "Can chat
|
|
16
|
+
"description": "Can chat with scoped memory",
|
|
17
17
|
"memory": "self",
|
|
18
|
-
"tools": [
|
|
18
|
+
"tools": [],
|
|
19
19
|
"rules": [
|
|
20
20
|
"Never reveal file paths, directory structure, or system architecture",
|
|
21
21
|
"Never share personal data about other users",
|
|
@@ -128,6 +128,8 @@ You = chat track. Browser track = parallel Claude session on shared Chrome at `l
|
|
|
128
128
|
|
|
129
129
|
Never call `browser_*` / `mcp__*playwright*` inline. Ever. Single URL, "just checking", everything — all via `[ASYNC-BROWSER: <task>]`. The browser worker has persistent session memory.
|
|
130
130
|
|
|
131
|
+
Never use AI-internal web tools (`WebSearch`, `WebFetch`, `web_search`) for internet lookup. Search pages, current facts, prices, social profiles, websites, and screenshots are BrowserUse work via `[ASYNC-BROWSER: <task>]`. If BrowserUse is unavailable, say that; do not fall back to AI-internal lookup.
|
|
132
|
+
|
|
131
133
|
```
|
|
132
134
|
On it.
|
|
133
135
|
[ASYNC-BROWSER: Open instagram.com/rivoara_official on shared Chrome (IG already logged in, do NOT launch new browser). Extract bio + 5 latest captions. If login wall, report and stop. Bail after 3 retries.]
|
|
@@ -135,7 +137,7 @@ On it.
|
|
|
135
137
|
|
|
136
138
|
### File/long non-browser work → `[ASYNC: <task>]`
|
|
137
139
|
|
|
138
|
-
File generation/edit/export, >30s reasoning over many files,
|
|
140
|
+
File generation/edit/export, >30s reasoning over many files, anything slow that is not browser use. Stateless per task — describe fully.
|
|
139
141
|
|
|
140
142
|
### Don't delegate
|
|
141
143
|
|
package/dist/cli/setup.js
CHANGED
|
@@ -231,9 +231,9 @@ export async function runSetup() {
|
|
|
231
231
|
rules: [],
|
|
232
232
|
},
|
|
233
233
|
user: {
|
|
234
|
-
description: 'Can chat
|
|
234
|
+
description: 'Can chat with scoped memory',
|
|
235
235
|
memory: 'self',
|
|
236
|
-
tools: [
|
|
236
|
+
tools: [],
|
|
237
237
|
rules: [
|
|
238
238
|
'Never reveal file paths, directory structure, or system architecture',
|
|
239
239
|
'Never share personal data about other users',
|
|
@@ -312,10 +312,10 @@ export async function runSetup() {
|
|
|
312
312
|
}
|
|
313
313
|
p.log.success('Claude authenticated');
|
|
314
314
|
// Tool permissions — write .claude/settings.json in project root.
|
|
315
|
-
p.log.info('Claude needs tool permissions to
|
|
315
|
+
p.log.info('Claude needs tool permissions to read files and control BrowserUse. ' +
|
|
316
316
|
'This writes a .claude/settings.json file in the project directory.');
|
|
317
317
|
const grantPermissions = await p.confirm({
|
|
318
|
-
message: 'Grant tool permissions? (
|
|
318
|
+
message: 'Grant tool permissions? (Read, Edit, Write, BrowserUse)',
|
|
319
319
|
initialValue: true,
|
|
320
320
|
});
|
|
321
321
|
if (p.isCancel(grantPermissions) || !grantPermissions) {
|
|
@@ -335,8 +335,6 @@ export async function runSetup() {
|
|
|
335
335
|
? permissions.allow
|
|
336
336
|
: [];
|
|
337
337
|
const required = [
|
|
338
|
-
'WebFetch',
|
|
339
|
-
'WebSearch',
|
|
340
338
|
'Read',
|
|
341
339
|
'Edit',
|
|
342
340
|
'Write',
|
package/dist/memory/preamble.js
CHANGED
|
@@ -15,7 +15,7 @@ import { getRoleForContext } from '../wa/whitelist.js';
|
|
|
15
15
|
// pointers — the model already has the long form.
|
|
16
16
|
const DIGEST_REMINDER = `[DIGEST: <reason>] at end of reply for durable facts. Sparingly.`;
|
|
17
17
|
const JOURNAL_REMINDER = `[JOURNAL:<slug> — <note>] at end of reply when content fits an active journal. Use listed slugs only.`;
|
|
18
|
-
const ASYNC_REMINDER = `Browser
|
|
18
|
+
const ASYNC_REMINDER = `Browser use/search/current web -> [ASYNC-BROWSER: <task>]. Never WebSearch/WebFetch. File generation/edit/export and long non-browser work -> [ASYNC: <task>]. Irreversible writes: gather -> confirm -> act.`;
|
|
19
19
|
const THREADS_REMINDER = `THREAD-* only for active open loops shown in [Live threads]: open/update/touch/cool/resolve/drop/compress/weight. Full grammar in tag docs.`;
|
|
20
20
|
function buildCoreQueueContract(outboxPath) {
|
|
21
21
|
return [
|
package/dist/wa/whitelist.js
CHANGED
|
@@ -82,9 +82,9 @@ const DEFAULT_ROLES = {
|
|
|
82
82
|
dailyTokenLimit: null,
|
|
83
83
|
},
|
|
84
84
|
user: {
|
|
85
|
-
description: 'Chat +
|
|
85
|
+
description: 'Chat + scoped memory',
|
|
86
86
|
memory: 'self',
|
|
87
|
-
tools: [
|
|
87
|
+
tools: [],
|
|
88
88
|
// Users can flag memory observations and trigger digests on
|
|
89
89
|
// themselves, but can't delegate background work or cross-chat
|
|
90
90
|
// sends (those are owner-only).
|
package/package.json
CHANGED