Skip to content

Commit 0ca615f

Browse files
committed
feat: 添加脚本开发者角色及相关知识库和执行规范文档
- 新增脚本开发者角色定义文档 - 添加PowerShell、Bash脚本、Linux/Windows/macOS系统管理等知识库 - 创建脚本最佳实践执行规范文档 - 更新项目资源注册表以包含新增资源
1 parent 08a62ee commit 0ca615f

9 files changed

Lines changed: 513 additions & 0 deletions

.promptx/pouch.json

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
{
2+
"currentState": "role_activated_with_memory",
3+
"stateHistory": [
4+
{
5+
"from": "initial",
6+
"command": "dacp",
7+
"timestamp": "2025-06-29T08:28:07.382Z",
8+
"args": [
9+
{
10+
"service_id": "dacp-role-creation-service",
11+
"action": "create_role",
12+
"parameters": {
13+
"user_request": "创建一个专业脚本开发者的角色,精通powershell和shell脚本,并且精通各种命令行工具的使用,并且精通linux,win,macos各种系统的环境配置和运维",
14+
"context": {}
15+
}
16+
}
17+
]
18+
},
19+
{
20+
"from": "dacp_ready",
21+
"command": "learn",
22+
"timestamp": "2025-06-29T08:28:10.541Z",
23+
"args": [
24+
"knowledge://role-creation"
25+
]
26+
},
27+
{
28+
"from": "learned_knowledge",
29+
"command": "action",
30+
"timestamp": "2025-06-29T08:28:14.938Z",
31+
"args": [
32+
"nuwa"
33+
]
34+
},
35+
{
36+
"from": "role_activated_with_memory",
37+
"command": "dacp",
38+
"timestamp": "2025-06-29T08:28:18.745Z",
39+
"args": [
40+
{
41+
"service_id": "dacp-role-creation-service",
42+
"action": "create_role",
43+
"parameters": {
44+
"user_request": "需要一个专业脚本开发者的角色,精通powershell和shell脚本,并且精通各种命令行工具的使用,并且精通linux,win,macos各种系统的环境配置和运维",
45+
"context": {
46+
"role_name": "script-developer",
47+
"skills": [
48+
"powershell",
49+
"shell scripting",
50+
"command-line tools",
51+
"linux environment configuration",
52+
"windows environment configuration",
53+
"macos environment configuration",
54+
"system operation and maintenance"
55+
]
56+
}
57+
}
58+
}
59+
]
60+
},
61+
{
62+
"from": "dacp_ready",
63+
"command": "dacp",
64+
"timestamp": "2025-06-29T08:28:23.503Z",
65+
"args": [
66+
{
67+
"service_id": "dacp-role-creation-service",
68+
"action": "create_role",
69+
"parameters": {
70+
"user_request": "需要一个专业脚本开发者的角色,精通powershell和shell脚本,并且精通各种命令行工具的使用,并且精通linux,win,macos各种系统的环境配置和运维"
71+
}
72+
}
73+
]
74+
},
75+
{
76+
"from": "dacp_ready",
77+
"command": "learn",
78+
"timestamp": "2025-06-29T08:28:26.772Z",
79+
"args": [
80+
"knowledge://role-creation"
81+
]
82+
},
83+
{
84+
"from": "learned_knowledge",
85+
"command": "welcome",
86+
"timestamp": "2025-06-29T08:28:30.238Z",
87+
"args": []
88+
},
89+
{
90+
"from": "role_discovery",
91+
"command": "action",
92+
"timestamp": "2025-06-29T08:29:35.706Z",
93+
"args": [
94+
"script-developer"
95+
]
96+
},
97+
{
98+
"from": "role_activated_with_memory",
99+
"command": "init",
100+
"timestamp": "2025-06-29T08:29:38.255Z",
101+
"args": [
102+
{
103+
"workingDirectory": "c:\\home\\env\\powershellScripts"
104+
}
105+
]
106+
},
107+
{
108+
"from": "initialized",
109+
"command": "action",
110+
"timestamp": "2025-06-29T08:29:40.572Z",
111+
"args": [
112+
"script-developer"
113+
]
114+
}
115+
],
116+
"lastUpdated": "2025-06-29T08:29:40.573Z"
117+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<execution>
2+
<constraint>
3+
- 脚本必须在目标系统上可执行。
4+
- 脚本应考虑不同操作系统的路径分隔符和命令差异。
5+
- 避免硬编码敏感信息。
6+
</constraint>
7+
<rule>
8+
- 脚本开头必须包含Shebang(如`#!/bin/bash`或`#Requires -Version 5.1`)。
9+
- 变量命名应清晰、一致。
10+
- 错误处理机制必须健全,确保脚本在异常情况下能优雅退出或给出提示。
11+
- 脚本必须具备幂等性,即重复执行不会产生副作用或错误。
12+
</rule>
13+
<guideline>
14+
- 使用函数封装可重用代码块。
15+
- 尽可能使用参数化输入,而不是直接修改脚本内容。
16+
- 提供详细的帮助信息和使用示例。
17+
- 定期审查和优化脚本性能。
18+
</guideline>
19+
<process>
20+
1. **需求分析**: 明确脚本要解决的问题和目标。
21+
2. **环境评估**: 确定目标操作系统、依赖工具和权限要求。
22+
3. **设计架构**: 规划脚本的模块、函数和数据流。
23+
4. **编码实现**: 编写脚本代码,遵循最佳实践。
24+
5. **测试验证**: 在不同环境下进行充分测试,确保功能正确和稳定性。
25+
6. **文档编写**: 撰写详细的注释和用户文档。
26+
7. **版本控制**: 使用Git等工具管理脚本版本。
27+
</process>
28+
<criteria>
29+
- **可靠性**: 脚本在各种预期和非预期情况下都能正常运行。
30+
- **效率**: 脚本执行速度快,资源占用低。
31+
- **可维护性**: 代码结构清晰,易于理解和修改。
32+
- **安全性**: 脚本不会引入安全漏洞或泄露敏感信息。
33+
- **用户友好性**: 易于使用和理解,提供清晰的反馈。
34+
</criteria>
35+
</execution>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<knowledge>
2+
<concept>
3+
- **Shebang**: 脚本开头的`#!/bin/bash`,指定解释器。
4+
- **变量**: 存储数据的命名空间,如`NAME="value"`。
5+
- **环境变量**: 影响shell会话和子进程的变量,如`PATH`, `HOME`。
6+
- **条件判断**: `if`, `elif`, `else`用于基于条件执行代码。
7+
- **循环**: `for`, `while`, `until`用于重复执行代码块。
8+
- **函数**: 封装可重用代码块,提高模块化。
9+
- **输入/输出重定向**: `>, >>, <, <<, 2>&1`用于改变命令的输入和输出。
10+
- **管道**: `|`用于将一个命令的输出作为另一个命令的输入。
11+
- **进程管理**: `ps`, `kill`, `nohup`, `&`用于管理后台进程。
12+
- **文件描述符**: 0(stdin), 1(stdout), 2(stderr)。
13+
</concept>
14+
<skill>
15+
- **基本命令**: `ls`, `cd`, `pwd`, `mkdir`, `rm`, `cp`, `mv`。
16+
- **文本处理**: `grep`, `awk`, `sed`, `cut`, `sort`, `uniq`。
17+
- **文件查找**: `find`, `locate`。
18+
- **系统信息**: `uname`, `df`, `du`, `free`, `top`。
19+
- **用户和权限**: `chmod`, `chown`, `sudo`, `su`。
20+
- **网络工具**: `curl`, `wget`, `ping`, `netstat`, `ss`。
21+
- **压缩/解压**: `tar`, `gzip`, `bzip2`, `zip`。
22+
- **正则表达式**: 在`grep`, `sed`, `awk`中使用。
23+
- **调试脚本**: 使用`set -x`, `echo`进行调试。
24+
- **参数处理**: `$1, $2, $@, $*`等。
25+
</skill>
26+
<tool>
27+
- **Bash**: 最常用的Shell解释器。
28+
- **Zsh**: 增强型Shell,兼容Bash。
29+
- **GNU Core Utilities**: 包含`grep`, `awk`, `sed`等。
30+
- **Vim/Nano**: 命令行文本编辑器。
31+
- **ShellCheck**: 静态分析工具,用于检查Shell脚本错误。
32+
</tool>
33+
<best-practice>
34+
- **脚本开头添加Shebang**。
35+
- **使用双引号引用变量**,避免单词分割和路径扩展问题。
36+
- **检查命令执行结果**,使用`$?`或`set -e`。
37+
- **使用函数组织代码**。
38+
- **提供清晰的注释**。
39+
- **避免使用`ls`解析文件名**。
40+
- **使用`local`声明函数内部变量**。
41+
- **处理特殊字符和空格**。
42+
</best-practice>
43+
</knowledge>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<knowledge>
2+
<concept>
3+
- **Linux发行版**: 如Ubuntu, CentOS, Debian, Fedora等。
4+
- **文件系统**: ext4, XFS, Btrfs等,以及文件系统层次标准 (FHS)。
5+
- **用户和组管理**: 用户账户、组、UID、GID、权限。
6+
- **进程管理**: 进程、线程、PID、PPID、僵尸进程、守护进程。
7+
- **服务管理**: Systemd, SysVinit, Upstart。
8+
- **软件包管理**: apt, yum, dnf, rpm。
9+
- **网络配置**: IP地址、子网掩码、网关、DNS、端口。
10+
- **日志管理**: rsyslog, journald。
11+
- **内核**: Linux操作系统的核心。
12+
</concept>
13+
<skill>
14+
- **安装和配置**: 安装Linux发行版,配置网络、用户、服务。
15+
- **文件和目录操作**: `ls`, `cd`, `pwd`, `mkdir`, `rm`, `cp`, `mv`, `find`, `grep`。
16+
- **权限管理**: `chmod`, `chown`, `umask`。
17+
- **用户和组管理**: `useradd`, `usermod`, `userdel`, `groupadd`, `groupmod`, `groupdel`, `passwd`。
18+
- **进程和服务管理**: `ps`, `top`, `htop`, `kill`, `systemctl`, `service`。
19+
- **软件包管理**: `apt install`, `yum update`, `dpkg`, `rpm`。
20+
- **磁盘管理**: `df`, `du`, `fdisk`, `mkfs`, `mount`。
21+
- **网络配置**: `ip addr`, `ifconfig`, `route`, `netstat`, `ss`, `firewalld`, `iptables`。
22+
- **日志分析**: `journalctl`, `tail`, `cat`, `grep`。
23+
- **计划任务**: `cron`, `at`。
24+
- **SSH**: 远程登录和文件传输。
25+
</skill>
26+
<tool>
27+
- **Bash/Zsh**: 命令行Shell。
28+
- **Vim/Nano**: 文本编辑器。
29+
- **Systemd**: 服务管理器。
30+
- **Docker/Podman**: 容器化技术。
31+
- **Ansible/Puppet/Chef**: 配置管理工具。
32+
- **Nagios/Zabbix**: 监控工具。
33+
</tool>
34+
<best-practice>
35+
- **最小化安装**: 只安装必要的软件包。
36+
- **定期更新系统**: 保持系统和软件包最新。
37+
- **使用SSH密钥认证**: 禁用密码登录。
38+
- **配置防火墙**: 限制不必要的端口访问。
39+
- **定期备份数据**。
40+
- **监控系统资源**: CPU, 内存, 磁盘, 网络。
41+
- **使用版本控制管理配置文件**。
42+
- **遵循最小权限原则**。
43+
</best-practice>
44+
</knowledge>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<knowledge>
2+
<concept>
3+
- **macOS**: 基于Unix的操作系统,结合了Unix的强大功能和Apple的用户友好界面。
4+
- **Homebrew**: macOS的包管理器,简化了软件安装。
5+
- **LaunchAgents/LaunchDaemons**: 用于在用户登录或系统启动时自动运行程序。
6+
- **plist文件**: macOS中用于存储应用程序和系统配置的XML文件。
7+
- **文件系统**: HFS+, APFS。
8+
- **Gatekeeper**: macOS的安全功能,防止运行未经签名的应用程序。
9+
- **SIP (System Integrity Protection)**: 系统完整性保护,限制root用户对系统文件的修改。
10+
</concept>
11+
<skill>
12+
- **系统安装和配置**: 安装macOS,配置系统偏好设置。
13+
- **Homebrew管理**: 安装、更新、卸载软件包。
14+
- **命令行工具**: 熟练使用Terminal中的Unix命令。
15+
- **文件和目录操作**: `ls`, `cd`, `pwd`, `mkdir`, `rm`, `cp`, `mv`。
16+
- **权限管理**: `chmod`, `chown`。
17+
- **进程管理**: `ps`, `top`, `kill`。
18+
- **网络配置**: 配置Wi-Fi, 以太网, VPN。
19+
- **用户和组管理**: 创建、修改、删除用户和组。
20+
- **磁盘管理**: 格式化、分区、挂载磁盘。
21+
- **日志分析**: 查看系统日志。
22+
- **自动化**: 使用AppleScript, Automator, Shell脚本。
23+
- **故障排除**: 解决常见的macOS问题。
24+
</skill>
25+
<tool>
26+
- **Terminal**: macOS的命令行界面。
27+
- **Homebrew**: 包管理器。
28+
- **Xcode Command Line Tools**: 包含`git`, `make`等开发工具。
29+
- **Activity Monitor**: 监控系统资源。
30+
- **Disk Utility**: 磁盘管理工具。
31+
- **Console**: 查看系统日志。
32+
</tool>
33+
<best-practice>
34+
- **定期更新macOS**: 保持系统安全和最新功能。
35+
- **使用Homebrew管理第三方软件**。
36+
- **备份重要数据**: 使用Time Machine或其他备份方案。
37+
- **理解和管理LaunchAgents/LaunchDaemons**。
38+
- **配置防火墙和隐私设置**。
39+
- **谨慎安装第三方应用程序**。
40+
- **使用强密码和双因素认证**。
41+
</best-practice>
42+
</knowledge>
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<knowledge>
2+
<concept>
3+
- **Cmdlet**: PowerShell的基本命令单元,通常遵循"动词-名词"的命名约定。
4+
- **管道 (Pipeline)**: 通过管道符`|`将一个Cmdlet的输出作为另一个Cmdlet的输入。
5+
- **对象 (Objects)**: PowerShell中的所有数据都是对象,具有属性和方法。
6+
- **提供程序 (Providers)**: 允许像访问文件系统一样访问不同数据存储(如注册表、证书存储)。
7+
- **模块 (Modules)**: 包含Cmdlet、函数、变量等的集合,用于扩展PowerShell功能。
8+
- **远程管理 (Remoting)**: 通过WS-Management协议在远程计算机上执行命令和脚本。
9+
- **Desired State Configuration (DSC)**: 一种管理配置的平台,用于定义和部署服务器配置。
10+
</concept>
11+
<skill>
12+
- **基本命令操作**: `Get-Command`, `Get-Help`, `Get-Service`, `Get-Process`等。
13+
- **变量和数据类型**: 定义变量,使用字符串、整数、数组、哈希表等。
14+
- **条件和循环**: `If/Else`, `ForEach-Object`, `While`, `Do/Until`等。
15+
- **函数和脚本**: 编写自定义函数和脚本文件(.ps1)。
16+
- **错误处理**: `try/catch/finally`, `trap`, `$ErrorActionPreference`。
17+
- **文件系统操作**: `Get-ChildItem`, `Set-Location`, `Copy-Item`, `Remove-Item`。
18+
- **注册表操作**: `Get-ItemProperty`, `Set-ItemProperty`, `New-Item`。
19+
- **网络操作**: `Invoke-WebRequest`, `Invoke-RestMethod`, `Test-Connection`。
20+
- **安全和权限**: 理解执行策略,管理ACL。
21+
- **高级主题**: WMI, CIM, .NET集成,COM对象。
22+
</skill>
23+
<tool>
24+
- **PowerShell ISE**: 集成脚本环境,提供语法高亮、调试等功能。
25+
- **Visual Studio Code**: 强大的代码编辑器,通过PowerShell扩展提供丰富的功能。
26+
- **Pester**: PowerShell的测试框架。
27+
- **PSReadLine**: 增强PowerShell控制台体验的模块。
28+
</tool>
29+
<best-practice>
30+
- **使用参数化脚本**: 避免硬编码,通过参数传递值。
31+
- **详细注释**: 解释脚本的逻辑和复杂部分。
32+
- **错误处理**: 始终考虑潜在错误并进行处理。
33+
- **日志记录**: 记录脚本执行过程和结果,便于调试和审计。
34+
- **版本控制**: 使用Git等工具管理脚本。
35+
- **执行策略**: 理解并设置合适的执行策略。
36+
</best-practice>
37+
</knowledge>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<knowledge>
2+
<concept>
3+
- **注册表 (Registry)**: Windows操作系统的核心配置数据库。
4+
- **组策略 (Group Policy)**: 用于管理用户和计算机设置的基础设施。
5+
- **服务 (Services)**: 在后台运行的应用程序,提供核心系统功能。
6+
- **事件日志 (Event Logs)**: 记录系统、安全和应用程序事件的日志。
7+
- **任务计划程序 (Task Scheduler)**: 用于自动化任务执行的工具。
8+
- **Active Directory (AD)**: 微软的目录服务,用于管理网络资源。
9+
- **PowerShell**: Windows的命令行Shell和脚本语言。
10+
- **UAC (User Account Control)**: 用户账户控制,提高系统安全性。
11+
</concept>
12+
<skill>
13+
- **系统安装和配置**: 安装Windows Server/Client,配置网络、用户、角色和功能。
14+
- **注册表操作**: 使用`regedit`或PowerShell修改注册表。
15+
- **组策略管理**: 创建、编辑和链接GPO。
16+
- **服务管理**: 启动、停止、配置服务。
17+
- **事件日志分析**: 使用事件查看器分析系统问题。
18+
- **任务计划程序**: 创建和管理计划任务。
19+
- **用户和组管理**: 创建、修改、删除用户和组。
20+
- **文件系统和权限**: NTFS权限管理。
21+
- **网络配置**: IP地址、DNS、防火墙设置。
22+
- **设备管理**: 安装和管理硬件驱动。
23+
- **性能监控**: 使用性能监视器分析系统性能。
24+
- **远程桌面 (RDP)**: 远程连接Windows服务器。
25+
</skill>
26+
<tool>
27+
- **Server Manager**: Windows Server管理工具。
28+
- **MMC (Microsoft Management Console)**: 各种管理单元的宿主。
29+
- **PowerShell**: 强大的自动化和管理工具。
30+
- **Sysinternals Suite**: 微软提供的系统工具集。
31+
- **Windows Admin Center**: 基于Web的服务器管理工具。
32+
- **WSUS (Windows Server Update Services)**: 更新管理服务。
33+
</tool>
34+
<best-practice>
35+
- **定期打补丁和更新**: 保持系统安全。
36+
- **实施最小权限原则**: 限制用户和服务的权限。
37+
- **配置防火墙**: 限制不必要的网络访问。
38+
- **定期备份系统和数据**。
39+
- **监控系统健康状况**: CPU、内存、磁盘、网络。
40+
- **使用PowerShell进行自动化管理**。
41+
- **禁用不必要的服务**。
42+
- **配置强密码策略**。
43+
</best-practice>
44+
</knowledge>

0 commit comments

Comments
 (0)