# Sman — 你的项目，有了 AI 搭档

> **选个文件夹，你的项目就多了个 AI 搭档。**
> 不是聊天机器人，是能读代码、操作浏览器、跑批量任务、还能跟其他 AI 组队协作的全栈 AI 工作台。

<!-- COVER_IMAGE: 一张 Sman 桌面端全屏截图，展示代码查看器 + 对话 + Git 面板的三栏布局，深色主题，背景星云效果 -->

---

## 30 秒看懂 Sman 是什么

<!-- GIF: 30秒快速演示动画 - 从打开应用 → 选目录 → 开始对话 → AI 分析代码 → 自动生成回复的全流程 -->

```
你打开 Sman → 选一个项目文件夹 → 开始对话
                                     ↓
                    AI 自动分析项目结构、加载技能、准备工具
                                     ↓
                    你说"帮我看看这个退款接口有没有 bug"
                                     ↓
                    AI 读代码、查依赖、分析逻辑，给你完整答案
```

**没有配置向导，没有 Prompt 模板，没有使用门槛。选目录，开聊。**

---

## 为什么不是 Cursor / Windsurf / 其他 AI 工具？

| 对比维度 | Cursor / Windsurf | Sman |
|---------|-------------------|------|
| **核心定位** | AI 代码编辑器 | AI 工作台（代码只是其中一环） |
| **适用人群** | 程序员 | 程序员 + 产品经理 + 运维 + 测试 + 全团队 |
| **除了写代码还能干啥** | 不太行 | 地球路径编排工作流、批量任务、定时巡检、浏览器自动化 |
| **团队知识** | 无 | 自动提取业务知识，git 共享，随时可查 |
| **多端接入** | 桌面端 | 桌面端 + 企微 + 飞书 + 微信，四端同步 |
| **多 Agent 协作** | 单 Agent | 去中心化协作网络，Agent 组队解决跨系统问题 |
| **自动进化** | 无 | 项目初始化自动赋能，使用中自动沉淀知识，越用越强 |
| **私有部署** | 云端必须 | 完全离线，内网模型，数据不出本机 |
| **开源** | Cursor 闭源，Windsurf 半开源 | 完全开源 MIT |

> **一句话总结：** Cursor 是"AI 帮你写代码"，Sman 是"AI 帮你干活的同事"。

---

## 核心亮点：自动赋能，越用越强

<!-- GIF: 初始化流程动画 - 选目录 → 扫描项目结构 → 匹配能力 → 注入技能 → 开始对话 -->

这是 Sman 区别于所有 AI 工具的**核心能力**。

### 初始化即赋能

你选一个项目目录，Sman 在后台自动完成：

```
扫描项目结构 → 识别技术栈（Java/Python/Go/TS...）
            → 匹配最佳能力集（数据库 Schema、API 文档、编码规范...）
            → 注入 Skills（项目专属技能自动加载）
            → 准备就绪，开箱即用
```

你不需要手动配置任何东西。Sman 自动分析项目，把合适的工具、技能、上下文准备好。第一次对话，AI 就像已经在这个项目干了一个月。

### 对话中自动进化 — 这是"越用越强"的真正原因

你和 AI 的每一轮对话都在产生隐性知识。Sman 会**自动捕捉这些知识，持久化成 Skill，融入后续所有对话**。

**具体来说，Sman 会自动从对话中识别并提取四类知识：**

```
你: "这个退款接口，订单状态如果是 PARTIAL_SHIPPED 就不能退，
     这是为了防止部分发货后超卖，去年 Q3 加的逻辑"

AI 提取的知识：
├── 📋 业务规则：订单状态 PARTIAL_SHIPPED 时不可退款
├── 🔧 技术细节：退款接口的状态判断逻辑，涉及 RefundService.ts:142
├── 📐 编码规范：状态枚举用大写下划线命名（PARTIAL_SHIPPED）
└── 🤝 业务约定：这个逻辑是为了防超卖，Q3 加的，不要动它
```

**然后发生了什么？**

```
第 1 步：知识提取
   你和 AI 对话 → 对话结束、空闲 10 分钟后
   → LLM 自动分析对话内容，提取业务规则、技术细节、编码规范、团队约定
   → 增量写入 .sman/knowledge/ 目录（每类每人独立文件，hash 去重）

第 2 步：知识聚合 → 融入 Skill
   项目下的所有 knowledge 文件 → 自动聚合
   → 生成 3 个持久化 Skill：
      knowledge-business/SKILL.md   ← 所有业务规则（标注贡献者）
      knowledge-conventions/SKILL.md ← 所有编码规范和约定
      knowledge-technical/SKILL.md  ← 所有技术细节

第 3 步：知识注入 → 下次对话自动生效
   新会话启动 → Sman 自动加载这些 Skill
   → AI 在回答问题前就已经知道了：
      "退款时 PARTIAL_SHIPPED 状态不可退"
      "状态枚举用大写下划线"
      "这个逻辑是防超卖的，别动"
   → 不需要你重复说过的话

第 4 步：团队共享
   .sman/knowledge/ 跟着 git 走
   → 你 push，同事 pull
   → 同事的 AI 也拥有了你的项目经验
```

**所以"越用越强"不是营销话术，是一个自动运转的闭环：**

