fcop 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
fcop-0.2.1/.gitignore ADDED
@@ -0,0 +1,140 @@
1
+ # ── Secrets ──
2
+ .github_token
3
+ .gitee_token
4
+ gitee_release.py
5
+
6
+ # ── Python ──
7
+ __pycache__/
8
+ *.py[cod]
9
+ *$py.class
10
+ *.so
11
+ .Python
12
+ .venv/
13
+ venv/
14
+ ENV/
15
+ env/
16
+ *.egg-info/
17
+ *.egg
18
+ .eggs/
19
+ dist/
20
+ build/
21
+ .installed.cfg
22
+ pip-selfcheck.json
23
+ *.pyo
24
+
25
+ # ── 测试 & 覆盖率 ──
26
+ .pytest_cache/
27
+ .coverage
28
+ htmlcov/
29
+ .tox/
30
+ nosetests.xml
31
+ coverage.xml
32
+
33
+ # ── 类型检查 ──
34
+ .mypy_cache/
35
+ .dmypy.json
36
+ .pyright/
37
+
38
+ # ── 构建产物 ──
39
+ *.whl
40
+ *.tar.gz
41
+
42
+ # ── Node / PWA ──
43
+ node_modules/
44
+ .nuxt/
45
+ .next/
46
+ .output/
47
+
48
+ # ── IDE ──
49
+ .idea/
50
+ .vscode/
51
+ *.swp
52
+ *.swo
53
+ *~
54
+
55
+ # ── Cursor ──
56
+ .cursor/cache/
57
+
58
+ # ── 运行时 ──
59
+ .codeflow/runtime/
60
+ .CodeFlow/runtime/
61
+ *.log
62
+ *.tmp
63
+
64
+ # ── FCoP Agent 抽屉(私人空间,不入版本库;proposals 不在此列,需进 git)──
65
+ .fcop/drawer/
66
+
67
+ # ── 配置文件(含敏感信息,不提交) ──
68
+ codeflow_config.json
69
+ bridgeflow_config.json
70
+ .env
71
+ .env.*
72
+
73
+ # ── OS ──
74
+ .DS_Store
75
+ Thumbs.db
76
+ desktop.ini
77
+
78
+ # ── 私有文档(内部使用,含敏感信息,不发布到 GitHub) ──
79
+ private/
80
+
81
+ # ── 推广草稿(已移至 private/promotion/,private/ 整体忽略)──
82
+
83
+ # ── 临时文件 ──
84
+ _patch_*.py
85
+ _rebuild*.py
86
+ *.bak
87
+ _commit_msg*.txt
88
+
89
+ # ── 含 Token 的一次性脚本(勿提交)──
90
+ _check_repo.py
91
+ _push_pwa_direct.py
92
+ _push_pwa_ghpages.py
93
+ _reset_pwa_repo.py
94
+ _set_github_secret.py
95
+ _set_secret_fix.py
96
+ _set_secret_main_repo.py
97
+ _trigger_deploy.py
98
+
99
+ # ── 本地快照 / 多人杂项(勿提交)──
100
+ _pages_tmp/
101
+
102
+ # ── 第三方外部技能库(本地克隆,不提交到主仓库)──
103
+ external/
104
+
105
+ # ── codeflow-desktop 调试与测试产物 ──
106
+ codeflow-desktop/build_snap/
107
+ codeflow-desktop/dist_snap/
108
+ codeflow-desktop/_*.py
109
+ codeflow-desktop/_*.png
110
+ codeflow-desktop/test_*.png
111
+ codeflow-desktop/cursor_screenshot.png
112
+ codeflow-desktop/cursor_vision_report.json
113
+ codeflow-desktop/pack_log.txt
114
+ codeflow-desktop/*.bak
115
+ codeflow-desktop/_release_notes.md
116
+
117
+ # PyInstaller 命令行生成的 spec(日常以 build.spec、pack.cmd 为准)
118
+ codeflow-desktop/CodeFlow-Desktop.spec
119
+
120
+ # ── 根目录运维/调试脚本(统一放 private/) ──
121
+ _check_nginx.py
122
+ _deploy_pwa.py
123
+ _deploy_pwa_direct.py
124
+ _deploy_relay.py
125
+ _fix_relay.py
126
+ _scan_cursor_db.py
127
+ _patch_*.py
128
+ _rebuild*.py
129
+ commitmsg.txt
130
+ _pages_tmp/
131
+
132
+ # ── 敏感文件 ──
133
+ .github_token
134
+ private/
135
+
136
+ # ── bridgeflow-nudger(旧版,已被 codeflow-desktop 替代)──
137
+ bridgeflow-nudger/
138
+
139
+ # ── examples/private(内部文档)──
140
+ examples/private/
fcop-0.2.1/PKG-INFO ADDED
@@ -0,0 +1,127 @@
1
+ Metadata-Version: 2.4
2
+ Name: fcop
3
+ Version: 0.2.1
4
+ Summary: MCP toolbox for FCoP — the File-based Coordination Protocol for multi-agent collaboration.
5
+ Project-URL: Homepage, https://github.com/joinwell52-AI/codeflow-pwa
6
+ Project-URL: Repository, https://github.com/joinwell52-AI/codeflow-pwa
7
+ Project-URL: Issues, https://github.com/joinwell52-AI/codeflow-pwa/issues
8
+ Author: CodeFlow Team
9
+ License-Expression: MIT
10
+ Keywords: claude,codeflow,cursor,fcop,file-based-protocol,mcp,multi-agent
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Software Development
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: fastmcp>=3.2.0
24
+ Requires-Dist: websockets>=12.0
25
+ Description-Content-Type: text/markdown
26
+
27
+ # 码流(CodeFlow)— Multi-AI Agent Collaboration Plugin
28
+
29
+ 让多个 Cursor Agent 像团队一样协作。
30
+
31
+ ## 这是什么?
32
+
33
+ **码流(CodeFlow)** 是一个 Cursor 插件,解决一个核心问题:**Cursor 里开多个 Agent,它们各干各的,互相不知道对方在干什么。**
34
+
35
+ 安装插件后,Agent 自动获得:
36
+
37
+ - 角色身份(知道自己是谁)
38
+ - 协作协议(知道怎么交接任务)
39
+ - 自动巡检(知道去哪接任务)
40
+
41
+ ## 三套预设团队
42
+
43
+ | 模板 | 角色 | 适合场景 |
44
+ |------|------|----------|
45
+ | **dev-team** | PM + DEV + QA + OPS | 软件开发 |
46
+ | **media-team** | PUBLISHER + COLLECTOR + WRITER + EDITOR | 自媒体内容 |
47
+ | **mvp-team** | MARKETER + RESEARCHER + DESIGNER + BUILDER | 创业 MVP |
48
+
49
+ ## 安装
50
+
51
+ ### 本地安装(开发测试)
52
+
53
+ ```bash
54
+ # 克隆本仓库后,将插件目录链到 Cursor 插件目录(示例)
55
+ # Windows
56
+ mklink /D "%USERPROFILE%\.cursor\plugins\local\codeflow" "D:\\CodeFlow\\codeflow-plugin"
57
+ # macOS/Linux
58
+ ln -s /path/to/codeflow-plugin ~/.cursor/plugins/local/codeflow
59
+ ```
60
+
61
+ 重启 Cursor 即可。`mcp.json` 中 **`args`** 请指向本机 **`codeflow-plugin\scripts\mcp_server.py`** 的绝对路径。
62
+
63
+ ### Marketplace 安装
64
+
65
+ 搜索 **CodeFlow** 或 **码流**(审核通过后可用)。
66
+
67
+ ## 快速开始
68
+
69
+ 1. 安装插件
70
+ 2. 打开项目,在 Agent 中说:`初始化码流开发团队`(或按 MCP 工具说明调用 `init_project`)
71
+ 3. 插件自动创建 `docs/agents/` 目录和角色配置
72
+ 4. 开多个 Agent 窗口,每个分配一个角色
73
+ 5. 对主控角色说「开始工作」
74
+
75
+ ## MCP Tools
76
+
77
+ | 工具 | 功能 |
78
+ |------|------|
79
+ | `init_project` | 初始化项目协作空间 |
80
+ | `get_team_status` | 查看团队状态 |
81
+ | `list_tasks` | 列出任务 |
82
+ | `read_task` | 读取任务详情 |
83
+ | `write_task` | 创建新任务 |
84
+ | `list_reports` | 列出报告 |
85
+ | `read_report` | 读取报告详情 |
86
+ | `list_issues` | 列出问题 |
87
+ | `archive_task` | 归档已完成任务 |
88
+ | `get_available_teams` | 查看可用团队模板 |
89
+
90
+ ## 文件协议
91
+
92
+ Agent 之间通过 Markdown 文件通信:
93
+
94
+ ```
95
+ docs/agents/
96
+ ├── tasks/ ← 任务单
97
+ ├── reports/ ← 完成报告
98
+ ├── issues/ ← 问题记录
99
+ └── log/ ← 历史归档
100
+ ```
101
+
102
+ 团队配置优先写入 **`docs/agents/codeflow.json`**(兼容旧版 **`CodeFlow.json`**)。
103
+
104
+ ## 中继桥接(Phase 2)
105
+
106
+ 未设置 `CODEFLOW_ROOM_KEY`(或旧名 `CODEFLOW_ROOM_KEY`)时,MCP 仅操作本地 `docs/agents/`,不连中继。
107
+
108
+ 要与手机端 PWA 同步,请在 MCP 配置的 `env` 中设置:
109
+
110
+ | 变量 | 说明 |
111
+ |------|------|
112
+ | `CODEFLOW_PROJECT_DIR` 或 `CODEFLOW_PROJECT_DIR` | 项目根目录(含 `docs/agents/`) |
113
+ | `CODEFLOW_ROOM_KEY` 或 `CODEFLOW_ROOM_KEY` | 非空即启用后台线程连接中继 |
114
+ | `CODEFLOW_RELAY_WS_URL` 或 `CODEFLOW_RELAY_WS_URL` | 中继 WebSocket,默认 `ws://127.0.0.1:5252` |
115
+ | `CODEFLOW_DEVICE_ID` 或 `CODEFLOW_DEVICE_ID` | 本机 MCP 设备 ID,默认 `codeflow-mcp` |
116
+
117
+ 依赖:`pip install -r codeflow-plugin/requirements.txt`(含 `websockets`)。
118
+
119
+ ## 打开本机控制面板(`http://127.0.0.1:18765/`)
120
+
121
+ 想在 Cursor 内嵌一个面板视图,请使用仓库内 **`codeflow-desktop/cursor-extension/`** 下的 VSIX 扩展 `codeflow-panel-launcher`(命令:`CodeFlow: 打开控制面板` / `codeflow.openPanel`)。它走 VS Code 扩展 API,无需 Python、不模拟键盘、不抢焦点。
122
+
123
+ 前置:已运行 **CodeFlow-Desktop.exe**,`127.0.0.1:18765` 可访问。
124
+
125
+ ## License
126
+
127
+ MIT
fcop-0.2.1/README.md ADDED
@@ -0,0 +1,101 @@
1
+ # 码流(CodeFlow)— Multi-AI Agent Collaboration Plugin
2
+
3
+ 让多个 Cursor Agent 像团队一样协作。
4
+
5
+ ## 这是什么?
6
+
7
+ **码流(CodeFlow)** 是一个 Cursor 插件,解决一个核心问题:**Cursor 里开多个 Agent,它们各干各的,互相不知道对方在干什么。**
8
+
9
+ 安装插件后,Agent 自动获得:
10
+
11
+ - 角色身份(知道自己是谁)
12
+ - 协作协议(知道怎么交接任务)
13
+ - 自动巡检(知道去哪接任务)
14
+
15
+ ## 三套预设团队
16
+
17
+ | 模板 | 角色 | 适合场景 |
18
+ |------|------|----------|
19
+ | **dev-team** | PM + DEV + QA + OPS | 软件开发 |
20
+ | **media-team** | PUBLISHER + COLLECTOR + WRITER + EDITOR | 自媒体内容 |
21
+ | **mvp-team** | MARKETER + RESEARCHER + DESIGNER + BUILDER | 创业 MVP |
22
+
23
+ ## 安装
24
+
25
+ ### 本地安装(开发测试)
26
+
27
+ ```bash
28
+ # 克隆本仓库后,将插件目录链到 Cursor 插件目录(示例)
29
+ # Windows
30
+ mklink /D "%USERPROFILE%\.cursor\plugins\local\codeflow" "D:\\CodeFlow\\codeflow-plugin"
31
+ # macOS/Linux
32
+ ln -s /path/to/codeflow-plugin ~/.cursor/plugins/local/codeflow
33
+ ```
34
+
35
+ 重启 Cursor 即可。`mcp.json` 中 **`args`** 请指向本机 **`codeflow-plugin\scripts\mcp_server.py`** 的绝对路径。
36
+
37
+ ### Marketplace 安装
38
+
39
+ 搜索 **CodeFlow** 或 **码流**(审核通过后可用)。
40
+
41
+ ## 快速开始
42
+
43
+ 1. 安装插件
44
+ 2. 打开项目,在 Agent 中说:`初始化码流开发团队`(或按 MCP 工具说明调用 `init_project`)
45
+ 3. 插件自动创建 `docs/agents/` 目录和角色配置
46
+ 4. 开多个 Agent 窗口,每个分配一个角色
47
+ 5. 对主控角色说「开始工作」
48
+
49
+ ## MCP Tools
50
+
51
+ | 工具 | 功能 |
52
+ |------|------|
53
+ | `init_project` | 初始化项目协作空间 |
54
+ | `get_team_status` | 查看团队状态 |
55
+ | `list_tasks` | 列出任务 |
56
+ | `read_task` | 读取任务详情 |
57
+ | `write_task` | 创建新任务 |
58
+ | `list_reports` | 列出报告 |
59
+ | `read_report` | 读取报告详情 |
60
+ | `list_issues` | 列出问题 |
61
+ | `archive_task` | 归档已完成任务 |
62
+ | `get_available_teams` | 查看可用团队模板 |
63
+
64
+ ## 文件协议
65
+
66
+ Agent 之间通过 Markdown 文件通信:
67
+
68
+ ```
69
+ docs/agents/
70
+ ├── tasks/ ← 任务单
71
+ ├── reports/ ← 完成报告
72
+ ├── issues/ ← 问题记录
73
+ └── log/ ← 历史归档
74
+ ```
75
+
76
+ 团队配置优先写入 **`docs/agents/codeflow.json`**(兼容旧版 **`CodeFlow.json`**)。
77
+
78
+ ## 中继桥接(Phase 2)
79
+
80
+ 未设置 `CODEFLOW_ROOM_KEY`(或旧名 `CODEFLOW_ROOM_KEY`)时,MCP 仅操作本地 `docs/agents/`,不连中继。
81
+
82
+ 要与手机端 PWA 同步,请在 MCP 配置的 `env` 中设置:
83
+
84
+ | 变量 | 说明 |
85
+ |------|------|
86
+ | `CODEFLOW_PROJECT_DIR` 或 `CODEFLOW_PROJECT_DIR` | 项目根目录(含 `docs/agents/`) |
87
+ | `CODEFLOW_ROOM_KEY` 或 `CODEFLOW_ROOM_KEY` | 非空即启用后台线程连接中继 |
88
+ | `CODEFLOW_RELAY_WS_URL` 或 `CODEFLOW_RELAY_WS_URL` | 中继 WebSocket,默认 `ws://127.0.0.1:5252` |
89
+ | `CODEFLOW_DEVICE_ID` 或 `CODEFLOW_DEVICE_ID` | 本机 MCP 设备 ID,默认 `codeflow-mcp` |
90
+
91
+ 依赖:`pip install -r codeflow-plugin/requirements.txt`(含 `websockets`)。
92
+
93
+ ## 打开本机控制面板(`http://127.0.0.1:18765/`)
94
+
95
+ 想在 Cursor 内嵌一个面板视图,请使用仓库内 **`codeflow-desktop/cursor-extension/`** 下的 VSIX 扩展 `codeflow-panel-launcher`(命令:`CodeFlow: 打开控制面板` / `codeflow.openPanel`)。它走 VS Code 扩展 API,无需 Python、不模拟键盘、不抢焦点。
96
+
97
+ 前置:已运行 **CodeFlow-Desktop.exe**,`127.0.0.1:18765` 可访问。
98
+
99
+ ## License
100
+
101
+ MIT
@@ -0,0 +1,53 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.21"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "fcop"
7
+ version = "0.2.1"
8
+ description = "MCP toolbox for FCoP — the File-based Coordination Protocol for multi-agent collaboration."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ authors = [
13
+ { name = "CodeFlow Team" },
14
+ ]
15
+ keywords = ["fcop", "mcp", "codeflow", "multi-agent", "cursor", "claude", "file-based-protocol"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Environment :: Console",
19
+ "Intended Audience :: Developers",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Topic :: Software Development",
27
+ "Topic :: Software Development :: Libraries :: Python Modules",
28
+ ]
29
+ dependencies = [
30
+ "fastmcp>=3.2.0",
31
+ "websockets>=12.0",
32
+ ]
33
+
34
+ [project.scripts]
35
+ fcop = "codeflow_mcp.server:main"
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/joinwell52-AI/codeflow-pwa"
39
+ Repository = "https://github.com/joinwell52-AI/codeflow-pwa"
40
+ Issues = "https://github.com/joinwell52-AI/codeflow-pwa/issues"
41
+
42
+ [tool.hatch.build.targets.wheel]
43
+ packages = ["src/codeflow_mcp"]
44
+
45
+ [tool.hatch.build.targets.wheel.force-include]
46
+ "src/codeflow_mcp/_data/codeflow-core.mdc" = "codeflow_mcp/_data/codeflow-core.mdc"
47
+
48
+ [tool.hatch.build.targets.sdist]
49
+ include = [
50
+ "src/codeflow_mcp",
51
+ "README.md",
52
+ "requirements.txt",
53
+ ]
@@ -0,0 +1,3 @@
1
+ # CodeFlow MCP Server (codeflow-plugin/scripts/mcp_server.py)
2
+ fastmcp>=3.2.0
3
+ websockets>=12.0
@@ -0,0 +1,7 @@
1
+ """CodeFlow MCP — the FCoP toolbox (码流)."""
2
+
3
+ __version__ = "0.2.1"
4
+
5
+ from .server import main
6
+
7
+ __all__ = ["main", "__version__"]
@@ -0,0 +1,4 @@
1
+ from .server import main
2
+
3
+ if __name__ == "__main__":
4
+ main()