@vtstech/pi-soul 1.2.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/README.md +139 -0
- package/package.json +33 -0
- package/soul.js +4845 -0
package/README.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# @vtstech/pi-soul
|
|
2
|
+
|
|
3
|
+
SoulSpec extension for Pi Coding Agent - Load and manage AI agent personas with progressive disclosure support.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **SoulSpec Loading**: Load AI agent personas defined in SoulSpec format
|
|
8
|
+
- **Progressive Disclosure**: Support for Level 1-3 disclosure levels
|
|
9
|
+
- **Multiple Soul Locations**: Load souls from global and project-local directories
|
|
10
|
+
- **Built-in Tools**: Tools for listing, loading, and inspecting souls
|
|
11
|
+
- **CLI Commands**: Commands for soul management
|
|
12
|
+
- **Embodied Agent Support**: Hardware constraints and safety configurations
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Install as part of the bundle
|
|
18
|
+
pi install @vtstech/pi-coding-agent-extensions
|
|
19
|
+
|
|
20
|
+
# Or install individually
|
|
21
|
+
npm install @vtstech/pi-soul
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
### Tools
|
|
27
|
+
|
|
28
|
+
#### `load_soul`
|
|
29
|
+
Load a SoulSpec persona and build system prompt.
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
// Parameters
|
|
33
|
+
{
|
|
34
|
+
"soul_name": "nova-helper", // Name of the soul to load
|
|
35
|
+
"level": 2 // Progressive disclosure level (1-3, default 2)
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
#### `list_souls`
|
|
40
|
+
List all available SoulSpec personas.
|
|
41
|
+
|
|
42
|
+
#### `soul_info`
|
|
43
|
+
Get detailed information about a soul.
|
|
44
|
+
|
|
45
|
+
### Commands
|
|
46
|
+
|
|
47
|
+
#### `/souls`
|
|
48
|
+
List available souls.
|
|
49
|
+
|
|
50
|
+
#### `/soul <name>`
|
|
51
|
+
Use a soul for the current session.
|
|
52
|
+
|
|
53
|
+
## Soul Structure
|
|
54
|
+
|
|
55
|
+
Souls are defined in `.pi/agent/souls/` directory with the following structure:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
.pi/agent/souls/
|
|
59
|
+
├── nova-helper/
|
|
60
|
+
│ ├── soul.json # Required: Soul manifest
|
|
61
|
+
│ ├── SOUL.md # Required: Core persona
|
|
62
|
+
│ ├── IDENTITY.md # Optional: Identity information
|
|
63
|
+
│ ├── STYLE.md # Optional: Style guidelines
|
|
64
|
+
│ ├── AGENTS.md # Optional: Agent behavior
|
|
65
|
+
│ └── HEARTBEAT.md # Optional: Operational rhythm
|
|
66
|
+
└── robot-assistant/
|
|
67
|
+
├── soul.json
|
|
68
|
+
├── SOUL.md
|
|
69
|
+
├── IDENTITY.md
|
|
70
|
+
├── AGENTS.md
|
|
71
|
+
├── HEARTBEAT.md
|
|
72
|
+
└── STYLE.md
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Soul Manifest Format
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"specVersion": "0.5",
|
|
80
|
+
"name": "nova-helper",
|
|
81
|
+
"displayName": "Nova Helper",
|
|
82
|
+
"version": "1.0.0",
|
|
83
|
+
"description": "A helpful coding assistant",
|
|
84
|
+
"author": {
|
|
85
|
+
"name": "VTSTech"
|
|
86
|
+
},
|
|
87
|
+
"license": "MIT",
|
|
88
|
+
"tags": ["coding", "assistant"],
|
|
89
|
+
"category": "development/assistant",
|
|
90
|
+
"environment": "virtual",
|
|
91
|
+
"interactionMode": "text",
|
|
92
|
+
"files": {
|
|
93
|
+
"soul": "SOUL.md",
|
|
94
|
+
"identity": "IDENTITY.md"
|
|
95
|
+
},
|
|
96
|
+
"disclosure": {
|
|
97
|
+
"summary": "Helpful coding assistant"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Progressive Disclosure
|
|
103
|
+
|
|
104
|
+
- **Level 1**: Basic soul info (soul.json only)
|
|
105
|
+
- **Level 2**: Core persona (SOUL.md + IDENTITY.md)
|
|
106
|
+
- **Level 3**: Extended behavior (all files including examples)
|
|
107
|
+
|
|
108
|
+
## Soul Locations
|
|
109
|
+
|
|
110
|
+
The extension searches for souls in the following directories (in order):
|
|
111
|
+
|
|
112
|
+
1. `~/.pi/agent/souls/` - Global souls directory
|
|
113
|
+
2. `.pi/souls/` - Project-local souls directory
|
|
114
|
+
3. `./souls/` - Current directory souls
|
|
115
|
+
|
|
116
|
+
## Examples
|
|
117
|
+
|
|
118
|
+
### Loading a soul
|
|
119
|
+
```bash
|
|
120
|
+
/soul nova-helper
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Listing souls
|
|
124
|
+
```bash
|
|
125
|
+
/souls
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Getting soul info
|
|
129
|
+
```bash
|
|
130
|
+
/load_soul {"soul_name": "nova-helper"}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Contributing
|
|
134
|
+
|
|
135
|
+
This package is part of the [Pi Coding Agent](https://github.com/VTSTech/pi-coding-agent) extensions bundle.
|
|
136
|
+
|
|
137
|
+
## License
|
|
138
|
+
|
|
139
|
+
MIT License - see LICENSE file for details.
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vtstech/pi-soul",
|
|
3
|
+
"version": "1.2.1",
|
|
4
|
+
"description": "SoulSpec extension for Pi Coding Agent - Load and manage AI agent personas",
|
|
5
|
+
"main": "dist/soul.js",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"pi-package",
|
|
8
|
+
"pi",
|
|
9
|
+
"pi-coding-agent",
|
|
10
|
+
"pi-extensions",
|
|
11
|
+
"soulspec",
|
|
12
|
+
"ai-persona",
|
|
13
|
+
"agent-persona"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"access": "public",
|
|
17
|
+
"type": "module",
|
|
18
|
+
"author": "VTSTech",
|
|
19
|
+
"homepage": "https://www.vts-tech.org",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://github.com/VTSTech/pi-coding-agent"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@vtstech/pi-shared": "1.2.1"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@mariozechner/pi-coding-agent": ">=0.66"
|
|
29
|
+
},
|
|
30
|
+
"pi": {
|
|
31
|
+
"extensions": ["./soul.js"]
|
|
32
|
+
}
|
|
33
|
+
}
|