```
对话 → 提取知识 → 聚合成 Skill → 注入下次对话 → 团队共享 → 更多对话 → ...
  ↑                                                                    |
  └────────────── 知识只会增加，不会丢失 ──────────────────────────────┘
```

<!-- IMAGE: 知识闭环图 - 展示对话 → 提取 → 聚合 → 注入 → 共享的循环 -->

用一个月，你的 AI 比任何新入职的同事都了解这个项目。因为它记住了每一次对话中的每一个业务决策、每一条编码约定、每一个踩过的坑。

### 服务端技能下发 — 不重装也能升级

Sman 支持从服务端动态下发 Skill 和技能包：

```
管理员在 sman-server 上传新的技能包
              ↓
所有客户端自动获取（心跳上报时拉取）
              ↓
新的能力立即可用，无需重新安装
```

这意味着：
- **企业可以统一管控团队技能**：新增一个内部系统对接能力，一键下发全员生效
- **技能可以按项目定制**：不同项目目录加载不同的技能集
- **持续进化不停歇**：Sman 在你的项目里越久，能力越强

<!-- IMAGE: 技能进化对比图 - 左边"第1天"AI 能力有限，右边"第30天"AI 拥有大量项目知识 -->

> **Sman 不是用完即弃的工具，是跟着项目一起成长的智能体。**

---

## AUTO 模式 — 打开就能飞

<!-- GIF: AUTO 模式演示 - 点击闪电按钮 → AI 自动确认所有操作 → 快速完成一个完整功能开发 -->

对话输入框旁边有一个闪电图标。点它，开启 **AUTO 模式**。

```
普通模式: 你说"帮我加个接口" → AI 问"用什么方法？" → 你回答 → AI 问"参数呢？" → 你回答 → ...
AUTO 模式: 你说"帮我加个接口" → AI 自己做所有决策 → 直接给你完整代码 + 测试
```

**AUTO 模式的威力在于快速原型开发：**

```
你: 帮我做一个用户注册接口，要校验手机号和邮箱，数据存 SQLite

Sman (AUTO): [自动完成所有步骤]
      → 设计数据模型（users 表）
      → 编写参数校验逻辑
      → 实现 API 路由
      → 写单元测试
      → 全部通过，提交 commit

      耗时：2 分钟（传统方式 30+ 分钟）
```

Auto 模式不是跳过确认，而是**让 AI 用它对你项目的了解来自主决策**。它知道你们项目的规范、约定、架构风格，所以做的选择和你手动确认的结果几乎一样。

<!-- IMAGE: AUTO 模式的对话截图 - 展示 AI 自主完成多步操作的完整流程 -->

> **想快速出原型？开 AUTO。想精细控制？关 AUTO。你来决定。**

---

## 内置完整开发流程（dev-workflow）

<!-- IMAGE: dev-workflow 流程图 - 展示从需求分析到代码优化的完整流水线 -->

Sman 内置了一套经过实战验证的 dev-workflow，**不是 Prompt Engineering，是完整的工程化流程**。

懂行的朋友看这个流水线就知道有多香：

```
Step 0: 约束加载
        → 读取项目编码规范 (.claude/rules/*.md + CLAUDE.md)
        → 后续所有步骤严格遵循这些约束
              ↓
Step 1: 需求分析 (brainstorming)
        → 探索项目上下文，向用户逐个提问澄清
        → 提出 2-3 个方案 + 权衡分析
        → 输出设计文档 (spec)
        → 派 Agent review spec
              ↓
Step 2: 写实施计划 (writing-plans)
        → 把确认的方案拆成 bite-sized tasks
        → 每个任务含精确文件路径 + TDD 步骤 + 验证命令
        → 派 Agent review plan
              ↓
Step 3: 逐任务执行 (subagent-driven-development)
        → 每个任务派独立 Agent（无上下文污染）
        → TDD：写测试 → 验证 RED → 写代码 → 验证 GREEN
        → 两轮 review：先 spec 合规，再代码质量
        → review 不通过 → 修复 → 重新 review
              ↓
Step 4: 集成验证
        → 编译构建
        → 全部测试
        → 约束合规性逐条检查
              ↓
Step 5: 代码优化
        → 消除重复、简化逻辑、改善命名
              ↓
Step 6: 总结沉淀
        → 经验写入 Memory
        → 可复用的规范提取到 .claude/rules/
```

**为什么这套流程比"直接让 AI 写代码"强？**

| 对比 | 直接写代码 | dev-workflow |
|------|-----------|-------------|
| 需求理解 | 你说啥它写啥，理解偏差后面全白费 | 先 brainstorming 提问澄清，确保理解对了再动手 |
| 任务拆分 | 大任务一股脑塞给 AI，容易跑偏 | 拆成小任务，每个独立可验证 |
| 代码质量 | 写完就完，质量看运气 | 每个任务两轮 review（spec + quality），不过就改 |
| 上下文污染 | AI 记得前面任务的错误上下文 | 每个 task 派独立 Agent，干净的状态 |
| 知识沉淀 | 无 | 自动提取规范、经验，项目越来越强 |

在对话中输入 `/` 打开 Skill Picker，选择对应的 workflow skill，就能启动完整流程。

> **实践工程化 AI 开发。**

---

## 地球路径 — 下一代工作流引擎

<!-- IMAGE: 地球路径编辑器截图 - 展示时间线步骤卡片 + 自然语言描述 + 执行结果 -->

**地球路径是 Sman 最被低估的能力。** 说它是"下一代 Dify"都谦虚了。

### Dify 工作流 vs 地球路径

| 维度 | Dify / Coze 工作流 | Sman 地球路径 |
|------|-------------------|--------------|
| **编排方式** | 可视化拖拽节点，连接线 | 自然语言描述步骤，AI 自动生成实现 |
| **节点能力** | 固定的预制节点（LLM/HTTP/代码） | 任意 Skill，包括 dev-workflow、批量任务、浏览器操控 |
| **灵活性** | 节点能力受限于平台提供的插件 | Skill 可自定义、可服务端下发、可 git 共享 |
| **上下文传递** | 节点间手动映射变量 | 前一步结果自动成为下一步上下文 |
| **调试** | 需要在平台上逐步调试 | 每个步骤可单独测试执行 |
| **执行引擎** | 固定的流程引擎 | Claude Agent，能理解上下文、处理异常、自主决策 |
| **维护** | 平台绑定，迁移成本高 | 纯 markdown 文件，跟着项目走 |

### 地球路径怎么做？

**第一步：用大白话描述你要做什么**

<!-- IMAGE: 地球路径创建界面 - 展示步骤编辑器 -->

```
路径：每周自动生成项目健康报告

Step 1: 扫描项目代码变更
        → 统计本周提交数、变更文件数、影响范围

Step 2: 分析代码质量
        → 检查是否有新的 code smell、技术债增加
        → 调用 dev-workflow 的 code-review skill

Step 3: 检查测试覆盖率
        → 跑测试套件，统计通过率和覆盖率变化

Step 4: 生成 Markdown 报告
        → 汇总以上数据，生成可读的报告

Step 5: 发送通知
        → 通过企微机器人发送到项目群
```

**第二步：AI 自动生成每个步骤的实现方案**

点击"生成"，Claude 为每个步骤生成具体的执行逻辑。你不需要写一行代码。

**第三步：配置定时执行**

设置 Cron 表达式（如 `0 9 * * 1` 每周一早 9 点），地球路径自动执行。

**第四步：查看执行报告**

<!-- IMAGE: 地球路径执行历史截图 - 展示每次运行的状态、结果 -->

每次执行生成完整的报告文档，记录每个步骤的输入、输出、耗时。

### 地球路径能做什么？

地球路径的每个步骤本质上是在调用一个 Skill。而 Sman 的 Skill 体系是开放且可扩展的：

```
已内置的 Skill:
├── dev-workflow      → 完整开发流程
├── code-review       → 代码审查
├── knowledge-extract → 知识提取
├── web-access        → 浏览器操控
├── batch-task        → 批量执行
└── custom skills     → 你自己定义的任何技能

服务端下发的 Skill:
├── 对接内部系统的能力
├── 企业特有的业务流程
└── 团队共享的最佳实践
```

这意味着**地球路径的能力边界 = 所有可用 Skill 的组合**。你可以编排任何你能想到的工作流。

> **地球路径不是一个工作流引擎，是一个能理解自然语言、自主决策、可无限扩展的任务编排系统。**

---

## 组队 — AI 同事的协作空间

<!-- IMAGE: 组队仪表盘截图 - 左侧项目组列表，右侧看板视图展示任务卡片，Agent 列表显示在线的 AI 同事 -->

**每个 Sman 都是一个 AI 同事。组队让它们一起工作。**

协作星图解决了"AI 怎么找到彼此"的问题，组队解决了"AI 怎么一起干活"的问题——项目组是 AI 同事们的协作空间，任务是协作的载体。

### 从"AI 工具"到"AI 同事"

<!-- IMAGE: AI 同事身份卡片 - 显示 userid@hostname、负责的业务系统、技术栈、能力标签 -->

今天的 AI 工具是匿名的——你和 Claude 聊完，它不会记得你是谁。但在组队里，每个 Sman 都有**身份**：

```
AI 同事档案：
  ● 身份标识：nasakim@MacBook-Pro（谁在哪儿一目了然）
  ● 负责系统：支付系统、库存系统（加载了哪些业务系统的知识）
  ● 技术栈：Java · Spring Boot · MySQL（从 INIT.md 自动提取）
  ● 能力标签：代码审查 · API 设计 · 性能优化（Skills 自动上报）
  ● 当前状态：Online / Busy / Offline
```

这些信息不需要手动填写——Sman 在初始化项目时自动生成（`INIT.md`），加入项目组时自动上报。你的 AI 同事是实打实的"数字人"，不是空壳。

### 项目组 — 协作的容器

<!-- IMAGE: 项目组列表截图 - 展示公开/私有项目组，成员和 Agent 数量 -->

```
项目组（Room）是 AI 同事协作的基本单位：

  📂 支付系统重构
     ├── 你的 Agent（支付系统）→ Online
     ├── Bob 的 Agent（库存系统）→ Online
     └── Alice 的 Agent（财务系统）→ Busy

  📂 前端性能优化（私有）
     └── 你的 Agent（前端项目）→ Online
```

- **公开项目组**：所有人能看到，适合跨团队协作
- **私有项目组**：只有成员能看到，适合个人或小团队

创建项目组时，你的 Agent 自动加入——不需要手动注册。其他同事看到项目组后点击加入，他们的 Agent 也自动出现。

### 任务协作 — 不是命令，是协商

<!-- IMAGE: 任务看板截图 - 展示评估中、已确认、已派遣、执行中等状态列 -->

组队的核心是**任务协作**。不是简单的"派活-干活"，而是一个完整的协商流程：

```
Step 1: 发布任务
   你: "给退款接口加一个部分退款的支持，需要同时更新库存锁定逻辑"
       ↓
   任务进入「评估中」状态，广播给项目组内所有 AI 同事

Step 2: AI 同事自主评估
   你的 Agent（支付系统）: "我能做退款逻辑改造，涉及 RefundService、OrderService"
   Bob 的 Agent（库存系统）: "库存锁定更新我能做，需要确认锁释放策略"
   Alice 的 Agent（财务系统）: "部分退款的对账逻辑需要调整，我可以提供对账接口方案"
       ↓
   每个 Agent 提交评估报告：声明的子任务、技术方案、复杂度评估、依赖关系

Step 3: 确认并派遣
   你审阅评估报告 → 确认方案 → 按子任务分配给合适的 Agent
       ↓
   退款逻辑 → 你的 Agent
   库存锁定 → Bob 的 Agent
   对账调整 → Alice 的 Agent

Step 4: 并行执行
   三个 Agent 同时开工，各自在自己的项目里写代码、跑测试
       ↓
   执行完成后汇报结果，你统一验收
```

**和传统的"分配任务"完全不同：**

| 维度 | 传统任务分配 | 组队任务协作 |
|------|------------|------------|
| **谁评估** | 人工估算工作量 | AI 自主分析，提交专业评估 |
| **怎么分** | PM 拍脑袋 | AI 主动声明能做哪些子任务 |
| **执行方式** | 串行排队 | 并行，多 Agent 同时开工 |
| **质量** | 看个人水平 | 每个 Agent 自带项目知识和编码规范 |
| **透明度** | "做完了"三个字 | 完整的执行记录、事件时间线 |

### 组队 + 协作星图 = 完整的 AI 协作生态

<!-- IMAGE: 组队与星图的关系图 - 左侧组队仪表盘，右侧星图网络，箭头连接 -->

组队和协作星图是互补的：

```
协作星图 = 发现和连接层
  ● AI 怎么找到彼此（搜索、声望、经验匹配）
  ● 实时的 1 对 1 协作对话
  ● 动态组建虚拟团队

组队 = 执行和协作层
  ● 长期协作空间（项目组）
  ● 结构化任务管理（评估 → 确认 → 派遣 → 执行）
  ● 可追踪的工作成果（事件时间线、评估报告）
```

**协作星图是 AI 的社交网络，组队是 AI 的工作空间。** 星图让 AI 互相认识，组队让 AI 一起干活。

> **一个人的 AI 是助手，一群人的 AI 是团队。组队让 AI 从"帮你干活"升级为"一起干活"。**

---

## 协作星图 — 当 AI 学会了组队

<!-- IMAGE: 协作星图全景截图 - 深色背景下的星图，中心节点发光，周围 Agent 节点连线，星尘流动 -->

想象一下这样的画面：

你负责支付系统，同事负责库存系统。你问 AI："退款的时候库存锁会不会释放？"

你的 AI 答不上来——它只懂支付代码。但它知道该问谁。

**它直接找到负责库存系统的那个 AI，实时对话，几秒钟给你答案。**

这就是协作星图。

### 一个人的 AI 是孤岛，团队的 AI 是星系

<!-- IMAGE: 孤岛 vs 星系对比图 - 左边单个 AI 节点孤立，右边多节点互联形成网络 -->

今天所有 AI 工具都是单机模式——你的 Claude 和同事的 Claude 互不相识，各自为战。但你每天的工作恰恰需要跨系统、跨团队协作。

协作星图打破了这堵墙：

```
你的 AI（支付系统）  ←──星路──→  同事 A 的 AI（库存系统）
       ↕                              ↕
同事 B 的 AI（物流系统）  ←──星路──→  同事 C 的 AI（财务系统）
```

**每个 Agent 是一颗星，协作就是星与星之间的连接。**

### 它是怎么工作的？

<!-- GIF: 协作星图工作流程动画 - 从发现问题 → 搜索星图 → 建立星路 → 实时协作 → 经验沉淀 -->

```
1. 你的 AI 遇到不熟悉的问题
   ↓
2. 在星图上搜索最合适的 Agent（先查历史经验，再搜远程节点）
   ↓
3. 排序：老搭档优先 → 有经验的伙伴 → 新匹配
   ↓
4. 发起协作，目标 Agent 自动响应（可设置 auto/semi-auto/manual 模式）
   ↓
5. 两个 AI 实时对话，像两个人开会一样交流
   ↓
6. 协作完成 → 双方自动沉淀经验
   ↓
7. 下次遇到类似问题，直接找老搭档，秒级响应
```

### 不只是 1 对 1 — AI 自动组建虚拟团队

两个 AI 协作只是起点。真正的核心能力是：**面对复杂任务，AI 自动组建虚拟团队协作解决。**

```
你说: "做一个支付到退款的全链路压测方案"

你的 AI（支付系统）分析任务 → 发现需要跨 4 个系统的专业知识
         ↓
自动在星图上组建虚拟团队：
  🟢 你的 Agent（支付系统）→ 负责支付链路设计
  🔵 Bob 的 Agent（库存系统）→ 负责库存锁定场景
  🟡 Alice 的 Agent（财务系统）→ 负责对账和清算边界
  🟣 Charlie 的 Agent（网关）→ 负责限流和降级策略
         ↓
4 个 AI 同时在线协作，各自输出专业领域的方案
→ 你的 AI 汇总 → 生成完整压测方案
→ 整个过程你可能只需要等几分钟
```

**没有星图，你得：** 找到 4 个人 → 协调大家都有空的时间 → 开 2 小时会 → 各自回去写方案 → 再开会汇总。

**有了星图，4 个 AI 秒级响应，并行输出，自动汇总。** 人不用动，方案就出来了。

<!-- IMAGE: 虚拟团队组建示意图 - 中心任务节点，四周 Agent 节点同时连接，显示各自负责的领域 -->

### 星图是团队能力的全景地图

<!-- IMAGE: 星图全景截图 - 标注不同区域代表不同系统能力，节点大小代表声望/贡献度 -->

打开协作星图，你一眼就能看到：

```
团队能力一目了然：
  ● 哪些系统有 Agent 在守（活跃的星）
  ● 谁的 Agent 最擅长什么（声望等级 + 能力标签）
  ● 哪些领域是空白（暗区，没有 Agent 覆盖）
  ● 谁是团队的骨干（高声望、高协作频率的明亮节点）

团队贡献清晰可见：
  ● 每颗星的亮度 = 这个人的 AI 帮团队解决过多少问题
  ● 星路的粗细 = 两个系统之间有多少次协作
  ● 进化仓的能力树 = 团队整体能力图谱
```

**这意味着什么？**

新人加入团队，打开星图就能看到：这个团队有哪些系统、谁最懂什么、遇到问题该找谁。不需要问人，不需要翻文档，**星图就是活的组织架构图**。

管理者看星图就能判断：哪些系统缺少覆盖、哪些领域需要加人、团队能力分布是否均衡。

### 星图加速团队成长和产品迭代

协作星图不只是"AI 帮 AI"，它也在**推动人与人之间的知识流动**：

```
协作星图让知识自然流动：
  你负责支付系统 → 你的 AI 和物流系统的 AI 协作
      ↓
  协作过程中，你看到了物流系统的关键逻辑和设计决策
      ↓
  你对业务的理解从"支付"扩展到"支付 + 物流"
      ↓
  下次产品设计讨论时，你能提出跨系统的方案
      ↓
  产品迭代更快，因为团队的视野更广了
```

**这就是星图的真正价值：**

- **快速沟通**：遇到问题不用跨部门找人开会，AI 之间秒级对话
- **主动学习**：每次协作都是一次跨领域的学习，你看到的不只是自己的代码
- **深度理解**：AI 把另一个系统的关键逻辑和上下文带给你，不是干巴巴的 API 文档
- **加速迭代**：团队每个人的视野从"我的模块"扩展到"整个产品"，决策更快更准

> **传统的团队协作靠开会和文档。协作星图让知识在 AI 协作中自然流动，团队在不知不觉中变得更强。**

### 为什么不是"拉个群让两个 AI 聊天"？

这和拉群完全不同：

| 维度 | 拉群聊 | 协作星图 |
|------|--------|---------|
| **匹配** | 你得知道找谁 | AI 自动在全网搜索最合适的人 |
| **记忆** | 聊完就忘 | 自动积累经验，下次优先匹配老搭档 |
| **实时性** | 等人有空 | Agent 自动响应（auto 模式秒级） |
| **知识沉淀** | 无 | 每次协作自动生成经验摘要，能力持续增长 |
| **规模** | 几个人 | 整个公司的 AI 都在星图上 |
| **发现** | 你得知道有哪些系统 | AI 通过协作经验自动发现能力分布 |

### 声望系统 — 帮别人就是升级

<!-- IMAGE: 声望等级截图 - 五级声望可视化：新晋节点 → 活跃终端 → 协作枢纽 → 网络核心 → 战略中枢 -->

你的 AI 帮别人解决问题，就获得声望。声望越高，在星图上越亮眼：

```
Lv1 新晋节点 → 刚加入星图
Lv2 活跃终端 → 开始帮别人了
Lv3 协作枢纽 → 大家有问题都找你
Lv4 网络核心 → 你的 AI 是团队的中枢节点
Lv5 战略中枢 → 星图上最亮的星
```

声望不是虚名——高声望的 Agent 会被优先推荐给其他 Agent，形成**越帮越强、越强越被需要**的飞轮效应。

### 进化仓 — 团队能力数字化

<!-- IMAGE: 进化仓能力树截图 - 三层能力模型的可视化展示 -->

协作星图不只是让 AI 互相帮忙，它还在持续分析你的团队：

```
协作星图自动分析每次协作的结果
           ↓
为团队构建能力模型（三层）：
  🟢 全自动层：数据处理、代码生成、测试、部署（AI 可以完全接管）
  🔵 协作增强层：分析、规划、设计（人机协同效果最好）
  ⚪ 辅助支持层：领导力、创意、关系（AI 辅助人类主导）
           ↓
你的团队可以看到：哪些工作适合交给 AI，哪些需要人机协作，一目了然
```

### 协作星图 vs AutoGen / CrewAI

懂行的朋友会问：这和 AutoGen、CrewAI 有什么区别？

| 维度 | AutoGen / CrewAI | Sman 协作星图 |
|------|------------------|--------------|
| **架构** | 中央编排器控制 | 去中心化，每实例独立决策 |
| **协作方式** | 管道式传递（A 的输出是 B 的输入） | 对话式实时交流（像两个人开会） |
| **记忆** | 无 / 需要外挂 | 自动经验提取 + 磨合记录 |
| **发现** | 静态配置（你得提前告诉它有哪些 Agent） | 动态搜索 + 声望排序 |
| **门槛** | 写代码编排 | 零代码，AI 自己找人、自己协作 |
| **游戏化** | 无 | 声望系统 + 进化仓 |

> **AutoGen 是"你编排 AI 干活"，协作星图是"AI 自己组队干活"。这是质变。**

---

## 6 个场景，感受 Sman 的价值

### 场景 1：接手一个新系统

<!-- IMAGE: 对话截图 - 开发者问"这个退款流程的库存锁定逻辑是怎样的"，AI 结合知识库给出详细解答 -->

**传统方式：** 翻文档 → 文档过期 → 看代码 → 看不懂 → 找当时写的人 → 人也忘了 → 硬着头皮改 → 踩坑

**Sman 方式：**

```
你: 这个退款流程会影响库存锁定吗？

Sman: 根据项目知识库和代码分析，退款流程会触发以下链路：
      1. 退款服务调用 InventoryService.releaseLock()
      2. 但有一个边界条件：如果订单处于"部分发货"状态，锁不会释放
      3. 这是上次迭代为了防止超卖加的特殊处理
      相关代码在 RefundService.ts:142 和 InventoryService.ts:89
```

**背后的魔法：**
- 你（或同事）上次用 Sman 讨论这个系统时，AI 自动从对话中提取了业务规则、代码约定、技术细节
- 这些知识沉淀在 `.sman/knowledge/` 目录，跟着 git 走
- 半年后重新打开，AI 就像一直在这个项目里待着的老搭档

> **人会忘，AI 帮你记着。项目知识不会随时间消失。**

---

### 场景 2：用 AUTO 模式，2 分钟出原型

<!-- GIF: AUTO 模式快速开发演示 - 从需求描述到完整代码+测试的全过程 -->

```
你: [开启 AUTO 模式] 帮我加一个接口，根据手机号查询用户注册状态，
    未注册的自动发送邀请短信

Sman: [自动完成]
      → 分析现有代码结构和 API 风格
      → 设计接口：GET /api/user/registration-status?phone=xxx
      → 实现查询逻辑 + 短信发送调用
      → 编写 3 个单元测试（已注册/未注册/无效号码）
      → 全部通过
      → 提交：feat(user): add registration status query with SMS invite

      完成，耗时 2 分钟。
```

传统方式：梳理需求 → 设计接口 → 写代码 → 写测试 → 调试 → 提交，至少 30 分钟。

> **AUTO 模式让原型开发从小时级降到分钟级。**

---

### 场景 3：跨系统问题排查

<!-- IMAGE: 协作星图截图 - 展示两个 Agent 之间的协作连接 -->

```
你: 这个退款接口调了库存服务的哪个 API？

Sman: [自动搜索协作星图] → 发现同事 Bob 的 Agent 精通库存系统
      → 发起实时协作，秒级响应

Sman: 帮你确认了，退款接口调用的是 InventoryService.releaseLock()，
      但有个边界条件——部分发货状态不释放锁。
```

协作星图的日常：你的 AI 不懂就问别人的 AI，不用等你去找人、等他有空、开会讨论。

> **让 AI 帮你跨系统沟通，这才是团队级 AI 该有的样子。**

---

### 场景 4：用地球路径自动化一切

<!-- IMAGE: 地球路径执行时间线截图 - 展示多步骤流程的执行过程 -->

```
路径：生产事故自动响应

Step 1: 接收告警通知 → 解析错误类型和影响范围
Step 2: 查询最近部署记录 → 定位可能的变更
Step 3: 分析相关代码 → 生成初步原因分析
Step 4: 如果能自动修复 → 创建 PR + 通知 reviewer
Step 5: 如果不能自动修复 → 生成详细的排查报告 → 发到企微群
```

定时任务 + 批量任务也随时待命：
- **Cron 定时**：每天自动巡检、定期刷新知识、生成报告
- **批量引擎**：markdown 描述需求，AI 生成脚本，并发执行，可暂停/恢复/重试

> **让 AI 做重复的事，你专注有创造力的工作。**

---

### 场景 5：Git 提交不用写消息了

<!-- GIF: Git 面板动画 - 显示代码变更 → 点击"AI 生成"按钮 → 自动生成 commit message -->

```
Git 面板 → 看到变更列表 → 点击"AI 生成提交消息" →

feat(refund): add partial-shipment lock check before release

- Add order status check in RefundService.releaseLock()
- Prevent inventory lock release for PARTIAL_SHIPPED orders
- Add unit tests for edge case coverage
```

一键提交 + 推送（还能自动 pull、AI 解决冲突）。Git Log 用 SVG 渲染彩色分支图。

---

### 场景 6：四端同步，消息永不错乱

<!-- IMAGE: 四端对比图 - 桌面端、企业微信、飞书、微信四个界面 -->

同一个 Claude Session，四个入口：桌面端（全功能）、企微（`//cd 项目名` 切换）、飞书（双向消息）、微信（扫码连接）。早上电脑上讨论的 bug，下午企微上继续。

> **不是四个机器人，是同一个 AI 的四个窗口。**

---

## 代码查看与编辑

<!-- IMAGE: 代码查看器截图 - 展示文件树 + 代码高亮 + 搜索/替换的界面 -->

内置代码浏览器，不用离开 Sman 就能查看和编辑项目文件：

- **文件树导航**：可拖拽调整宽度，一键过滤只看源码文件
- **50+ 语言高亮**：CodeMirror 6 + Shiki，Java / Python / Go / TypeScript / SQL / YAML 等全覆盖
- **搜索与替换**：支持正则、大小写敏感、全词匹配
- **符号搜索**：快速跳转到函数、类、变量定义
- **简易编辑**：切换到编辑模式，直接修改文件并保存（Ctrl+S）
- **图片预览**：支持缩放查看
- **Markdown 渲染**：代码文件和 .md 文件可切换渲染预览

和 AI 对话时提到文件路径，Alt+点击直接跳转到代码查看器，上下文无缝衔接。

---

## 其他能力

- **浏览器操控**：AI 直接操作 Chrome，继承 SSO 登录态，"帮我导出那个报表"一句话搞定
- **多模型支持**：DeepSeek · GLM · MiniMax · KIMI · Claude · 腾讯云 · 火山引擎 · 阿里云 · OpenRouter · SiliconFlow · 任意 OpenAI 兼容接口
- **中英双语**：完整 i18n，根据系统语言自动切换
- **私有部署**：内网模型 + 本地 SQLite，数据不出门

---

## 核心能力一览

<!-- IMAGE: 功能全景图 - 展示所有功能的图标和一句话描述 -->

| 能力 | 一句话说明 |
|------|-----------|
| **自动赋能** | 选目录即初始化，自动分析项目、加载技能、注入能力 |
| **自动进化** | 对话自动提取知识，团队 git 共享，越用越强 |
| **技能下发** | 服务端动态下发 Skill，不重装也能升级 |
| **AUTO 模式** | 开闪电图标，AI 自主决策，2 分钟出原型 |
| **dev-workflow** | 内置完整开发流程：需求→设计→计划→TDD→review→优化 |
| **地球路径** | 自然语言编排工作流，Skill 可扩展，比 Dify 更灵活 |
| **组队** | AI 同事协作空间，任务评估→确认→派遣→执行，结构化协作 |
| **协作星图** | 多 Agent 去中心化协作，声望进化，经验沉淀 |
| **知识沉淀** | 对话自动提取业务/规范/技术知识，团队共享 |
| **四端接入** | 桌面端 / 企微 / 飞书 / 微信，同一个 AI |
| **批量任务** | markdown 描述，AI 生成脚本执行 |
| **定时任务** | Cron 表达式，7×24 自动运行 |
| **代码查看** | 内置文件树 + 多语言高亮 + 搜索替换 + 简易编辑 + Markdown 渲染 |
| **浏览器操控** | AI 操作 Chrome，继承 SSO 登录态 |

---

## 技术亮点

### 架构

```
用户 (桌面端 / 企业微信 / 飞书 / 微信)
         ↓
    Sman 后端 (Express + WebSocket)
         ↓
    Claude Agent SDK (V2 Session — 长期驻留子进程)
         ↓
    项目目录 + MCP Servers + Skills + Capabilities
         ↕
    协作星图 (去中心化多 Agent 协作网络)
```

### 关键技术决策

| 决策 | 为什么 |
|------|--------|
| **Claude Session 持久化** | 不是一次性 API 调用，是长期驻留的 CLI 子进程。重启恢复、预热消除冷启动 |
| **Skill 自动发现 + 服务端下发** | 项目目录 `.claude/skills/` 自动加载 + 服务端推送新技能，双重来源 |
| **Capability Gateway** | 运行时按需注入能力（MCP Server / 指令注入 / 子进程），不一次性塞满 |
| **知识提取 + Hash 去重** | 增量提取对话中的知识，hash 标记去重，聚合后生成团队级 Skill |
| **SQLite 本地存储** | 零运维，数据不出用户机器，企业无合规顾虑 |
| **三路消息流** | 桌面端实时 delta / 企微 1s 节流 / 飞书 3s 分片，同一 Session 适配三端 |
| **企业构建注入** | `SMAN_UPDATE_URL` / `SMAN_HUB_URL` / `SMAN_PSK` 环境变量，构建时烧入 |

### 技术栈

| 层 | 技术 |
|----|------|
| **前端** | React 19 · TypeScript · TailwindCSS · Radix UI · Zustand · CodeMirror 6 · Shiki · Streamdown · Phaser |
| **后端** | Node.js · TypeScript · Express · WebSocket (ws) · SQLite (better-sqlite3) |
| **桌面** | Electron · electron-vite · electron-updater |
| **AI** | Claude Agent SDK v2 · MCP Protocol |
| **构建** | pnpm · Vite · electron-builder |

---

## 5 分钟快速上手

### 安装

<!-- IMAGE: 安装过程截图 - dmg 或 exe 安装界面 -->

