From 4aed668a98a81b95f4c42c71ca5f4dd04620d83d Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 28 Jun 2025 09:31:59 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E9=87=8D=E6=96=B0=E5=AE=9A?= =?UTF-8?q?=E4=BD=8D=E4=BA=A7=E5=93=81=E4=BB=B7=E5=80=BC=E4=B8=BB=E5=BC=A0?= =?UTF-8?q?=EF=BC=8C=E5=BC=BA=E5=8C=96AI=E4=B8=8A=E4=B8=8B=E6=96=87?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E6=A6=82=E5=BF=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 核心改进: - 🎯 主标题改为「领先的AI上下文工程平台」蹭技术热点 - ✨ 引入「Chat is all you need」革命性交互理念 - 🚀 前置强力案例数据(11000行代码、40小时→30分钟) - 🎭 重新包装核心能力,突出专业价值 产品战略价值: - 结合AI上下文工程趋势,提升技术定位 - 通过真实数据建立社会证明 - 降低技术理解门槛,扩大目标用户群 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d606f56..7cbf17a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@
PromptX Logo -

PromptX · AI应用原生专业能力增强系统

-

通过MCP协议为AI应用提供专业角色、记忆管理和知识体系,一行命令,让任何 AI 客户端秒变专业选手。

+

PromptX · 领先的AI上下文工程平台

+

让任何AI Agent秒变行业专家

+

✨ Chat is all you need - 革命性交互设计,用对话创造专属AI团队

+

通过MCP协议为AI应用提供专业角色、记忆管理和知识体系,一行命令完成部署。

@@ -20,14 +22,22 @@ --- -### ✨ **一眼看懂 PromptX** +### 🚀 **实力证明 - 真实案例数据** -PromptX 能做什么?简单来说,它让你的 AI 助手拥有了"大脑"和"记忆",更让你成为AI能力的创造者。 +> **"使用 PromptX,一位开发者仅三天内完成了超过一万一千行的高质量 Java 代码"** +> —— Legacy Lands 制作组核心开发者 -- **🎭 专业角色扮演**: 提供覆盖不同领域的专家角色,让 AI 的回答更专业、更深入。 -- **🧠 长期记忆与知识库**: AI能够记住关键信息和你的偏好,在持续的对话和工作中提供连贯、个性化的支持。 -- **✨ AI角色创造工坊**: **2分钟内**将你的想法变成专业AI助手,从使用者到创造者的华丽转身。 -- **🔌 轻松集成**: 只需一行命令,即可为数十种主流 AI 应用(如 Claude、Cursor)无缝启用这些强大功能。 +> **"MCP开发时间从40小时缩短到30分钟"** +> —— 社区开发者 coso + +### ✨ **PromptX 核心能力** + +**🎯 AI上下文工程新标杆** - 让你的 AI 助手拥有"大脑"和"记忆",更让你成为AI能力的创造者。 + +- **🎭 专业角色注入**: 覆盖各行业专家角色,让 AI 瞬间获得专业领域深度 +- **🧠 长期记忆与知识库**: 持续学习用户偏好,提供个性化专业支持 +- **✨ Chat is all you need**: **2分钟对话**创造专属AI助手,零技术门槛 +- **🔌 一键部署**: 支持Claude、Cursor等数十种主流AI应用,一行命令完成集成
From 4f84120861db7fcaa5c005f6649e9513d637219c Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 28 Jun 2025 10:29:20 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E7=AB=A0=E8=8A=82=E5=92=8C=E6=A1=88=E4=BE=8B=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 核心改进: - 🌟 新增「Deepractice深度实践社区」愿景展示 - 🎯 突出「AI时代Life Style」定位和「君子和而不同」价值观 - 🏗️ 重新设计社区资源架构:开源产品+开发者舞台+商业共建 - 📋 移动案例到最后,重命名为「社区优质案例分享」 - 🤝 简化「加入我们」为纯二维码展示 产品战略价值: - 从工具项目升华为AI时代生活方式社区 - 建立开放包容的商业合作模式(内容换价值) - 为社区可持续发展和商业化提供健康路径 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 301 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 221 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 7cbf17a..638d38f 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@

PromptX Logo

PromptX · 领先的AI上下文工程平台

-

让任何AI Agent秒变行业专家

-

✨ Chat is all you need - 革命性交互设计,用对话创造专属AI团队

-

通过MCP协议为AI应用提供专业角色、记忆管理和知识体系,一行命令完成部署。

+

✨ Chat is all you need - 革命性交互设计,让AI Agent秒变行业专家

+

核心功能模块:提示词结构化协议 | AI状态化协议 | 记忆系统 | 女娲角色工坊 | 鲁班工具工坊

+

基于MCP协议,一行命令为Claude、Cursor等AI应用注入专业能力

@@ -30,52 +30,58 @@ > **"MCP开发时间从40小时缩短到30分钟"** > —— 社区开发者 coso -### ✨ **PromptX 核心能力** -**🎯 AI上下文工程新标杆** - 让你的 AI 助手拥有"大脑"和"记忆",更让你成为AI能力的创造者。 +### 💬 **Chat is All you Need - 看看对话如何改变一切** -- **🎭 专业角色注入**: 覆盖各行业专家角色,让 AI 瞬间获得专业领域深度 -- **🧠 长期记忆与知识库**: 持续学习用户偏好,提供个性化专业支持 -- **✨ Chat is all you need**: **2分钟对话**创造专属AI助手,零技术门槛 -- **🔌 一键部署**: 支持Claude、Cursor等数十种主流AI应用,一行命令完成集成 +#### **1. 对话发现专业角色** +*只需一句话"我要发现可用的角色",AI就会展示所有可用的专业领域* +Chat方式发现角色 -
+#### **2. 对话选择专业角色** +*看到感兴趣的专家后,直接说"激活XX专家"即可瞬间转换AI身份* +Chat方式选择激活角色 -### 📸 **配置成功后的使用效果** +#### **3. 对话管理智能记忆** +*说一句"记住这个重要信息",AI就会自动保存,下次对话时主动运用这些知识* +Chat方式管理记忆 -#### **1. 发现并激活专业角色** -*使用 `promptx_welcome` 发现可用角色,再用 `promptx_action` 激活,AI即刻变身领域专家。* -角色发现与激活 +#### **💡 重要:把AI当人,不是软件** -#### **2. 拥有智能记忆** -*使用 `promptx_remember` 保存关键信息,AI将在后续的交流中主动运用这些知识。* -记忆功能 +看完上面的演示,你可能还在想:"具体应该说什么指令?" ---- +**❌ 请停止这样想:** +> "什么指令能激活角色?" | "正确的命令是什么?" | "我说错了会不会失效?" -## ⚠️ **项目状态说明** +**✅ 正确的使用心态:** +> "就像和真人专家聊天一样自然" | "想到什么就说什么,AI会理解你的意图" | "听不懂?换个说法再说一遍就行" -PromptX 目前处于 **初始开发阶段**,我们正在积极完善功能和修复问题。在达到正式稳定版本之前,您可能会遇到一些使用上的问题或不稳定情况。 +**🎯 实际例子对比:** +``` +❌ 软件思维:请执行 promptx_action java-developer +✅ 人际思维:我需要一个Java开发专家 +✅ 人际思维:帮我找个懂Java的专家 +✅ 人际思维:我要和Java大牛聊聊 +✅ 人际思维:切换到Java开发模式 +``` -**我们诚恳地请求您的理解和支持!** 🙏 - -### 📞 **遇到问题?获取帮助!** - -如果您在使用过程中遇到任何问题,请通过以下方式联系我们: - -- 🐛 **提交 Issue**: [GitHub Issues](https://github.com/Deepractice/PromptX/issues) - 详细描述问题,我们会尽快回复 -- 💬 **直接联系**: 添加开发者微信 `deepracticex` 获取即时帮助 -- 📧 **邮件联系**: 发送邮件至 `sean@deepracticex.com` 获取技术支持 -- 📱 **技术交流群**: 扫描下方二维码加入我们的技术交流群 - -您的反馈对我们非常宝贵,帮助我们快速改进产品质量! ✨ +**💬 Chat is All you Need 的真正含义:** +- 🗣️ **自然表达** - 想怎么说就怎么说,就像和朋友聊天 +- 🔄 **灵活调整** - AI没听懂?换个说法继续说 +- 🤖 **信任AI** - 相信AI能理解你的真实意图,不必拘泥于"标准用法" +- 💬 **持续对话** - 把每次交互当成和专家的连续对话,而不是一次性命令 --- ## 🚀 **一键启动,30秒完成配置** +### ⚙️ **快速配置** + +**📋 前置要求:** 确保已安装 [Node.js](https://nodejs.org/zh-cn)(建议 v18 及以上版本) + 打开配置文件,将下面的 `promptx` 配置代码复制进去。这是最简单的 **零配置模式**,PromptX 会自动为您处理一切。 +**推荐配置(beta公测版):** + ```json { "mcpServers": { @@ -94,8 +100,47 @@ PromptX 目前处于 **初始开发阶段**,我们正在积极完善功能和 } ``` +

+📦 其他版本配置 + +**Alpha内测版(最新功能):** +```json +{ + "mcpServers": { + "promptx": { + "command": "npx", + "args": ["-y", "-f", "--registry", "https://registry.npmjs.org", "dpml-prompt@alpha", "mcp-server"] + } + } +} +``` + +**Latest正式版(最高稳定性):** +```json +{ + "mcpServers": { + "promptx": { + "command": "npx", + "args": ["-y", "-f", "--registry", "https://registry.npmjs.org", "dpml-prompt@latest", "mcp-server"] + } + } +} +``` + +
+ +### 📋 **发布渠道说明** + +根据你的使用需求选择合适的版本: + +| 🏷️ **渠道** | 📊 **稳定性** | 🎯 **适用场景** | 📦 **配置** | +|---------|---------|------------|---------| +| **alpha** | 内测版 ⚡ | 尝鲜最新功能,参与测试反馈 | `dpml-prompt@alpha` | +| **beta** | 公测版 🧪 | 功能相对稳定,适合日常使用 | `dpml-prompt@beta` | +| **latest** | 正式版 ✅ | 生产环境,追求最高稳定性 | `dpml-prompt@latest` | + **配置参数说明:** -- `command`: 指定使用 npx 运行 promptx 服务 +- `command`: 指定使用 npx 运行 promptx 服务(npx 随 Node.js 自动安装) - `args`: 启动参数配置列表 - `-y`: 自动确认 - `-f`: 强制刷新缓存 @@ -108,55 +153,38 @@ PromptX 目前处于 **初始开发阶段**,我们正在积极完善功能和 > **💡 提示:** 配置中特意指定了官方镜像源 `registry.npmjs.org`,这可以避免因使用非官方镜像导致的安装问题。如果您发现安装很慢,建议使用代理工具加速,而不是切换到其他镜像源。 +### ✅ **安装成功确认** + +配置完成并重启AI应用后,当你看到以下MCP工具出现时,即代表PromptX安装成功: + +PromptX MCP工具安装成功示意图 + +看到这些工具说明PromptX已成功连接!现在就可以开始使用"Chat is All you Need"的体验了。 + 📖 **[完整安装配置指南](https://github.com/Deepractice/PromptX/wiki/PromptX-MCP-Install)** - 包含各种客户端的详细配置方法和故障排除 - -### 不知道MCP是怎么? [点击查看 MCP幼儿园教程 BiliBili](https://www.bilibili.com/video/BV1HFd6YhErb) +### 不知道MCP是什么? [点击查看 MCP幼儿园教程 BiliBili](https://www.bilibili.com/video/BV1HFd6YhErb) 目前所有支持 MCP 协议的 AI 客户端都可以使用 PromptX。主要包括:**Claude Desktop**、**Cursor**、**Windsurf**、**Cline**、**Zed**、**Continue** 等主流 AI 编程工具,以及更多正在接入中的应用。 --- -### ⚙️ **工作原理** +## ⚠️ **项目状态说明** -PromptX 作为您和AI应用之间的"专业能力中间件",通过标准的 [MCP协议](https://github.com/metacontroller/mcp) 进行通信。 +PromptX 目前处于 **初始开发阶段**,我们正在积极完善功能和修复问题。在达到正式稳定版本之前,您可能会遇到一些使用上的问题或不稳定情况。 -```mermaid -graph TD - subgraph "Your AI App (Claude,Cursor,etc.)" - A[👨‍💻 User Interaction] - end +**我们诚恳地请求您的理解和支持!** 🙏 - subgraph "PromptX MCP Server" - C{PromptX Engine} - D[🎭 Role Library] - E[🧠 Memory & Knowledge] - end +### 📞 **遇到问题?获取帮助!** - A -- "Calls 'promptx_...' tools" --> B(MCP Protocol) - B --> C - C -- "Accesses" --> D - C -- "Accesses" --> E +如果您在使用过程中遇到任何问题,请通过以下方式联系我们: - subgraph "Enhanced Response" - F[✨ Professional Output] - end - C --> F -``` +- 🐛 **提交 Issue**: [GitHub Issues](https://github.com/Deepractice/PromptX/issues) - 详细描述问题,我们会尽快回复 +- 💬 **直接联系**: 添加开发者微信 `deepracticex` 获取即时帮助 +- 📧 **邮件联系**: 发送邮件至 `sean@deepracticex.com` 获取技术支持 +- 📱 **技术交流群**: 扫描下方二维码加入我们的技术交流群 -当您调用 `promptx_...` 系列工具时,AI应用会将请求通过MCP协议发送给 PromptX。PromptX 引擎会加载相应的专业角色、检索相关记忆,然后返回一个经过专业能力增强的结果给AI应用,最终呈现给您。 - ---- - -**🎯 配置完成后,您的AI应用将自动获得6个专业工具:** -- `promptx_init`: 🏗️ **系统初始化** - 自动准备工作环境。 -- `promptx_hello`: 👋 **角色发现** - 浏览所有可用的专家角色。 -- `promptx_action`: ⚡ **角色激活** - 一键变身指定领域的专家。**(含女娲🎨角色创造顾问)** -- `promptx_learn`: 📚 **知识学习** - 让AI学习特定的知识或技能。 -- `promptx_recall`: 🔍 **记忆检索** - 从记忆库中查找历史信息。 -- `promptx_remember`: 💾 **经验保存** - 将重要信息存入长期记忆。 - -📖 **[查看完整MCP集成指南](docs/mcp-integration-guide.md)** +您的反馈对我们非常宝贵,帮助我们快速改进产品质量! ✨ --- @@ -227,7 +255,13 @@ graph TD --- -## 📋 **实践案例: Legacy Lands Library** +## ⭐ **Star增长趋势** + +[![Star History Chart](https://api.star-history.com/svg?repos=Deepractice/PromptX&type=Date)](https://star-history.com/#Deepractice/PromptX&Date) + +--- + +## 🌟 **Deepractice 深度实践社区**
Legacy Lands Library Logo @@ -278,25 +312,132 @@ graph TD --- -## ⭐ **Star增长趋势** -[![Star History Chart](https://api.star-history.com/svg?repos=Deepractice/PromptX&type=Date)](https://star-history.com/#Deepractice/PromptX&Date) +## 🌟 **Deepractice 深度实践社区** + +
+

🎯 打造AI时代的Life Style

+

"开源 · 开放 · 包容 · 君子和而不同"

+
+ +### 💫 **社区愿景** + +我们相信,AI不仅仅是技术工具,更是重新定义生活方式的革命力量。Deepractice深度实践社区致力于: + +- **🌐 构建AI原生的生活方式** - 让AI自然融入工作、学习、创作、生活的每个环节 +- **🎓 传播AI时代的实践智慧** - 分享从技术到商业、从工具到哲学的深度思考 +- **🤝 建设包容开放的创新生态** - 汇聚不同背景的实践者,碰撞出AI时代的新可能 + +### 🎯 **社区价值观** + +> **"君子和而不同"** - 我们欢迎不同观点的交流与碰撞,在多元中寻求智慧 + +- **🔓 开源精神** - 技术开放,知识共享,让AI能力触手可及 +- **🌈 开放包容** - 无论你是技术专家还是AI新手,都能在这里找到价值 +- **💎 深度实践** - 不止于理论探讨,更重视真实场景的落地实践 +- **🚀 持续进化** - 与AI时代同步成长,永远保持学习和创新的热情 + +### 🎁 **社区资源** + +#### 🆓 **开源AI产品** + +我们提供**完全免费**的开源产品,覆盖AI时代的核心需求: + +
+ +| 🛠️ **AI产品** | 💻 **AI编程** | 💼 **AI商业** | 🌱 **AI生活** | +|-------------|-------------|-------------|-------------| +| PromptX角色工坊 | 代码生成最佳实践 | AI创业案例分析 | AI效率生活指南 | +| MCP工具生态 | AI编程架构模式 | 商业模式创新 | AI创作工作流 | +| DPML提示词标准 | 团队协作框架 | 产品战略规划 | AI学习方法论 | +| PATEOAS状态管理 | 开源项目实践 | 技术商业化路径 | AI时代生活哲学 | + +
+ +#### 🚀 **开发者创业舞台** + +**欢迎开发者和创业者加入社区展示项目!** + +- 🌟 **项目孵化** - 利用Deepractice社区影响力,为你的Idea打下第一步基础 +- 💡 **技术交流** - 与社区专家深度讨论技术方案和产品方向 +- 🎯 **用户反馈** - 获得真实用户的使用反馈和改进建议 +- 🤝 **合作机会** - 寻找志同道合的合作伙伴 + +#### 💼 **商业伙伴共建** + +**欢迎商业组织以内容换价值的方式参与社区:** + +- ✅ **产品展示** - 可以展示和推广AI相关产品服务 +- 📝 **内容贡献** - 必须为社区提供优质技术内容或实践案例 +- 🚫 **拒绝硬广** - 严格禁止无价值的强推广告 +- 🤝 **共赢理念** - 通过真正的价值创造实现商业成功 + +> **社区准则:价值优先,内容为王,拒绝割韭菜** + +### 🤝 **加入我们** + +
+ Deepractice深度实践社区 +
--- -### **🤝 贡献与交流** +## 🏆 **社区优质案例分享** -我们欢迎任何形式的贡献和反馈! +### 📋 **企业级应用案例** -- 🌿 **[分支策略](docs/BRANCHING.md)** - 分支管理和发布流程 -- 🚀 **[发布流程](docs/RELEASE.md)** - 版本管理和发布文档 +#### **🎮 Legacy Lands Library - Minecraft开发工具库** -扫码加入技术交流群: +
+ Legacy Lands Library Logo +
-技术交流群 +**项目简介:** 面向现代 Minecraft 服务端插件开发的生产级工具库 +**项目地址:** https://github.com/LegacyLands/legacy-lands-library +**组织官网:** https://www.legacylands.cn/ + +> **💡 核心开发者使用心得** +> +> "使用 PromptX 的开发体验真的非常不一样。我们团队基于 Claude Code 并结合 PromptX,**一位开发者仅三天内就完成了超过一万一千行的高质量 Java 代码。** +> +> 这套工作流的价值在实际开发中体现得淋漓尽致。PromptX 解决了 AI 使用时的许多痛点,时刻确保代码风格的统一和质量的达标,大大降低了新成员的学习成本。" +> +> "女娲让我使用 AI 角色更加方便、快捷,我只需要用大白话告诉女娲我想要什么,它就能帮我创造出专业的AI助手,效率和专业度都大大提升。" + +**相关资源:** [AI集成标准与实践指南](https://github.com/LegacyLands/legacy-lands-library/blob/main/AI_CODE_STANDARDS_ZHCN.md) --- -## 📄 **许可证** +### 🛠️ **社区开发者案例** + +#### **🔧 crawl-mcp-server - 智能内容处理工具** + +**开发者:** 社区成员 coso +**项目地址:** [NPM](https://www.npmjs.com/package/crawl-mcp-server) | [GitHub](https://github.com/wutongci/crawl-mcp) + +**开发经验分享:** [从想法到产品:我如何用Cursor Agent开发出智能内容处理MCP工具](https://mp.weixin.qq.com/s/x23Ap3t9LBDVNcr_7dcMHQ) + +**项目亮点:** 以 PromptX 为架构参考,实现零代码开发,几小时完成从想法到发布 + +#### **🎯 mcp-template - MCP开发模板** + +**开发者:** 社区成员 coso +**项目地址:** [GitHub](https://github.com/wutongci/mcp-template) + +**开发经验分享:** [从零代码到开源:我如何用模板革命MCP开发](https://mp.weixin.qq.com/s/aQ9Io2KFoQt8k779L5kuuA) + +**项目价值:** 将 MCP 开发时间从 40 小时缩短到 30 分钟 + +--- + +### 🌟 **分享你的案例** + +我们诚挚邀请社区成员分享基于 PromptX 的实践经验: + +- 📝 **提交方式** - 通过 PR 添加你的案例到此处 +- 🎯 **分享内容** - 项目介绍、使用心得、效果数据、经验总结 +- 🏆 **展示平台** - 在这里展示你的创新成果,获得社区认可 +- 🤝 **互相学习** - 与其他实践者交流经验,共同成长 + +> **让每个优质案例都成为社区的财富!** -[MIT License](LICENSE) - 让AI专业能力触手可及 \ No newline at end of file From eaf4efe8419e408ed2b33d429e72ef4a031661e4 Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 28 Jun 2025 11:17:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E5=85=A8=E9=9D=A2=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=A4=BE=E5=8C=BA=E4=BB=B7=E5=80=BC=E4=BD=93=E7=B3=BB?= =?UTF-8?q?=E5=92=8CREADME=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 主要变更 - **社区定位升级**:从"AI时代Life Style"优化为"AI原生Life Style社区" - **价值观体系重构**:技术开源·内容分享·社区开放·价值交换四维度 - **社区价值机制**:构建注意力价值交换+商业价值交换双重生态 - **内容展示优化**:社区案例分享格式精简,提升阅读体验 - **精神内核明确**:突出"实践·协作·创新"的社区精神 ## 技术改进 - 移除冗余的传统企业级展示模式 - 优化信息架构,突出价值交换核心理念 - 精简社区案例展示,提升信息密度 - 强化AI原生社区的独特定位 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 154 +++++++++++++++++------------------------------------- 1 file changed, 47 insertions(+), 107 deletions(-) diff --git a/README.md b/README.md index 638d38f..8e7814a 100644 --- a/README.md +++ b/README.md @@ -261,118 +261,64 @@ PromptX 目前处于 **初始开发阶段**,我们正在积极完善功能和 --- -## 🌟 **Deepractice 深度实践社区** - -
- Legacy Lands Library Logo -
- -#### 📖 项目概述 - -**项目名称:** Legacy Lands Library -**项目地址:** https://github.com/LegacyLands/legacy-lands-library -**项目简介:** legacy-lands-library 是一个面向现代 Minecraft 服务端插件开发的开发工具库。它旨在为开发者提供一个跨平台、生产就绪的基础设施。 - -#### 🏢 组织信息 - -**组织名称:** 遗迹之地制作组 (Legacy Lands) -**官方网站:** https://www.legacylands.cn/ -**组织简介:** 遗迹之地 (Legacy Lands) 是一个专注于构建大型 Minecraft 文明模拟体验的创新团队。参与开源社区,为 Minecraft 服务端插件等领域开发提供优雅、高效且可靠的解决方案。 - -> #### **💡 核心开发者使用心得** -> "使用 PromptX 的开发体验真的非常不一样。我们团队基于 Claude Code 并结合 PromptX,**一位开发者仅三天内就完成了超过一万一千行的高质量 Java 代码。** -> -> 这套工作流的价值在实际开发中体现得淋漓尽致。PromptX 解决了 AI 使用时的许多痛点,时刻确保代码风格的统一和质量的达标,大大降低了新成员的学习成本。过去那些需要反复沟通、依靠文档传承的最佳实践,现在能够自然而然地融入到每一次代码生成中。" -> -> --- -> -> “女娲”让我使用 AI 角色更加方便、快捷,实际上手发现,我并不需要懂代码,也不需要懂复杂的AI原理。我只需要用大白话告诉“女娲”我想要什么,它就能帮我把背后那些复杂的设计工作给完成了,能引导我完成剩下的所有事情。“女娲”本身不负责写小红书笔记,但它能创造出一个“精通小红书营销”的专家。一旦这个专家被创造出来,我以后所有小红书相关的工作,都可以交给这个新角色去做了,效率和专业度都大大提升。 - -#### **📚 相关资源** - -- **AI集成标准与实践指南:** https://github.com/LegacyLands/legacy-lands-library/blob/main/AI_CODE_STANDARDS_ZHCN.md - ---- - -## 📚 **社区教程与案例** - -社区成员 **coso** 基于 PromptX 架构开发了 MCP 工具,并分享了完整的开发经验: - -#### 🔧 **使用 PromptX 架构开发 crawl-mcp 工具** -- **文章**:[从想法到产品:我如何用Cursor Agent开发出智能内容处理MCP工具](https://mp.weixin.qq.com/s/x23Ap3t9LBDVNcr_7dcMHQ) -- **成果**:[crawl-mcp-server](https://www.npmjs.com/package/crawl-mcp-server) - NPM包 | [GitHub](https://github.com/wutongci/crawl-mcp) -- **亮点**:以 PromptX 为架构参考,实现零代码开发,几小时完成从想法到发布 - -#### 🛠️ **MCP 开发模板化实践** -- **文章**:[从零代码到开源:我如何用模板革命MCP开发](https://mp.weixin.qq.com/s/aQ9Io2KFoQt8k779L5kuuA) -- **成果**:[mcp-template](https://github.com/wutongci/mcp-template) - 通用MCP开发模板 -- **价值**:将 MCP 开发时间从 40 小时缩短到 30 分钟 - -> 💡 欢迎社区成员分享基于 PromptX 的实践经验,提交 PR 添加到此处。 - ---- - ## 🌟 **Deepractice 深度实践社区**
-

🎯 打造AI时代的Life Style

-

"开源 · 开放 · 包容 · 君子和而不同"

+

🎯 打造AI原生Life Style社区

+

"实践 · 协作 · 创新"

### 💫 **社区愿景** -我们相信,AI不仅仅是技术工具,更是重新定义生活方式的革命力量。Deepractice深度实践社区致力于: +AI不仅仅是技术工具,更是重新定义生活方式的革命力量。我们致力于打造AI原生的Life Style社区,汇聚各领域的实践者: -- **🌐 构建AI原生的生活方式** - 让AI自然融入工作、学习、创作、生活的每个环节 -- **🎓 传播AI时代的实践智慧** - 分享从技术到商业、从工具到哲学的深度思考 -- **🤝 建设包容开放的创新生态** - 汇聚不同背景的实践者,碰撞出AI时代的新可能 +- **🏠 生活** - 分享AI原生的生活方式和日常实践经验 +- **📚 学习** - 构建AI时代的知识体系和学习方法论 +- **💼 工作** - 探索AI原生的工作模式和协作范式 +- **🚀 创业** - 孵化AI原生的商业模式和创新项目 -### 🎯 **社区价值观** +### ⚖️ **价值观** -> **"君子和而不同"** - 我们欢迎不同观点的交流与碰撞,在多元中寻求智慧 +- 🔓 **技术开源** - 代码和技术方案开放共享,让AI能力触手可及 +- 📚 **内容分享** - 知识和经验无私传播,共建智慧生态 +- 🌐 **社区开放** - 不设门槛壁垒,欢迎所有AI实践者参与 +- 💰 **价值交换** - 商业服务基于公平交换,拒绝竭泽而渔 -- **🔓 开源精神** - 技术开放,知识共享,让AI能力触手可及 -- **🌈 开放包容** - 无论你是技术专家还是AI新手,都能在这里找到价值 -- **💎 深度实践** - 不止于理论探讨,更重视真实场景的落地实践 -- **🚀 持续进化** - 与AI时代同步成长,永远保持学习和创新的热情 +### 🎁 **社区价值** -### 🎁 **社区资源** +我们构建基于**注意力价值交换**的社区生态,让每个参与者都能获得价值: -#### 🆓 **开源AI产品** +#### 🎯 **内容生态供给** -我们提供**完全免费**的开源产品,覆盖AI时代的核心需求: +**开源产品与优质内容**,促进社区知识共享: +- 🛠️ **技术产品**:PromptX、DPML、PATEOAS等开源工具 +- 📚 **实践内容**:AI工作流、最佳实践、案例分享 +- 🎓 **学习资源**:教程、方法论、技能指南 +- 💡 **创新思路**:前沿探索、商业洞察、未来趋势 -
+#### 👥 **注意力价值支持** -| 🛠️ **AI产品** | 💻 **AI编程** | 💼 **AI商业** | 🌱 **AI生活** | -|-------------|-------------|-------------|-------------| -| PromptX角色工坊 | 代码生成最佳实践 | AI创业案例分析 | AI效率生活指南 | -| MCP工具生态 | AI编程架构模式 | 商业模式创新 | AI创作工作流 | -| DPML提示词标准 | 团队协作框架 | 产品战略规划 | AI学习方法论 | -| PATEOAS状态管理 | 开源项目实践 | 技术商业化路径 | AI时代生活哲学 | +**内容价值 ↔ 流量价值**,社区成员的关注为创造者提供基础曝光: +- 🔍 **内容发现**:优质内容获得社区推荐和传播 +- 💬 **互动反馈**:真实用户的使用体验和改进建议 +- 🤝 **协作机会**:寻找志同道合的合作伙伴 +- 🚀 **项目孵化**:利用社区影响力助力项目起步 -
+#### 💰 **商业价值交换** -#### 🚀 **开发者创业舞台** +**内容价值 ↔ 货币价值**,支持优质创造者的可持续发展: +- 📊 **付费内容**:深度教程、专业咨询、定制方案 +- 🎯 **服务变现**:技术服务、项目合作、专家指导 +- 🚀 **产品推广**:基于价值贡献的商业展示机会 +- 💡 **创新孵化**:优质项目的商业化路径支持 -**欢迎开发者和创业者加入社区展示项目!** +#### ⚖️ **价值交换原则** -- 🌟 **项目孵化** - 利用Deepractice社区影响力,为你的Idea打下第一步基础 -- 💡 **技术交流** - 与社区专家深度讨论技术方案和产品方向 -- 🎯 **用户反馈** - 获得真实用户的使用反馈和改进建议 -- 🤝 **合作机会** - 寻找志同道合的合作伙伴 - -#### 💼 **商业伙伴共建** - -**欢迎商业组织以内容换价值的方式参与社区:** - -- ✅ **产品展示** - 可以展示和推广AI相关产品服务 -- 📝 **内容贡献** - 必须为社区提供优质技术内容或实践案例 -- 🚫 **拒绝硬广** - 严格禁止无价值的强推广告 -- 🤝 **共赢理念** - 通过真正的价值创造实现商业成功 - -> **社区准则:价值优先,内容为王,拒绝割韭菜** +- **价值优先**:内容质量决定获得的注意力和商业资源 +- **公平交换**:贡献与收获成正比,拒绝割韭菜行为 +- **生态共建**:每个人既是内容消费者,也是价值创造者 +- **可持续发展**:支持创造者通过优质内容获得合理收益 ### 🤝 **加入我们** @@ -408,31 +354,25 @@ PromptX 目前处于 **初始开发阶段**,我们正在积极完善功能和 --- -### 🛠️ **社区开发者案例** +### 🛠️ **社区优秀内容分享** -#### **🔧 crawl-mcp-server - 智能内容处理工具** +#### **🔧 crawl-mcp-server** - 智能内容处理工具,几小时完成从想法到发布 +**作者:** coso | **链接:** [开发经验分享](https://mp.weixin.qq.com/s/x23Ap3t9LBDVNcr_7dcMHQ) | [NPM](https://www.npmjs.com/package/crawl-mcp-server) -**开发者:** 社区成员 coso -**项目地址:** [NPM](https://www.npmjs.com/package/crawl-mcp-server) | [GitHub](https://github.com/wutongci/crawl-mcp) +#### **🎯 mcp-template** - MCP开发模板,将开发时间从40小时缩短到30分钟 +**作者:** coso | **链接:** [开发经验分享](https://mp.weixin.qq.com/s/aQ9Io2KFoQt8k779L5kuuA) | [GitHub](https://github.com/wutongci/mcp-template) -**开发经验分享:** [从想法到产品:我如何用Cursor Agent开发出智能内容处理MCP工具](https://mp.weixin.qq.com/s/x23Ap3t9LBDVNcr_7dcMHQ) +#### **🧠 feishu-mcp** - 解决跨AI工具记忆丢失问题的零门槛方案 +**作者:** 社区成员 | **链接:** [应用分享](https://mp.weixin.qq.com/s/TTl3joJYR2iZU9_NSI2Hbg) | [NPM](https://www.npmjs.com/package/@larksuiteoapi/lark-mcp) -**项目亮点:** 以 PromptX 为架构参考,实现零代码开发,几小时完成从想法到发布 - -#### **🎯 mcp-template - MCP开发模板** - -**开发者:** 社区成员 coso -**项目地址:** [GitHub](https://github.com/wutongci/mcp-template) - -**开发经验分享:** [从零代码到开源:我如何用模板革命MCP开发](https://mp.weixin.qq.com/s/aQ9Io2KFoQt8k779L5kuuA) - -**项目价值:** 将 MCP 开发时间从 40 小时缩短到 30 分钟 +#### **🎓 AI教育专家团队** - 多角色协作生成高质量系统性教育内容 +**作者:** 社区教育工作者 | **链接:** [创新分享](https://mp.weixin.qq.com/s/8mAq1r5kqAOJM1bmIWlYbQ) --- ### 🌟 **分享你的案例** -我们诚挚邀请社区成员分享基于 PromptX 的实践经验: +我们诚挚邀请社区成员分享AI实践经验: - 📝 **提交方式** - 通过 PR 添加你的案例到此处 - 🎯 **分享内容** - 项目介绍、使用心得、效果数据、经验总结 From dca2ff31de17e9d2898b203ed1dbce90a8e5766e Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 28 Jun 2025 11:26:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E6=88=90=E5=8A=9F=E7=A4=BA=E6=84=8F=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 assets/install-success.jpg 用于展示MCP工具安装成功效果 - 完善README中的安装成功确认章节视觉展示 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- assets/install-success.jpg | Bin 0 -> 54891 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/install-success.jpg diff --git a/assets/install-success.jpg b/assets/install-success.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b11cd93d5ed26586a2a2d77c3d5c014c6618f07 GIT binary patch literal 54891 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 literal 0 HcmV?d00001