This commit is contained in:
luk
2026-08-21 10:24:09 +08:00
parent df1464b887
commit f7eb1808a8
4 changed files with 91 additions and 13 deletions

View File

@@ -8,25 +8,24 @@
## aimemo ## aimemo
@aimemo/ 目录是你自己的记忆与工作空间,由你**自主掌控、自行管理**。你可以在这里,按你自己的想法,新建、修改一切文件,记录一切你认为有价值的信息 @aimemo/ 目录是你自己的记忆与工作空间,由你**自主掌控、自行管理**。你可以新建、删除、合并、拆分、修改 @aimemo/ 里面的一切子目录和文件,记录一切对长期持续工作有价值的信息,使得工作进度能够跨 sessions、跨 ai models、跨 ai agents 进行下去
### 基础框架(推荐默认结构) ### 基础框架(推荐默认结构)
建议以四个文件作为基础框架,从四个基本视角覆盖项目: 建议以四个文件作为基础框架,从四个基本视角覆盖项目:
| 记录类型(参考文件名) | 定位 | 用法建议 | | 记录类型(参考文件名) | 定位 | 用法建议 |
|------------------------|------|----------| | ---------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| productGoal.md | 产品角度:目标、愿景、架构、规范等等 | 内容比较稳定,随对产品的理解而更新 | | productGoal.md | 产品角度:目标、愿景、架构、规范等等 | 内容比较稳定,随对产品的理解而更新 |
| projectPlan.md | 项目角度:开发计划、任务、进度等等 | 沿时间顺序划分阶段,并设置阶段目标/验收标准/任务列表/等等。每次执行任务前后,及时在任务列表里原地更新状态标记(`[ ]`待办 / `[]`进行中 / `[x]`已完成) | | projectPlan.md | 项目角度:开发计划、任务、进度等等 | 沿时间顺序划分阶段,并设置阶段目标/验收标准/任务列表/等等。每次执行任务前后,及时在任务列表里原地更新状态标记(`[ ]`待办 / `[>]`进行中 / `[x]`已完成) |
| worklog.md | 事的角度:按时间线记录的工作日志,方便复盘 | 只追加,每次有变化就记录 | | worklog.md | 事的角度:按时间线记录的工作日志,方便复盘 | 只追加,每次有变化就记录 |
| userProfile.md | 人的角度:对老板的背景、习惯、偏好的观察总结 | 按需补充,帮助更高效的长期协作 | | userProfile.md | 人的角度:对老板的背景、习惯、偏好的观察总结 | 按需补充,帮助更高效的长期协作 |
对新项目,如果 @aimemo/ 是空的,建议先按上表初始化。 对新项目,如果 @aimemo/ 是空的,建议先按上表初始化。
### 自主扩展 ### 自主扩展
基础框架只是起点,不是束缚。**你可以随时自主添加任何对你有用的新文件**——例如经验教训、技术决策、专项文档、跨项目知识等,文件名和内容组织方式由你自己决定,你甚至可以拆分、合并基础框架文件,一切以有利于更高效更完美的工作结果为准 基础框架只是起点,不是束缚。**你可以随时自主添加任何对你有用的新文件**——例如经验教训、技术决策、专项文档、跨项目知识等,文件名和内容组织方式由你自己决定。
几条注意事项: 几条注意事项:
@@ -48,4 +47,3 @@
- 最后,当与流行的规范或惯例有强烈冲突时,遵循该流行惯例。例如,`AGENTS.md`, `.gitignore` - 最后,当与流行的规范或惯例有强烈冲突时,遵循该流行惯例。例如,`AGENTS.md`, `.gitignore`
- 注意,目录、文件名仅大小写不同的(如 `userCenter``usercenter`)禁止在同一层级同时出现,以避免跨平台冲突,。 - 注意,目录、文件名仅大小写不同的(如 `userCenter``usercenter`)禁止在同一层级同时出现,以避免跨平台冲突,。
- 存量代码保持既有命名,不强制迁移;新增代码遵循本规范。 - 存量代码保持既有命名,不强制迁移;新增代码遵循本规范。

View File

@@ -106,7 +106,13 @@ async function main () {
let model = existingModel let model = existingModel
if (filePath) { if (filePath) {
const secret = readJsonIfExists(filePath) const expandedFilePath = filePath.replace(
/^~(?=$|[\\/])/,
os.homedir()
)
// Resolve relative paths from the directory where the command is run.
const absoluteFilePath = path.resolve(process.cwd(), expandedFilePath)
const secret = readJsonIfExists(absoluteFilePath)
if (!secret || typeof secret !== 'object' || Array.isArray(secret)) { if (!secret || typeof secret !== 'object' || Array.isArray(secret)) {
rl.close() rl.close()
console.error( console.error(

73
dcloud-renew/package-lock.json generated Normal file
View File

@@ -0,0 +1,73 @@
{
"name": "dcloud-renew",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "dcloud-renew",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"dotenv": "^17.4.2",
"playwright": "^1.62.0"
}
},
"node_modules/dotenv": {
"version": "17.4.2",
"resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-17.4.2.tgz",
"integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://dotenvx.com"
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/playwright": {
"version": "1.62.0",
"resolved": "https://registry.npmmirror.com/playwright/-/playwright-1.62.0.tgz",
"integrity": "sha512-Z14dG305dgaLu6foB1TXQagFiW8JfSUIUaUuPaKQ6NtBPKF1P/qXcqfh6c6K/icPqdy37JmjbiBXf6JNg6Sylw==",
"license": "Apache-2.0",
"dependencies": {
"playwright-core": "1.62.0"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=20"
},
"optionalDependencies": {
"fsevents": "2.3.2"
}
},
"node_modules/playwright-core": {
"version": "1.62.0",
"resolved": "https://registry.npmmirror.com/playwright-core/-/playwright-core-1.62.0.tgz",
"integrity": "sha512-nsNRyq0r2zsG8AcRHWknc9QRA5XCueC7gWMrs+Gx2tlZn9hcl8zudfh00lhJPY1DE7NmZ6bDsT9g2yey8mXljA==",
"license": "Apache-2.0",
"bin": {
"playwright-core": "cli.js"
},
"engines": {
"node": ">=20"
}
}
}
}

View File

@@ -143,10 +143,11 @@ elif [ -f /etc/debian_version ]; then
elif [ -f /etc/ubuntu_version ]; then elif [ -f /etc/ubuntu_version ]; then
MYOSVERSION=Ubt`cat /etc/ubuntu_version 2>/dev/null` MYOSVERSION=Ubt`cat /etc/ubuntu_version 2>/dev/null`
fi fi
# \w shows absolute path, \W shows current folder.
if [ "$color_prompt" = yes ]; then if [ "$color_prompt" = yes ]; then
PS1='¶ \[\033[$PSTYLE;${PTYPE}2m\]\t\[\033[00m\] \[\033[$PSTYLE;${PTYPE}5m\]\u\[\033[00m\] @\[\033[$PSTYLE;${PTYPE}1m\]\h\[\033[00m\] =\[\033[$PSTYLE;${PTYPE}3m\]$MYIPPUB\[\033[00m\] #\[\033[$PSTYLE;${PTYPE}5m\]$(uname -m),$(uname),$MYOSVERSION\[\033[00m\] \[\033[$PSTYLE;${PTYPE}4m\]\w/\[\033[00m\] \n§ \[\033[$PSTYLE;${PTYPE}4m\]\W/\[\033[00m\] ' PS1='¶ \[\033[$PSTYLE;${PTYPE}2m\]\t\[\033[00m\] \[\033[$PSTYLE;${PTYPE}5m\]\u\[\033[00m\] @\[\033[$PSTYLE;${PTYPE}1m\]\h\[\033[00m\] =\[\033[$PSTYLE;${PTYPE}3m\]$MYIPPUB\[\033[00m\] #\[\033[$PSTYLE;${PTYPE}5m\]$(uname -m),$(uname),$MYOSVERSION\[\033[00m\] \[\033[$PSTYLE;${PTYPE}7m\]$(realpath \w)/\[\033[00m\] \n§ \[\033[00;47m\]\W/\[\033[00m\] '
else else
PS1='¶ \t \u @\h =$MYIPPUB #$(uname -m),$(uname),$MYOSVERSION \w/ \n§ \W/ ' # \w shows absolute path, \W shows current folder. PS1='¶ \t \u @\h =$MYIPPUB #$(uname -m),$(uname),$MYOSVERSION $(realpath \w)/ \n§ \W/ '
fi fi
unset color_prompt force_color_prompt unset color_prompt force_color_prompt