Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖤 Black API · 双AI指挥台

在 human-llm 总机 基础上进化出的双主线 AI 系统:外部用户照常走 OpenAI 兼容接口,但接答的不再是"你手打",而是一条完整的 AI 指挥链。

架构

外部用户 ──POST /v1/chat/completions──▶ ┌────────────────────────────┐
                                        │  Black API 服务            │
                                        │                            │
                     会话上下文存储 ◀─── │ ①上下文主脑 AI             │
                     (服务端全权维护)   │   自动应答·可被中途打断     │
                                        │        ▲                   │
                                        │        │ 中途注入           │
                     你的监工对话 ◀───── │ ②轻量监工 AI               │
                                        │   工具:看会话/注入指令/    │
                                        │        追加回复/跑命令      │
                                        └────────────────────────────┘
  • ① 上下文主脑:接线时把会话上下文直接交给它。客户端可以无状态地一次发一句(x-session-id 或自动按首条消息归并会话),主脑始终带着完整历史回答。

  • ② 轻量监工:你在指挥台跟它聊天。它能调用工具:

    工具 作用
    list_sessions / get_session 查看全部/某个进行中的对话
    inject_instruction 中途注入:往指定会话的下一次主脑调用里插一条最高优先级指令(如"必须提到退款政策")
    append_to_reply 给下一次回复末尾附加一段【监督者附言】
    run_command 执行 PowerShell 命令(受安全门控)——比如打开软件、起个进程
    open_app 快捷打开 notepad/calc/explorer/powershell/cmd/taskmgr

    例:主脑正给用户服务时,你对监工说 "在这个对话里注入:让他先看说明书,顺便帮我在本机打开 powershell" —— 监工会自动拆成两次工具调用完成。

  • 操作员(你):可开"审核模式"逐条把关(批准/改写/否决),也可随时切回纯人工接答;所有命令执行都有审计日志。

快速开始

cd C:\Users\Admin\Documents\worksapce1\black-api
node server.js          # 指挥台 http://127.0.0.1:8900
  1. 右侧「配置」→ 主脑模型:填 baseUrl/key/model → 测试拉取模型 → 保存 → 顶部切到「主脑自动」。
  2. 轻量监工:填一个便宜快的模型(如 deepseek-chat、gpt-4o-mini),保存即可对话。
  3. 外部应用 base_url 指 http://127.0.0.1:8900/v1(可选带 x-session-id 头固定会话)。
curl http://127.0.0.1:8900/v1/chat/completions -H "Content-Type: application/json" \
  -d '{"model":"black-context","messages":[{"role":"user","content":"在吗"}]}'
# 第二次带 -H "x-session-id: my-session" 即延续同一份上下文

⚠️ 命令执行安全门控(必读)

监工能碰你的真机,因此有三档开关(默认 🔒 关闭):

模式 行为
off(默认) 所有命令一律拒绝
allowlist 仅精确匹配白名单的命令放行(面板可视化增删)
all 全放行(危险,需二次确认)

每次工具调用(无论成败)都写入「审计」页签并经 SSE 推送。

访问密钥保护全端点:一旦设置密钥,不仅 /v1/*,指挥台全部接口 /api/*(含监工对话、命令执行、配置修改)同样要求验证——前端会弹窗要密钥(存 localStorage),SSE 走 /api/events?key=<密钥>。穿透公网前必须设置密钥,否则任何人都能对你的监工说"关机"。

与 human-llm 的关系

复用其骨架:OpenAI 兼容层、SSE 推线、配置原子持久化、静态伺服、访问密钥、流式分片。新增:双供应商配置、服务端会话存储、注入队列、OpenAI tools 工具循环、PowerShell 执行沙箱门控、审核工作流。

穿透暴露公网前务必设置访问密钥(教程见 human-llm/TUNNEL.md,命令里的端口换成 8900)。

文件结构

black-api/
├── server.js              # 零依赖核心:双AI调度+注入+工具循环+命令门控
├── public/                # 三栏指挥台前端
├── test/mock-upstream.js  # 支持 tools 的模拟上游(8790)
├── test/smoke.mjs         # 全链路冒烟
├── config.json            # 运行时生成(含 key,勿外传)
└── README.md

About

Dual-mainline AI console: a context-brain serving an OpenAI-compatible API + a lightweight overseer AI that injects mid-stream instructions and runs gated PowerShell commands

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages