Skip to content

novaair026-dev/StaffAI

Repository files navigation

StaffAI

给老板你开发的一人公司本地专用 AI 员工。 你只管说需求,AI 自动派活、自动干活。 扩展新员工?写几句话就行,0 编程门槛。


它能做什么

你在本地启动 StaffAI,打开浏览器,直接说:

"帮我发个通知提醒下午3点开会,然后把内容朗读一遍。"

StaffAI 的调度中枢会自动判断需要哪些员工,按顺序派活执行:

📋 调度员工:发送通知文本、朗读文本

【发送通知文本】员工执行中:
> ✅ 自动执行: osascript -e 'display notification "下午3点开会" with title "会议提醒"'
(执行成功)

【朗读文本】员工执行中:
> ✅ 自动执行: say "下午3点开会"
(执行成功)

不需要你选员工,不需要你写命令。你是老板,说句话就行。


设计理念

核心系统 + 可扩展的员工技能目录 + 命令行操作外围设备

         你(老板)
            |
            v
    ┌───────────────┐
    │   调度中枢     │  ← 理解需求,自动派活
    └───────┬───────┘
            |
    ┌───────v───────┐
    │  员工技能目录   │  ← 每个文件夹 = 一个员工,用文字描述技能
    └───────┬───────┘
            |
    ┌───────v───────┐
    │  Shell 执行器  │  ← 安全执行命令,白名单自动,其余你确认
    └───────────────┘
  • 两阶段调度:第一阶段只看技能名和简介决定派谁(省 token),第二阶段才加载详细描述让员工干活
  • 多员工协作:一句话可以同时调度多个员工,按顺序执行
  • 安全策略:白名单命令自动执行,危险命令需要你确认,黑名单命令直接拒绝

安装方法

环境要求:Python >= 3.14,推荐使用 uv 管理

# 克隆项目
git clone https://github.com/novaair026-dev/StaffAI.git
cd StaffAI

# 安装依赖
uv sync

配置 API Key

# 复制配置模板
cp config.example.yaml config.yaml

打开 config.yaml,填入你的 API Key:

llm:
  api_key: "在这里填写你的 API Key"
  base_url: "https://api.deepseek.com"    # 支持所有 OpenAI 兼容 API
  model: "deepseek-chat"

支持的 API 服务商(只要兼容 OpenAI 接口格式的都行):

  • DeepSeek
  • 通义千问
  • Moonshot
  • 其他兼容服务商...

启动方法

uv run main.py

然后打开浏览器访问 http://127.0.0.1:7860 ,开始跟你的 AI 员工说话。


在员工技能目录自定义老板你的新 AI 员工技能扩展的方法

3 步创建一个新员工,不用写一行代码:

第 1 步:新建文件夹

员工技能目录/ 下新建一个文件夹,名字就是员工技能名称:

员工技能目录/
└── 查看天气/          ← 新建这个文件夹

第 2 步:写简要描述

在文件夹里创建 员工技能简要描述 文件,一句话说明这个员工能做什么:

用 curl 命令查看指定城市的天气预报。

第 3 步:写详细描述

创建 员工技能详细描述 文件,告诉 AI 员工具体怎么做:

用 curl 访问 wttr.in 来查看天气信息,命令使用示例如下:
curl wttr.in/北京
curl wttr.in/上海?format=3

完成。 下次你说"帮我看看北京天气",调度中枢会自动识别并派这个新员工上场。

现有员工示例

可以参考项目自带的两个员工,学习写法:

员工技能目录/
├── 发送通知文本/
│   ├── 员工技能简要描述    ← "有在Mac上面推送想要推送的通知。"
│   └── 员工技能详细描述    ← 包含 osascript 命令示例
└── 朗读文本/
    ├── 员工技能简要描述    ← "将一段需要朗读的自然段落文本在Mac上面朗读。"
    └── 员工技能详细描述    ← 包含 say 命令示例

深受其他老板喜爱的 AI 员工技能目录列表

技能名称 作者 仓库链接
发送通知文本 田健伸 内置
朗读文本 田健伸 内置

欢迎老板们提交你开发的员工技能,让更多一人公司受益。


项目结构

StaffAI/
├── main.py                  # 启动入口
├── config.yaml              # 你的配置(不上传 Git)
├── config.example.yaml      # 配置模板
├── staffai/                 # 核心系统
│   ├── config_manager.py    # 配置管理
│   ├── llm_client.py        # 大模型客户端
│   ├── skill_loader.py      # 技能加载器(两阶段加载)
│   ├── shell_executor.py    # Shell 执行器(安全策略)
│   ├── core.py              # 调度中枢
│   └── web_ui.py            # Web 界面
└── 员工技能目录/              # 你的 AI 员工们
    ├── 发送通知文本/
    └── 朗读文本/

作者

田健伸 — 紫辰一人公司创始人

联系方式:novaweb6868@outlook.com

独立开发,版权归作者所有。

开源协议

MIT License

About

看这里,给老板你开发的一人公司本地专用AI员工,在员工技能目录可根据你的想法自定义扩展你想要的各种员工,开发扩展新技能的AI员工无需老板你编程,0门槛用文字描述即可。StaffAI设计理念:“核心系统+可扩展的员工技能目录+命令行操作外围设备”。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages