5 Commits

Author SHA1 Message Date
engine-labs-app[bot]
91ce3d6abe refactor: replace product persona with general design principles
Replaces the product-specific persona document with an abstract set of design
principles for expert-centric systems. Enables reuse of design philosophy and
prioritization framework in other projects, avoiding business logic coupling.
2025-10-17 09:59:31 +00:00
engine-labs-app[bot]
f2dbb8e69c docs(persona): add product manager persona based on design analysis
Introduce PRODUCT_PERSONA.md to document the inferred product manager persona
("Chen") that guides Zenfeed's technical product direction. This addition helps
clarify the design philosophy, target user archetype, and prioritization
principles extracted from project structure and documentation. No code or
runtime changes; developer and contributor facing only.
2025-10-17 09:49:59 +00:00
glidea
7cb8069d60 update README.md 2025-09-08 15:56:13 +08:00
glidea
87b84d94ff update README.md 2025-09-06 16:20:32 +08:00
glidea
4d29bae67f update README 2025-08-18 16:41:23 +08:00
2 changed files with 50 additions and 1 deletions

44
DESIGN_PRINCIPLES.md Normal file
View File

@@ -0,0 +1,44 @@
# Design Principles for Expert-Centric Systems
This document outlines a set of core design principles for creating powerful, flexible, and developer-first software systems. These principles are derived from an analysis of projects that prioritize user control and system transparency over simplified, mass-market user experiences.
## I. Core Philosophy: Empower the Expert
The central philosophy is to build tools for the top 10% of users—the power users, developers, and domain experts. These users demand control, deep customization, and transparency. By satisfying their needs, the system becomes inherently robust and capable, often serving a wider audience in simpler configurations as a secondary benefit.
**Motto:** "Give experts the tools to build their own castles."
## II. Guiding Principles
### 1. **Build Engines, Not Just Interfaces**
- **Principle:** The core of the product should be a robust, well-documented, API-first engine. All user interfaces (web, mobile, CLI) are considered clients of this core engine. New functionality is always implemented in the engine first.
- **Rationale:** This approach ensures that the system's core logic is decoupled from its presentation, promoting stability, testability, and multi-platform support from day one.
### 2. **Embrace Configuration as Code**
- **Principle:** Prefer declarative, text-based configuration (e.g., YAML, JSON, HCL) over complex graphical user interfaces for system setup and logic definition.
- **Rationale:** "Config-as-code" is version-controllable, transparent, and infinitely more powerful for expressing complex logic. It allows users to manage system behavior with the same rigor and tooling they use for source code. The UI should be a convenient way to *manage* this configuration, not hide it.
### 3. **Design for Modularity and Composability**
- **Principle:** Architect the system as a collection of powerful, independent components that can be wired together in flexible ways. Follow the Unix philosophy: create small, focused components that do one thing well and can be chained together.
- **Rationale:** A modular, pipeline-based architecture (e.g., `Ingest -> Transform -> Store -> Process -> Notify`) allows users to create their own unique workflows by composing the provided building blocks. This makes the system adaptable to use cases the original designers may not have envisioned.
### 4. **Transparency is a Feature (The "Glass Box" Approach)**
- **Principle:** The system's internal logic must be transparent and auditable. Users should be able to understand precisely *why* a piece of data was processed in a certain way by tracing it through the configuration and system logs. Avoid "magic" black boxes.
- **Rationale:** Expert users need to trust the system. Trust is built on understanding and control. When something goes wrong, a transparent system is debuggable, while a black box is merely frustrating.
### 5. **Technology as an Augmentation Tool**
- **Principle:** When incorporating complex technologies (like AI, machine learning, or advanced algorithms), position them as tools to be wielded by the user, not as replacements for user judgment. The user must remain in control.
- **Rationale:** This ensures the user is the ultimate authority. The system provides powerful capabilities, but the user defines *how* they are applied through rules, prompts, or scripts, maintaining agency and control over the final outcome.
### 6. **Be Pragmatic and Lean**
- **Principle:** Focus relentlessly on the core processing pipeline and a stable, extensible architecture. Be willing to omit features that add complexity without contributing to the core value proposition for expert users (e.g., complex user management systems in a tool designed for self-hosting).
- **Rationale:** This keeps the product lean, focused, and maintainable. It assumes that expert users are capable of integrating the tool into their own infrastructure (e.g., placing it behind a reverse proxy for authentication).
## III. Prioritization Framework
When evaluating new features, use the following hierarchy of questions:
1. **Flexibility and Composability:** Does it increase the system's architectural flexibility or the ability to compose existing components in new ways? (Highest Priority)
2. **Expert Empowerment:** Does it empower the expert user to solve a complex, high-value problem that was previously out of reach?
3. **Integration and Extensibility:** Does it unblock a new integration point or workflow with other systems?
4. **User Experience Simplification:** Is it a UI tweak or a feature aimed at simplifying a task for less technical users? (Lowest Priority, unless it can be implemented without compromising the power of the underlying engine).

View File

@@ -1,3 +1,5 @@
[Nano Banana🍌 公益站](https://image-generation.zenfeed.xyz/):集成 Twitter 热门 Prompt轻松玩转各种姿势
---
[English](README-en.md)
---
@@ -35,6 +37,8 @@ zenfeed 是你的 <strong>AI 信息中枢</strong>。它既是<strong>智能 RSS
<p align="center">
<a href="https://zenfeed.xyz"><b>在线体验 (仅 RSS 阅读)</b></a>
&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
<a href="https://github.com/xusonfan/zenfeedApp"><b>安卓版体验 (仅 RSS 阅读)</b></a>
&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
<a href="docs/tech/hld-zh.md"><b>技术文档</b></a>
&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
<a href="#-安装与使用"><b>快速开始</b></a>
@@ -175,6 +179,7 @@ $env:API_KEY = "sk-..."; docker-compose -p zenfeed up -d
> * **安全提示:** zenfeed 尚无认证机制,将服务暴露到公网可能会泄露您的 `API_KEY`。请务必配置严格的安全组规则,仅对信任的 IP 开放访问。
### 3. 开始使用
> 安卓版https://github.com/xusonfan/zenfeedApp
#### 添加 RSS 订阅源
@@ -212,7 +217,7 @@ $env:API_KEY = "sk-..."; docker-compose -p zenfeed up -d
<td align="center">
<img src="docs/images/wechat.png" alt="Wechat QR Code" width="300">
<br>
<strong>加群讨论</strong>
<strong>AI 学习交流社群</strong>
</td>
<td align="center">
<img src="docs/images/sponsor.png" width="500">