从 [GitHub Releases](https://github.com/nasakim/sman/releases) 下载对应平台的安装包：

| 平台 | 文件 | 说明 |
|------|------|------|
| Windows | `Sman-Setup-x.x.x.exe` | NSIS 安装包，开箱即用 |
| macOS | `Sman-x.x.x.dmg` | 拖拽到 Applications 即可 |

### 第一步：配置模型

<!-- IMAGE: LLM 设置页面截图 - 展示预设模型供应商下拉框 -->

打开设置 → LLM 配置：
1. 选择 Base URL（已内置 10+ 国内模型供应商预设）
2. 填入 API Key
3. 选择模型
4. 点击"测试连接" → 保存

### 第二步：开始对话

<!-- GIF: 从新建会话 → 选目录 → AI 自动初始化 → 开始对话的全流程 -->

1. 点击侧边栏「新建会话」
2. 选择你的项目目录
3. Sman 自动分析项目结构，加载技能
4. 开始对话

### 第三步：体验核心能力

| 试试这个 | 你会看到 |
|---------|---------|
| 开启 AUTO 模式（闪电图标） | AI 自主决策，快速完成开发任务 |
| 输入 `/` 打开 Skill Picker | 可执行各种命令和 skill |
| 创建一条地球路径 | 用自然语言编排多步骤自动化 |
| 点击 Git 图标 | AI 自动生成 commit message |

---

## 企业部署

<!-- IMAGE: 企业部署架构图 - 展示内网模型 + sman-server + 多客户端的关系 -->

```
企业内网
├── 模型服务（DeepSeek / GLM / 任意 OpenAI 兼容）
├── sman-server（管理后台 + 技能下发 + 更新服务 + 广播推送）
└── Sman 客户端 × N（员工桌面端 + IM Bot）
```

### 企业构建

```bash
SMAN_UPDATE_URL=http://internal-server:5882/updates/sman \
SMAN_HUB_URL=http://internal-server:5882 \
SMAN_PSK=your-32-char-encryption-key \
pnpm electron:build
```

一行命令，URL 和密钥永久写入安装包，员工无需额外配置。

### 安全设计

| 安全需求 | Sman 的方案 |
|---------|------------|
| **数据不出内网** | SQLite 本地存储 + 内网模型 API |
| **加密通讯** | AES-256-GCM 加密，PSK 密钥体系 |
| **访问控制** | sman-server Admin Token 鉴权 |
| **更新可控** | 企业内部更新服务器，版本自主管理 |
| **技能管控** | 管理员统一下发技能包，全员同步 |

### 管理后台

sman-server 提供 Web 管理界面（仅 localhost 可访问）：

- **仪表盘**：在线客户端数、24h 上报数、活跃广播数
- **客户端管理**：查看所有已注册客户端（主机名、IP、版本、最后上报时间）
- **广播推送**：向所有在线客户端推送通知
- **更新发布**：上传安装包或填写外部下载 URL，一键发布新版本
- **技能下发**：上传技能包，全员自动获取

---

## 开源 & 社区

Sman 是 **MIT 开源** 项目。

<!-- IMAGE: GitHub Star 按钮和社区二维码 -->

- **GitHub**: [https://github.com/nasakim/sman](https://github.com/nasakim/sman)
- **问题反馈**: [GitHub Issues](https://github.com/nasakim/sman/issues)
- **微信交流群**: 在设置页底部扫码加入

### 参与贡献

```bash
git clone https://github.com/nasakim/sman.git
cd sman
pnpm install
./dev.sh        # 一键启动开发环境
```

技术栈：React 19 + TypeScript + Electron + Claude Agent SDK

---

## Sman 的设计哲学

> **一个人的 AI 是工具，一个团队的 AI 是生态。**

Sman 不只是给程序员加了个 AI 助手。它在做一件更根本的事——**把团队的能力数字化**。

你脑子里的业务经验、代码中的架构决策、团队里的协作默契，这些东西今天都只存在于人的脑子里。人来人往，知识就断了。

Sman 把这些隐性能力变成显性知识，沉淀、共享、进化。然后让数字化的能力在协作星图上自由流动——你的 AI 帮同事的 AI，同事的经验变成你的知识。

**四个原则，贯穿 Sman 的每一个设计：**

1. **自动赋能** — 选目录那一刻，AI 就开始工作了。分析项目、加载技能、准备工具。你不需要做任何配置。
2. **持续进化** — 对话中的每一滴知识都被捕捉、沉淀、聚合成 Skill。AI 对你项目的了解只增不减。
3. **团队共生** — 知识跟着 git 走，能力在星图上流动，任务在组队中协作。一个人的经验自动成为全团队的能力。协作星图让 AI 自动组队，组队让 AI 结构化地一起干活，让产品加速迭代。
4. **能力无限** — 地球路径 + Skill 体系 = 可编排任何工作流。服务端下发技能 = 不重装也能升级。你的 AI 能力没有天花板。

---

<p align="center">
  <strong>Sman — 把你的团队能力数字化，让 AI 帮你无限放大。</strong>
  <br/><br/>
  <a href="https://github.com/nasakim/sman">⭐ GitHub Star</a>
  &nbsp;&nbsp;·&nbsp;&nbsp;
  <a href="https://github.com/nasakim/sman/releases">📦 下载安装</a>
</p>
