From dc216bee1cdddcb2ac52773558ecb7ddd81e30f9 Mon Sep 17 00:00:00 2001 From: Cookie <66586788+yangrudan@users.noreply.github.com> Date: Wed, 5 Nov 2025 19:35:42 +0800 Subject: [PATCH 01/14] Enhance vision and collaboration details for OPS-agent Expanded the vision and collaboration section for OPS-agent, detailing future plans and inviting contributions from various roles. --- yangrudan.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 yangrudan.md diff --git a/yangrudan.md b/yangrudan.md new file mode 100644 index 0000000..2afb78a --- /dev/null +++ b/yangrudan.md @@ -0,0 +1,17 @@ +# 愿景 + +基于黑客松比赛中的demo产品[OPS-agent](https://github.com/yangrudan/OPS-agent), 秉承初心,在自己力所能及的范围内将它推进成熟(也欢迎志同道合之士的加入,共建共商)。 + +- 接入更多智能硬件; +- 丰富和合理规划长短期记忆模块; +- 进一步完善数据流设计; +- agent落地可用。 + +# join + OPS-agent 的核心初心是「成为老年人的守护者的初心」。让智能硬件联动更简单,让数据价值更易发挥。无论是硬件开发者、后端工程师、前端设计师,还是对 IoT 感兴趣的爱好者,都欢迎加入共建: +- 如果你有硬件资源,可参与硬件适配与兼容性测试; +- 如果你擅长编程,可参与核心模块开发或优化; +- 如果你关注用户体验,可参与文档编写或 UI/UX 设计; +- 如果你有实际场景需求,可反馈需求并参与场景模板设计。 + +让我们一起把黑客松的创意落地为真正可用的产品,让 OPS-agent 服务于Old people! From 6aa6846616209b058fede46a5f05fa6116882a99 Mon Sep 17 00:00:00 2001 From: Cookie <66586788+yangrudan@users.noreply.github.com> Date: Tue, 11 Nov 2025 20:29:41 +0800 Subject: [PATCH 02/14] Update project description for OPS-agent --- yangrudan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yangrudan.md b/yangrudan.md index 2afb78a..46aa112 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -1,6 +1,6 @@ # 愿景 -基于黑客松比赛中的demo产品[OPS-agent](https://github.com/yangrudan/OPS-agent), 秉承初心,在自己力所能及的范围内将它推进成熟(也欢迎志同道合之士的加入,共建共商)。 +基于超级智能体 Campathon比赛中的作品[OPS-agent](https://github.com/yangrudan/OPS-agent), 秉承初心,在自己力所能及的范围内将它推进成熟(也欢迎志同道合之士的加入,共建共商)。 - 接入更多智能硬件; - 丰富和合理规划长短期记忆模块; From 8a801b2494cc455a61cf36ece4f61a106e1658d4 Mon Sep 17 00:00:00 2001 From: Cookie <66586788+yangrudan@users.noreply.github.com> Date: Tue, 11 Nov 2025 20:30:07 +0800 Subject: [PATCH 03/14] Update project description for Campathon --- yangrudan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yangrudan.md b/yangrudan.md index 46aa112..2b04d80 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -14,4 +14,4 @@ - 如果你关注用户体验,可参与文档编写或 UI/UX 设计; - 如果你有实际场景需求,可反馈需求并参与场景模板设计。 -让我们一起把黑客松的创意落地为真正可用的产品,让 OPS-agent 服务于Old people! +让我们一起把超级智能体 Campathon的创意落地为真正可用的产品,让 OPS-agent 服务于Old people! From 7a239e023a4928d03adafdbfec54ef29386a9a41 Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Tue, 11 Nov 2025 20:39:52 +0800 Subject: [PATCH 04/14] Infuse with emotion --- yangrudan.md | 54 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index 2b04d80..1afbb7d 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -1,17 +1,37 @@ -# 愿景 - -基于超级智能体 Campathon比赛中的作品[OPS-agent](https://github.com/yangrudan/OPS-agent), 秉承初心,在自己力所能及的范围内将它推进成熟(也欢迎志同道合之士的加入,共建共商)。 - -- 接入更多智能硬件; -- 丰富和合理规划长短期记忆模块; -- 进一步完善数据流设计; -- agent落地可用。 - -# join - OPS-agent 的核心初心是「成为老年人的守护者的初心」。让智能硬件联动更简单,让数据价值更易发挥。无论是硬件开发者、后端工程师、前端设计师,还是对 IoT 感兴趣的爱好者,都欢迎加入共建: -- 如果你有硬件资源,可参与硬件适配与兼容性测试; -- 如果你擅长编程,可参与核心模块开发或优化; -- 如果你关注用户体验,可参与文档编写或 UI/UX 设计; -- 如果你有实际场景需求,可反馈需求并参与场景模板设计。 - -让我们一起把超级智能体 Campathon的创意落地为真正可用的产品,让 OPS-agent 服务于Old people! +## 愿景:用科技守护每一份牵挂 +在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——OPS-agent。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 + +我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正“活”起来,让数据不再冰冷,让陪伴不再遥远。 + +我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: +==== + +- 更广泛的硬件接入:兼容更多智能设备,让守护无界; + +- 更智能的记忆系统:构建长短期的行为与健康记忆,让关怀更懂人心; + +- 更流畅的数据架构:优化数据流转,让信息价值真正服务于人; + +- 更实用的场景落地:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者。 + +## 加入我们:一起点亮守护的微光 +OPS-agent 的核心初心,**始终是「成为老年人的守护者」**。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 + +我们诚挚邀请你,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: + +- 如果你有硬件资源:欢迎参与设备适配与测试,让更多智能硬件成为守护的“眼睛”与“双手”; + +- 如果你擅长编程:无论是前端、后端还是算法,都欢迎你参与核心功能的开发与优化; + +- 如果你关注用户体验:欢迎参与文档撰写、界面设计、交互优化,让产品更贴心、更易用; + +- 如果你有实际场景需求:欢迎分享你的故事与场景,参与模板设计,让 OPS-agent 更贴近真实生活。 + +我们不仅仅是在开发一个项目,我们是在编织一张温暖的网,托起那些容易被遗忘的日常。 + +让我们一起,把 Campathon 中的那颗初心,种进现实的土壤,浇灌成荫。 +让 OPS-agent 不止于代码,而是成为每一位老人身边,最可靠的守护者。 + + +因为我们相信:科技,终将回归于人。守护,从不应该孤单。 +=== From 2ce1a8169856736ddb9ea9d01c24c99df3c62711 Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Tue, 11 Nov 2025 21:04:08 +0800 Subject: [PATCH 05/14] Organize the table of contents and outline --- yangrudan.md | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index 1afbb7d..c2a562a 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -1,4 +1,17 @@ -## 愿景:用科技守护每一份牵挂 +## 💖 愿景:用科技守护每一份牵挂 + +在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——**OPS-agent** 🤖。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量 ⚡,为那些渐渐老去的父母、祖辈 👴👵,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁 🌉。 + +我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具 💝。OPS-agent 的使命,就是让智能硬件真正"活"起来 ✨,让数据不再冰冷,让陪伴不再遥远。 + +### 🚀 我们的发展目标 + +我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: + +- 📱 **更广泛的硬件接入**:兼容更多智能设备,让守护无界 +- 🧠 **更智能的记忆系统**:构建长短期的行为与健康记忆,让关怀更懂人心 +- ⚙️ **更流畅的数据架构**:优化数据流转,让信息价值真正服务于人 +- 🏠 **更实用的场景落地**:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者挂 在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——OPS-agent。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正“活”起来,让数据不再冰冷,让陪伴不再遥远。 @@ -14,24 +27,28 @@ - 更实用的场景落地:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者。 -## 加入我们:一起点亮守护的微光 -OPS-agent 的核心初心,**始终是「成为老年人的守护者」**。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 +## 🤝 加入我们:一起点亮守护的微光 + +OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 💙。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 -我们诚挚邀请你,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: +我们诚挚邀请你 🙋‍♀️,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: -- 如果你有硬件资源:欢迎参与设备适配与测试,让更多智能硬件成为守护的“眼睛”与“双手”; +### 🎯 招募伙伴 -- 如果你擅长编程:无论是前端、后端还是算法,都欢迎你参与核心功能的开发与优化; +- 🔧 **如果你有硬件资源**:欢迎参与设备适配与测试,让更多智能硬件成为守护的"眼睛"与"双手" +- 💻 **如果你擅长编程**:无论是前端、后端还是算法,都欢迎你参与核心功能的开发与优化 +- 🎨 **如果你关注用户体验**:欢迎参与文档撰写、界面设计、交互优化,让产品更贴心、更易用 +- 📝 **如果你有实际场景需求**:欢迎分享你的故事与场景,参与模板设计,让 OPS-agent 更贴近真实生活 -- 如果你关注用户体验:欢迎参与文档撰写、界面设计、交互优化,让产品更贴心、更易用; +--- -- 如果你有实际场景需求:欢迎分享你的故事与场景,参与模板设计,让 OPS-agent 更贴近真实生活。 +### ❤️ 我们的使命 -我们不仅仅是在开发一个项目,我们是在编织一张温暖的网,托起那些容易被遗忘的日常。 +我们不仅仅是在开发一个项目,我们是在编织一张温暖的网,托起那些容易被遗忘的日常 🕸️✨。 -让我们一起,把 Campathon 中的那颗初心,种进现实的土壤,浇灌成荫。 -让 OPS-agent 不止于代码,而是成为每一位老人身边,最可靠的守护者。 +让我们一起,把 Campathon 中的那颗初心 💖,种进现实的土壤 🌱,浇灌成荫 🌳。 +让 OPS-agent 不止于代码,而是成为每一位老人身边,最可靠的守护者 🛡️。 +--- -因为我们相信:科技,终将回归于人。守护,从不应该孤单。 -=== +> 💭 **因为我们相信**:科技,终将回归于人 👥。守护,从不应该孤单 🤗。 From c7198094b555948987c1d71227118baad43c7abe Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Thu, 13 Nov 2025 18:24:45 +0800 Subject: [PATCH 06/14] remove unix/linux char --- yangrudan.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index c2a562a..6ebf700 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -1,17 +1,17 @@ -## 💖 愿景:用科技守护每一份牵挂 +## 愿景:用科技守护每一份牵挂 -在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——**OPS-agent** 🤖。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量 ⚡,为那些渐渐老去的父母、祖辈 👴👵,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁 🌉。 +在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——**OPS-agent** 。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 -我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具 💝。OPS-agent 的使命,就是让智能硬件真正"活"起来 ✨,让数据不再冰冷,让陪伴不再遥远。 +我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正"活"起来 ,让数据不再冰冷,让陪伴不再遥远。 ### 🚀 我们的发展目标 我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: -- 📱 **更广泛的硬件接入**:兼容更多智能设备,让守护无界 -- 🧠 **更智能的记忆系统**:构建长短期的行为与健康记忆,让关怀更懂人心 -- ⚙️ **更流畅的数据架构**:优化数据流转,让信息价值真正服务于人 -- 🏠 **更实用的场景落地**:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者挂 +- **更广泛的硬件接入**:兼容更多智能设备,让守护无界 +- **更智能的记忆系统**:构建长短期的行为与健康记忆,让关怀更懂人心 +- **更流畅的数据架构**:优化数据流转,让信息价值真正服务于人 +- **更实用的场景落地**:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者挂 在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——OPS-agent。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正“活”起来,让数据不再冰冷,让陪伴不再遥远。 @@ -27,18 +27,18 @@ - 更实用的场景落地:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者。 -## 🤝 加入我们:一起点亮守护的微光 +## 加入我们:一起点亮守护的微光 OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 💙。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 -我们诚挚邀请你 🙋‍♀️,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: +我们诚挚邀请你,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: -### 🎯 招募伙伴 +### 招募伙伴 -- 🔧 **如果你有硬件资源**:欢迎参与设备适配与测试,让更多智能硬件成为守护的"眼睛"与"双手" -- 💻 **如果你擅长编程**:无论是前端、后端还是算法,都欢迎你参与核心功能的开发与优化 -- 🎨 **如果你关注用户体验**:欢迎参与文档撰写、界面设计、交互优化,让产品更贴心、更易用 -- 📝 **如果你有实际场景需求**:欢迎分享你的故事与场景,参与模板设计,让 OPS-agent 更贴近真实生活 +- **如果你有硬件资源**:欢迎参与设备适配与测试,让更多智能硬件成为守护的"眼睛"与"双手" +- **如果你擅长编程**:无论是前端、后端还是算法,都欢迎你参与核心功能的开发与优化 +- **如果你关注用户体验**:欢迎参与文档撰写、界面设计、交互优化,让产品更贴心、更易用 +- **如果你有实际场景需求**:欢迎分享你的故事与场景,参与模板设计,让 OPS-agent 更贴近真实生活 --- @@ -46,9 +46,9 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 💙 我们不仅仅是在开发一个项目,我们是在编织一张温暖的网,托起那些容易被遗忘的日常 🕸️✨。 -让我们一起,把 Campathon 中的那颗初心 💖,种进现实的土壤 🌱,浇灌成荫 🌳。 -让 OPS-agent 不止于代码,而是成为每一位老人身边,最可靠的守护者 🛡️。 +让我们一起,把 Campathon 中的那颗初心,种进现实的土壤 ,浇灌成荫 。 +让 OPS-agent 不止于代码,而是成为每一位老人身边,最可靠的守护者。 --- -> 💭 **因为我们相信**:科技,终将回归于人 👥。守护,从不应该孤单 🤗。 +> **因为我们相信**:科技,终将回归于人。守护,从不应该孤单。 From c45cfe52be09e27c40c37c2ac083f4f148aaf3ad Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Thu, 13 Nov 2025 21:48:21 +0800 Subject: [PATCH 07/14] feat: add business mode research --- yangrudan.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/yangrudan.md b/yangrudan.md index 6ebf700..a76177d 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -52,3 +52,46 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 💙 --- > **因为我们相信**:科技,终将回归于人。守护,从不应该孤单。 + + +## 商业模式调研 +> about Pieter Levels +1. 从自身痛点切入,精准锁定细分人群 + + - a. 挖掘个人高频痛点:Pieter 的核心产品均源于自身数字游民的经历,比如因找不到适合远程工作的城市信息做了 Nomad List,因需要远程工作机会搭建了 Remote OK。你可梳理自己工作生活中反复遇到的问题,像宝妈觉得母婴好物筛选麻烦、职场人难寻高效办公工具等,这类自己有切身体会的痛点,往往也是同一类人群的刚需。 + + - b. 聚焦小众细分赛道:他始终瞄准数字游民、远程工作者这类小众群体,而非追求全人群覆盖。你无需做 “大而全” 的产品,比如针对独立摄影师开发专属作品集管理工具,或是为宠物店主设计简易会员记账系统,小众赛道竞争小,更容易形成差异化优势。 + +2. 打造极简 **MVP**,快速验证市场需求 + + - a. 先做最小可行产品:Pieter 反对完美主义,常用 HTML、jQuery 等简单技术栈,两周内就能推出产品初始版本。比如你想做职场技能学习平台,初期无需开发直播、社区等复杂功能,先做 “技能干货 + 付费答疑” 的极简网页,验证用户是否愿意付费。像他 3 小时开发的《Fly》飞行模拟器,仅保留核心飞行功能,9 天就获利 1.7 万美元。 + + - b. 实行 “首日收费” 验证需求:他的产品上线初期就设置付费门槛,比如 Nomad List 年费 99 美元,Remote OK 企业发布职位收费 299 美元 / 条。这种方式能快速筛选真实付费用户,避免被 “免费用户多但无变现能力” 的假象误导。若初期付费用户极少,可及时调整方向,降低试错成本。 + +3. 设计灵活付费模式,搭建多元收入矩阵 + + - a. 针对性设计付费规则:参考他 “向付费能力强的一方收费” 的逻辑。若做双边平台,可让需求端免费、供给端付费,比如做本地兼职招聘平台,求职者免费浏览,企业发布兼职岗位收费;若做工具类产品,可采用 “免费基础功能 + 付费高级功能”,比如设计类工具免费提供基础模板,付费解锁高清导出、专属素材等功能。 + + - b. 搭建多产品协同矩阵:避免单一产品依赖,像 Pieter 用 Nomad List 解决数字游民的居住问题,Remote OK 解决其工作问题,Photo AI 满足其内容创作需求,产品间相互导流。你可围绕同一目标人群拓展产品线,比如先做母婴好物测评小程序,再延伸出母婴喂养咨询付费服务,形成收入闭环。 + + - c. 尝试订阅制或动态定价:订阅制能带来稳定现金流,比如你的产品可设置月付、年付会员;也可借鉴《Fly》的动态定价策略,初期低价吸引客户,积累口碑后逐步涨价,筛选高端用户,同时制造稀缺性提升产品价值。 + +4. 推进极限自动化,降低运营成本 + + - a. 用 AI 与工具简化核心流程:Pieter 将 AI 融入全业务链,比如用 ChatGPT 做 Nomad List 的智能客服和内容审核,用 Cursor 生成游戏代码。你可根据行业选择工具,比如做自媒体的用 AI 批量生成文案初稿,做电商的用自动化工具同步订单和物流信息,把重复工作交给工具,减少人力投入。 + + - b. 仅外包非核心环节:他仅将客服等非核心工作外包,核心的产品开发、功能迭代均亲自完成。你无需组建完整团队,比如做知识付费产品,自己负责内容创作和产品更新,售后咨询可外包给兼职人员,大幅降低人力成本。 + + - c. 简化技术栈减少维护成本:优先选择成熟、易维护的技术,避免盲目追求新潮复杂的框架。像他开发的一款 “目标 + 惩罚” 工具,用 PHP 编写后十年未改代码仍稳定运行,减少了后续维护的时间和费用。 + +5. 透明化运营,靠口碑实现低成本获客 + + - a. 公开运营数据建立信任:Pieter 常在社交平台分享产品收入、开发进度甚至 bug 截图,吸引了大量粉丝和潜在用户。你可在小红书、知乎等平台记录创业过程,比如每周更新产品用户数、收入数据,不仅能积累个人 IP,还能让用户产生信任感,进而愿意尝试产品。 + + - b. 依托社区与自传播引流:他的产品靠用户在 Hacker News 等平台分享实现初期增长,Nomad List 还搭建了用户社区增强粘性。你可在产品中加入分享功能,比如用户分享产品可获得付费时长延长,同时运营社群,鼓励用户交流体验,形成 “用户分享 — 新用户加入 — 再分享” 的正向循环,减少广告投入。 + +6. 保持独立运营,构建抗风险体系 + + - a. 拒绝融资保持自主:Pieter 始终坚持 100% 独立运营,不接受融资,避免被投资人的规模化要求绑架。初期创业尽量靠自有资金启动,若盈利稳定后有扩张需求,也优先选择小额借款或利润再投入,保持对产品的绝对掌控权。 + + - b. 隔离产品降低风险:他的 70 余个项目实现技术与收入隔离,单个产品失败不影响整体营收。你拓展产品线时,注意做好技术和财务隔离,比如不同产品用独立的账号和服务器,避免一个产品出问题牵连其他业务,增强创业的抗风险能力。 \ No newline at end of file From 67b24451d580502de95133a12d1243502ce86ff8 Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Thu, 13 Nov 2025 21:49:11 +0800 Subject: [PATCH 08/14] feat: clean emojis --- yangrudan.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index a76177d..155e634 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -4,7 +4,7 @@ 我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正"活"起来 ,让数据不再冰冷,让陪伴不再遥远。 -### 🚀 我们的发展目标 +### 发展目标 我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: @@ -29,7 +29,7 @@ ## 加入我们:一起点亮守护的微光 -OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 💙。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 +OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 我们诚挚邀请你,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: @@ -42,7 +42,7 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 💙 --- -### ❤️ 我们的使命 +### 使命 我们不仅仅是在开发一个项目,我们是在编织一张温暖的网,托起那些容易被遗忘的日常 🕸️✨。 From c95a5ced15bcdbbcb16ac749898f452b3ab68f98 Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Fri, 14 Nov 2025 18:59:17 +0800 Subject: [PATCH 09/14] feat: clean docs --- assignments/lesson1/yangrudan.md | 40 +++++++++++++++++++++++++++++ yangrudan.md | 43 -------------------------------- 2 files changed, 40 insertions(+), 43 deletions(-) create mode 100644 assignments/lesson1/yangrudan.md diff --git a/assignments/lesson1/yangrudan.md b/assignments/lesson1/yangrudan.md new file mode 100644 index 0000000..e18aeab --- /dev/null +++ b/assignments/lesson1/yangrudan.md @@ -0,0 +1,40 @@ +# 开源商业模式分析报告模板 + +## 学员GitHub用户名: yangrudan + +## 选择的商业模式 +安卓商业模式(Android 商业模式) + +## 分析内容 + +### 1. 商业模式概述 +安卓采用“开源基础 + 封闭增值服务”的双轨策略:AOSP(Android Open Source Project)以 Apache 2.0 开源,免费提供给手机厂商与开发者;Google 通过在设备上提供并绑定 Google Mobile Services (GMS) / Play Services、默认搜索与 Google Play 应用商店等闭源服务,将巨大设备规模转化为搜索流量、广告收入、应用分成与云/订阅服务收益,从而实现间接变现。 + +### 2. 收入来源 +- 搜索广告(最大):通过默认搜索引擎与 Chrome 将移动搜索流量导入 Google 广告生态,估算为数百亿美元级别(2024年移动广告估算 800–1000 亿美元)。 +- Google Play 抽成:对付费应用、应用内购买与订阅抽成(历史标准 30%,后续针对小开发者与订阅有降幅),估算抽成收入约 100–150 亿美元量级(总交易额 ~480 亿美元,抽成约 144 亿美元)。 +- GMS 授权/分成:尤在欧盟合规后对部分地区收取单台授权费或通过搜索分成实现间接收益(欧洲单台收费,其他地区以搜索分成为主)。 +- 云与订阅:Google One、YouTube Premium、Workspace 等(累计若干十亿美元)。 +- 硬件(Pixel):用于示范与技术展示,营收较小,主要价值在生态控制与 AI 能力展示。 + +### 3. 社区与生态 +- 社区基础:AOSP 开源代码、Linux 内核与上游社区贡献,吸引大量开发者与设备厂商参与。 +- 生态规模:全球活跃设备数 30 亿+,开发者 2000 万+,Google Play 应用 ~350 万。 +- 生态构建策略:免费开源吸引厂商与开发者,Play Services 提供关键基础服务(账号、推送、地图等)形成平台依赖,形成用户—开发者—厂商的双边/多边网络效应。 +- 区域差异:在中国大陆无 GMS,厂商与生态自建(HMS、各厂商应用商店);在欧美/印度等市场,GMS 与 Play Store 为主导。 + +### 4. 竞争优势 +- 规模效应:通过免费获取大量设备占领市场,形成规模化的流量与数据入口,增强广告变现能力。 +- 双轨架构优势:开源降低厂商准入门槛,封闭服务(GMS/Play Services)绑定关键体验与 API,兼顾开放与控制。 +- 网络效应:庞大的用户基数吸引开发者,丰富的应用又反向提升用户对平台的依赖。 +- 灵活的区域策略:在不同市场采用差异化策略(例如 Android Go 面向低端市场),实现全球覆盖。 + +### 5. 挑战与风险 +- 反垄断与监管风险:欧盟与多个司法管辖区对预装捆绑、默认搜索等做出限制与罚款(如 2018 欧盟罚款),新法规(如 DMA)要求开放应用商店与侧载,影响既有变现策略。 +- 隐私与广告效率下降:隐私保护趋势(如淘汰广告 ID、Privacy Sandbox)可能削弱广告精准投放能力,进而影响收入。 +- 碎片化问题:设备/版本碎片化导致更新缓慢、开发与测试成本高、用户体验不一致;长期可能影响平台形象。 +- 区域市场失利(中国)与去Google化风险:在中国市场无法提供 GMS,导致间接收入损失并催生替代生态(HMS);厂商若选择去Google化,会削弱平台控制力与变现路径。 +- 抽成争议与开发者关系:应用商店抽成、支付方式限制等引发法律诉讼与开发者不满(Epic 等案例)。 + +### 6. 个人见解 +安卓的商业模式巧妙地将“免费”作为扩张手段,用规模换取“流量与数据”,再通过多条服务管道实现巨额变现——这是对传统软件销售模式的颠覆。未来方向应侧重两点:一是合规与开放的平衡(在满足监管要求的同时,保留核心变现能力);二是将 AI 能力与本地化服务融合,创造新的订阅/服务收入(例如系统级 AI 助手、车载与可穿戴订阅)。对开发者与厂商而言,Google 需继续优化抽成/分成政策与隐私保障,以维持生态黏性并避免大规模去Google化。 diff --git a/yangrudan.md b/yangrudan.md index 155e634..f702816 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -52,46 +52,3 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 。 --- > **因为我们相信**:科技,终将回归于人。守护,从不应该孤单。 - - -## 商业模式调研 -> about Pieter Levels -1. 从自身痛点切入,精准锁定细分人群 - - - a. 挖掘个人高频痛点:Pieter 的核心产品均源于自身数字游民的经历,比如因找不到适合远程工作的城市信息做了 Nomad List,因需要远程工作机会搭建了 Remote OK。你可梳理自己工作生活中反复遇到的问题,像宝妈觉得母婴好物筛选麻烦、职场人难寻高效办公工具等,这类自己有切身体会的痛点,往往也是同一类人群的刚需。 - - - b. 聚焦小众细分赛道:他始终瞄准数字游民、远程工作者这类小众群体,而非追求全人群覆盖。你无需做 “大而全” 的产品,比如针对独立摄影师开发专属作品集管理工具,或是为宠物店主设计简易会员记账系统,小众赛道竞争小,更容易形成差异化优势。 - -2. 打造极简 **MVP**,快速验证市场需求 - - - a. 先做最小可行产品:Pieter 反对完美主义,常用 HTML、jQuery 等简单技术栈,两周内就能推出产品初始版本。比如你想做职场技能学习平台,初期无需开发直播、社区等复杂功能,先做 “技能干货 + 付费答疑” 的极简网页,验证用户是否愿意付费。像他 3 小时开发的《Fly》飞行模拟器,仅保留核心飞行功能,9 天就获利 1.7 万美元。 - - - b. 实行 “首日收费” 验证需求:他的产品上线初期就设置付费门槛,比如 Nomad List 年费 99 美元,Remote OK 企业发布职位收费 299 美元 / 条。这种方式能快速筛选真实付费用户,避免被 “免费用户多但无变现能力” 的假象误导。若初期付费用户极少,可及时调整方向,降低试错成本。 - -3. 设计灵活付费模式,搭建多元收入矩阵 - - - a. 针对性设计付费规则:参考他 “向付费能力强的一方收费” 的逻辑。若做双边平台,可让需求端免费、供给端付费,比如做本地兼职招聘平台,求职者免费浏览,企业发布兼职岗位收费;若做工具类产品,可采用 “免费基础功能 + 付费高级功能”,比如设计类工具免费提供基础模板,付费解锁高清导出、专属素材等功能。 - - - b. 搭建多产品协同矩阵:避免单一产品依赖,像 Pieter 用 Nomad List 解决数字游民的居住问题,Remote OK 解决其工作问题,Photo AI 满足其内容创作需求,产品间相互导流。你可围绕同一目标人群拓展产品线,比如先做母婴好物测评小程序,再延伸出母婴喂养咨询付费服务,形成收入闭环。 - - - c. 尝试订阅制或动态定价:订阅制能带来稳定现金流,比如你的产品可设置月付、年付会员;也可借鉴《Fly》的动态定价策略,初期低价吸引客户,积累口碑后逐步涨价,筛选高端用户,同时制造稀缺性提升产品价值。 - -4. 推进极限自动化,降低运营成本 - - - a. 用 AI 与工具简化核心流程:Pieter 将 AI 融入全业务链,比如用 ChatGPT 做 Nomad List 的智能客服和内容审核,用 Cursor 生成游戏代码。你可根据行业选择工具,比如做自媒体的用 AI 批量生成文案初稿,做电商的用自动化工具同步订单和物流信息,把重复工作交给工具,减少人力投入。 - - - b. 仅外包非核心环节:他仅将客服等非核心工作外包,核心的产品开发、功能迭代均亲自完成。你无需组建完整团队,比如做知识付费产品,自己负责内容创作和产品更新,售后咨询可外包给兼职人员,大幅降低人力成本。 - - - c. 简化技术栈减少维护成本:优先选择成熟、易维护的技术,避免盲目追求新潮复杂的框架。像他开发的一款 “目标 + 惩罚” 工具,用 PHP 编写后十年未改代码仍稳定运行,减少了后续维护的时间和费用。 - -5. 透明化运营,靠口碑实现低成本获客 - - - a. 公开运营数据建立信任:Pieter 常在社交平台分享产品收入、开发进度甚至 bug 截图,吸引了大量粉丝和潜在用户。你可在小红书、知乎等平台记录创业过程,比如每周更新产品用户数、收入数据,不仅能积累个人 IP,还能让用户产生信任感,进而愿意尝试产品。 - - - b. 依托社区与自传播引流:他的产品靠用户在 Hacker News 等平台分享实现初期增长,Nomad List 还搭建了用户社区增强粘性。你可在产品中加入分享功能,比如用户分享产品可获得付费时长延长,同时运营社群,鼓励用户交流体验,形成 “用户分享 — 新用户加入 — 再分享” 的正向循环,减少广告投入。 - -6. 保持独立运营,构建抗风险体系 - - - a. 拒绝融资保持自主:Pieter 始终坚持 100% 独立运营,不接受融资,避免被投资人的规模化要求绑架。初期创业尽量靠自有资金启动,若盈利稳定后有扩张需求,也优先选择小额借款或利润再投入,保持对产品的绝对掌控权。 - - - b. 隔离产品降低风险:他的 70 余个项目实现技术与收入隔离,单个产品失败不影响整体营收。你拓展产品线时,注意做好技术和财务隔离,比如不同产品用独立的账号和服务器,避免一个产品出问题牵连其他业务,增强创业的抗风险能力。 \ No newline at end of file From c5087fc3d920d64481cf4c43a15e403d6d4cc630 Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Mon, 17 Nov 2025 20:40:04 +0800 Subject: [PATCH 10/14] Supplementing possible business models --- yangrudan.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 7 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index f702816..13b19f1 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -1,10 +1,29 @@ -## 愿景:用科技守护每一份牵挂 + +## 目录 + +- [1. 愿景:用科技守护每一份牵挂](#1-愿景用科技守护每一份牵挂) + - [1.1 发展目标](#11-发展目标) + - [1.2 todo lists](#12-todo-lists) +- [2. 加入我们:一起点亮守护的微光](#2-加入我们一起点亮守护的微光) + - [2.1 招募伙伴](#21-招募伙伴) + - [2.2 使命](#22-使命) +- [3. 商业模式画布(Business Model Canvas)](#3-商业模式画布business-model-canvas) + - [3.1 目标用户](#31-目标用户) + - [3.2 产品价值](#32-产品价值) + - [3.3 收入来源](#33-收入来源) + - [3.4 主要渠道](#34-主要渠道) + - [3.5 关键核心](#35-关键核心) + - [3.6 主要成本](#36-主要成本) + - [3.7 关键合作](#37-关键合作) +- [4. 小结](#4-小结) + +## 1. 愿景:用科技守护每一份牵挂 在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——**OPS-agent** 。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正"活"起来 ,让数据不再冰冷,让陪伴不再遥远。 -### 发展目标 +### 1.1 发展目标 我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: @@ -16,8 +35,7 @@ 我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正“活”起来,让数据不再冰冷,让陪伴不再遥远。 -我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: -==== +### 1.2 todo lists - 更广泛的硬件接入:兼容更多智能设备,让守护无界; @@ -27,13 +45,13 @@ - 更实用的场景落地:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者。 -## 加入我们:一起点亮守护的微光 +## 2. 加入我们:一起点亮守护的微光 OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 。我们相信,技术最有温度的归宿,是服务于人,尤其是那些最需要被看见、被关怀的群体。 我们诚挚邀请你,无论你身在何方,无论你擅长什么,只要你也怀揣着同样的初心,就请加入我们,一起把这份守护的力量传递下去: -### 招募伙伴 +### 2.1 招募伙伴 - **如果你有硬件资源**:欢迎参与设备适配与测试,让更多智能硬件成为守护的"眼睛"与"双手" - **如果你擅长编程**:无论是前端、后端还是算法,都欢迎你参与核心功能的开发与优化 @@ -42,7 +60,7 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 。 --- -### 使命 +### 2.2 使命 我们不仅仅是在开发一个项目,我们是在编织一张温暖的网,托起那些容易被遗忘的日常 🕸️✨。 @@ -52,3 +70,47 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 。 --- > **因为我们相信**:科技,终将回归于人。守护,从不应该孤单。 + +## 3. 商业模式画布(Business Model Canvas) + +### 3.1 目标用户 +- 老年人,及其子女 + +### 3.2 产品价值 +- 让老人健康、安全、生活便利 +- 子女可实时了解老人情况、远程守护 + +### 3.3 收入来源 +- 会员订阅(如¥10/月,子女为父母账号付费,享健康提醒、报告、紧急呼叫等高级功能) +- 养老机构/社区SaaS:为机构提供管理后台,批量付费 +- 服务佣金:结合药店、体检、护理等服务,交易收取佣金 +- 合作硬件利润:智能手环、紧急按钮等销售+后续数据服务 + +### 3.4 主要渠道 +- 微信小程序/APP,让老人用得上,子女可代管 +- 合作养老机构导入用户 +- 微信/抖音等子女群体推广 + +### 3.5 关键核心 +- 稳定易用的自动化软件平台 +- 健康数据与AI分析能力 +- 精准触达子女、老人群体 + +### 3.6 主要成本 +- 技术开发与服务器运维 +- 简单客服和渠道推广 +- 硬件采购/合作分成 + +### 3.7 关键合作 +- 养老机构/社区 +- 医疗健康类服务商 +- 硬件厂商 + +## 4. 小结 +1. 最大化自动化运营,团队可极小(参考 Peter Levels); +2. 产品体验足够“傻瓜化”,老人门槛低,子女可远程操控/充值; +3. 偏重“家庭为单位”的会员订阅+增值服务,减少单点销售压力; +4. 机构级别与B2C可并行、试点合作; +5. 服务场景由“提醒-健康-生活-安全”逐步纵深。 + +--- \ No newline at end of file From d61b12c5016013e3161a98dff546e014206e1f47 Mon Sep 17 00:00:00 2001 From: Cookie <66586788+yangrudan@users.noreply.github.com> Date: Wed, 26 Nov 2025 19:18:37 +0800 Subject: [PATCH 11/14] Update OPS-agent development goals and formatting Refined the development goals and todo lists for OPS-agent, ensuring consistent formatting and clarity. --- yangrudan.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index 13b19f1..bf454ad 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -25,25 +25,21 @@ ### 1.1 发展目标 -我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: - -- **更广泛的硬件接入**:兼容更多智能设备,让守护无界 -- **更智能的记忆系统**:构建长短期的行为与健康记忆,让关怀更懂人心 -- **更流畅的数据架构**:优化数据流转,让信息价值真正服务于人 -- **更实用的场景落地**:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者挂 在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——OPS-agent。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正“活”起来,让数据不再冰冷,让陪伴不再遥远。 +我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: + ### 1.2 todo lists -- 更广泛的硬件接入:兼容更多智能设备,让守护无界; +- **更广泛的硬件接入**:兼容更多智能设备,让守护无界; -- 更智能的记忆系统:构建长短期的行为与健康记忆,让关怀更懂人心; +- **更智能的记忆系统**:构建长短期的行为与健康记忆,让关怀更懂人心; -- 更流畅的数据架构:优化数据流转,让信息价值真正服务于人; +- **更流畅的数据架构**:优化数据流转,让信息价值真正服务于人; -- 更实用的场景落地:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者。 +- **更实用的场景落地**:让 OPS-agent 真正走进家庭,成为老年人生活中不可或缺的守护者。 ## 2. 加入我们:一起点亮守护的微光 @@ -113,4 +109,4 @@ OPS-agent 的核心初心,**始终是「成为老年人的守护者」** 。 4. 机构级别与B2C可并行、试点合作; 5. 服务场景由“提醒-健康-生活-安全”逐步纵深。 ---- \ No newline at end of file +--- From db168ef75e19df162e9f9b549bfdcbb0d3bab049 Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Wed, 26 Nov 2025 19:37:55 +0800 Subject: [PATCH 12/14] feat: Add Git installation and usage report for macOS --- .DS_Store | Bin 0 -> 6148 bytes assignments/.DS_Store | Bin 0 -> 6148 bytes assignments/lesson2/git_version.png | Bin 0 -> 23058 bytes assignments/lesson2/yangrudan.md | 150 ++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 .DS_Store create mode 100644 assignments/.DS_Store create mode 100644 assignments/lesson2/git_version.png create mode 100644 assignments/lesson2/yangrudan.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4395ac76c0eec628a685d967827c49acbf2a710b GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8O(;SR3OxqA7EJv^@e*Qv0V8@)sR;=+m}aF(&7l->))(?gd>&_Z zH)5$hco8WxW#*fmoyjs^%5Ii1#=U9OXUt-Z8K8&_6U+~S^QcSG&=Eu~pD|(?8?zW} zv6M}L|HuHoyABIj4!?wbe}8#c=Fed&LdbXzpVK5S9Or{Knyrn^w$U~^#=ZY2O1}t- zY3>D+TO3^pk%qM&gx5)24z2BTkrhFb#S>YOL@}h?-6UBgN>5C)D3`UqnlMbm99rGk z?8tF?_Tfo?-m_RSt1m=eZgyg{qu!xiUOQugvugh0E0;Zp(DWU4>+c0b*d0 zfuZ6kzW*;4(TErz2G)uJ-WvD=4_eY^>r!)g*4m&CpeUGEDf}t{M;^tHi$`%6 bR0_mxbO2qAl|qPs(1(DefebP5rwn`o6p>EX literal 0 HcmV?d00001 diff --git a/assignments/.DS_Store b/assignments/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..909d2d8f54385a356039c52afa2db5e16a830404 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/assignments/lesson2/yangrudan.md b/assignments/lesson2/yangrudan.md new file mode 100644 index 0000000..2c6349c --- /dev/null +++ b/assignments/lesson2/yangrudan.md @@ -0,0 +1,150 @@ +# Git工具安装与使用报告 + +**学员GitHub用户名**: yangrudan + +## 1. Git安装过程 + +### 操作系统 + +macOS Sequoia 15.3.1 + +### 安装方法 + +#### 通过Homebrew安装 + +Homebrew是macOS专属包管理器,可高效管理Git的安装与更新,适配Intel和Apple Silicon芯片。 + +1. **安装Homebrew(未安装时执行)**: +打开终端(通过Spotlight搜索“终端”或按Command+Space调出搜索框输入“Terminal”),执行以下命令,过程中按提示输入系统密码并等待安装完成: +`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` + +2. **安装Git**: +终端执行以下命令,Homebrew会自动下载并安装最新版本Git: +`brew install git` + +3. **验证安装**: +执行版本查询命令,若输出类似“git version 2.39.5”的信息,安装成功: +`git --version` + + +## 2. 遇到的问题及解决方法 + +### 问题:终端提示“git: command not found” + +- **现象**:安装完成后执行Git命令,系统无法识别。 + +- **原因**:Git的可执行路径未添加到系统环境变量PATH中,常见于手动安装或Homebrew配置不完整的场景。 + +- **解决方法**: + 执行`echo $PATH`查看当前环境变量,确认是否包含Git路径。 + +- 若缺失,执行对应命令添加(根据安装方式选择): +- 手动安装:`echo 'export PATH="/Applications/Git.app/Contents/Resources/bin:$PATH"' >> ~/.zshrc` +- Homebrew安装(M1/M2):`echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc` + +- 执行`source ~/.zshrc`使配置生效,重启终端后重试。 + + +## 3. 版本信息截图 + + +![Git版本信息截图](./git_version.png) + + +## 4. Git命令使用过程总结 + +### 基础配置(首次使用必备) + +安装完成后,需配置全局用户名和邮箱(与GitHub账号一致),用于标识提交记录的作者身份: + +```Plain Text + +git config --global user.name "example-user" # 你的GitHub用户名 +git config --global user.email "example@xxx.com" # 你的GitHub绑定邮箱 +git config --global core.editor "nano" # 可选:配置默认编辑器(如nano、vim) +git config --list # 查看当前所有Git配置 +``` + +### 核心命令使用体验与理解 + +#### 1. git clone:克隆远程仓库到本地 + +- **功能**:将远程GitHub仓库完整复制到本地,自动关联远程仓库(默认名为origin)。 + +- **使用命令**: +- HTTPS方式(需输入用户名和个人访问令牌): +`git clone https://github.com/example-user/your-repo.git` +- SSH方式(配置后免密,推荐): +`git clone git@github.com:example-user/your-repo.git` + +- **实用技巧**:克隆大型仓库时,可添加`--depth 1`仅获取最新版本(减少下载量): +`git clone --depth 1 git@github.com:example-user/your-repo.git` + +#### 2. git add:添加文件到暂存区 + +- **功能**:将本地修改(新建、修改、删除)的文件标记为“待提交”状态,暂存区是本地与仓库的中间层。 + +- **使用命令**: +`git add README.md`(添加单个文件) +`git add src/`(添加指定目录) +`git add .`(添加当前目录所有修改,推荐) +`git add -u`(仅添加已跟踪文件的修改/删除,不含新建文件) + +- **注意事项**:执行后通过`git status -s`查看状态,“A”表示已添加,“M”表示已修改,“D”表示已删除。 + +#### 3. git commit:提交更改到本地仓库 + +- **功能**:将暂存区的更改永久保存到本地仓库,生成包含提交信息的版本记录。 + +- **使用命令**: +`git commit -m "feat: 完成Git安装报告初稿"`(直接附带简洁提交信息,推荐) +`git commit`(打开默认编辑器输入多行提交信息) +`git commit --amend`(修改最近一次提交信息或补充遗漏文件) + +- **最佳实践**:提交信息遵循“类型: 描述”格式,如“fix: 修复SSH连接错误”“docs: 更新安装步骤”,便于版本回溯。 + +#### 4. git push:推送本地更改到远程仓库 + +- **功能**:将本地仓库的提交同步到远程GitHub仓库,实现代码共享与备份。 + +- **使用命令**: +`git push origin main`(推送本地main分支到远程origin仓库) +`git push -u origin main`(首次推送绑定分支,后续可直接执行`git push`) + +- **常见问题**:若远程有新提交,需先执行`git pull`拉取合并,否则会提示冲突;HTTPS方式需使用GitHub个人访问令牌(而非密码)登录。 + +#### 5. git pull:从远程仓库拉取最新更改 + +- **功能**:获取远程仓库的最新提交并合并到本地当前分支,确保本地代码与团队同步。 + +- **使用命令**: +`git pull origin main`(拉取远程main分支并合并) +`git pull`(已绑定分支时可省略参数) + +- **冲突处理**:若出现合并冲突,Git会标记冲突文件(含“<<<<<<< HEAD”等标记),需手动编辑保留正确代码,再执行`git add 冲突文件`和`git commit`完成合并。 + +#### 其他常用命令 + +- **git branch**:分支管理 +`git branch -b dev`(创建dev分支) +`git switch dev`(切换到dev分支,Git 2.23+支持) +`git branch -d dev`(删除本地dev分支) + +- **git merge**:合并分支 +`git switch main && git merge dev`(切换到main分支,合并dev分支更改) + +- **git log**:查看提交历史 +`git log --oneline`(简洁显示版本记录) +`git log --graph`(图形化展示分支合并历史) + +- **git reset**:版本回退(谨慎使用) +`git reset --hard HEAD~1`(回退到上一个版本) +`git reset --hard 提交哈希值`(回退到指定版本,哈希值通过git log获取) + +### 整体使用心得 + +macOS下Git的安装与使用更贴近Unix风格,通过Homebrew可实现Git的一键安装与版本更新,极大降低了环境配置成本。Git的核心价值在于“分布式协作”与“版本追溯”,通过暂存区(add)、本地仓库(commit)、远程仓库(push/pull)的流程设计,能清晰管控代码变更,避免团队协作中的版本混乱。 + +实际使用中,养成“先pull再开发、频繁提交、清晰备注”的习惯,减少冲突概率;SSH密钥配置虽需额外步骤,但能实现免密访问,提升开发效率;对于分支管理,可采用“main(稳定分支)+dev(开发分支)+fix-xxx(修复分支)”的模式,确保主分支代码的安全性。结合GitHub的Pull Request功能,还能实现代码审查与协作流程的规范化,进一步提升开发质量。 + +--- \ No newline at end of file From 441585e0225d81dcaeb916b4ebf9f011d1a9413e Mon Sep 17 00:00:00 2001 From: Cookie <1549029765@qq.com> Date: Wed, 26 Nov 2025 19:44:05 +0800 Subject: [PATCH 13/14] chore: rm .DS_Store files --- .DS_Store | Bin 6148 -> 0 bytes assignments/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store delete mode 100644 assignments/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 4395ac76c0eec628a685d967827c49acbf2a710b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z-O8O(;SR3OxqA7EJv^@e*Qv0V8@)sR;=+m}aF(&7l->))(?gd>&_Z zH)5$hco8WxW#*fmoyjs^%5Ii1#=U9OXUt-Z8K8&_6U+~S^QcSG&=Eu~pD|(?8?zW} zv6M}L|HuHoyABIj4!?wbe}8#c=Fed&LdbXzpVK5S9Or{Knyrn^w$U~^#=ZY2O1}t- zY3>D+TO3^pk%qM&gx5)24z2BTkrhFb#S>YOL@}h?-6UBgN>5C)D3`UqnlMbm99rGk z?8tF?_Tfo?-m_RSt1m=eZgyg{qu!xiUOQugvugh0E0;Zp(DWU4>+c0b*d0 zfuZ6kzW*;4(TErz2G)uJ-WvD=4_eY^>r!)g*4m&CpeUGEDf}t{M;^tHi$`%6 bR0_mxbO2qAl|qPs(1(DefebP5rwn`o6p>EX diff --git a/assignments/.DS_Store b/assignments/.DS_Store deleted file mode 100644 index 909d2d8f54385a356039c52afa2db5e16a830404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z<-brW7Fug&r5Y7HsPeikA@U3mDOZN=-=6V9b^#HHT8jSzpK}@p+ut z-GJ2`Jc-zuvir@>&u->}?hj*(yR&e>n9UfopdoTpY6Q)-t~C>k$kiN@rEC}!*(6A6 zCi;se{Pq@0Si~~;efoYGfafikBypDa`|o_M(OlnXSuLw$-FgqQ@Nz$&Wv)NH#?gh8 zNl@v2a2ZF%*xovoY3|2qG*t<47(vL*Rh)*haOErwGnMOUht;;)W4k+_AN2b@v41pJ z^u+vli2B~)V$rs?cXm(C$B)TVDql2}99UPfX|RG`l`|ruX2fvZ`o8Vt^PR z28e;xV!)gOR%f-!rfP`+V&Df1;Qk<>Avy+2jcV(F4zJJXZz7_Aj&BJ>VbC#HY6K4m z*QtOym76C9*XdvvCeATfYSihBtCe9MvvT!#;c9iT3l+||qmg=IfEZY2prMC0p8sd? zm#KZ^FQ?Fm7$64z83VjI@6T?pxr@3!MG9?5YU${0WiRQq^q3TFHna# Y$6%=uXF Date: Sat, 29 Nov 2025 11:18:07 +0800 Subject: [PATCH 14/14] Refactor OPS-agent mission statement for clarity Removed redundant text about OPS-agent's mission and goals. --- yangrudan.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/yangrudan.md b/yangrudan.md index bf454ad..2673ca3 100644 --- a/yangrudan.md +++ b/yangrudan.md @@ -25,10 +25,6 @@ ### 1.1 发展目标 -在超级智能体 Campathon 的赛场上,我们诞生了一个朴素而坚定的初心——OPS-agent。它不仅仅是一个项目,更是一份承诺,一种责任。我们希望通过技术的力量,为那些渐渐老去的父母、祖辈,为每一位需要被温柔守护的长者,搭建一座连接关怀与安全的桥梁。 - -我们相信,科技不应只是年轻人的专属,更应是温暖人心的工具。OPS-agent 的使命,就是让智能硬件真正“活”起来,让数据不再冰冷,让陪伴不再遥远。 - 我们将持续推动 OPS-agent 走向成熟,让它从创意走向落地,从代码走向生活: ### 1.2 todo lists